diff --git a/README.md b/README.md
index 9d5efb5..504447e 100644
--- a/README.md
+++ b/README.md
@@ -1,50 +1,7 @@
-Also see the Khronos landing page for glslang as a reference front end:
+Private version of glslang for Khronos-internal development.
 
-https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
-
-The above page includes where to get binaries, and is kept up to date
-regarding the feature level of glslang.
-
-glslang
-=======
-
-[![Build Status](https://travis-ci.org/KhronosGroup/glslang.svg?branch=master)](https://travis-ci.org/KhronosGroup/glslang)
-[![Build status](https://ci.appveyor.com/api/projects/status/q6fi9cb0qnhkla68/branch/master?svg=true)](https://ci.appveyor.com/project/Khronoswebmaster/glslang/branch/master)
-
-An OpenGL and OpenGL ES shader front end and validator.
-
-There are several components:
-
-1. A GLSL/ESSL front-end for reference validation and translation of GLSL/ESSL into an AST.
-
-2. An HLSL front-end for translation of a broad generic HLL into the AST. See [issue 362](https://github.com/KhronosGroup/glslang/issues/362) and [issue 701](https://github.com/KhronosGroup/glslang/issues/701) for current status.
-
-3. A SPIR-V back end for translating the AST to SPIR-V.
-
-4. A standalone wrapper, `glslangValidator`, that can be used as a command-line tool for the above.
-
-How to add a feature protected by a version/extension/stage/profile:  See the
-comment in `glslang/MachineIndependent/Versions.cpp`.
-
-Tasks waiting to be done are documented as GitHub issues.
-
-Execution of Standalone Wrapper
--------------------------------
-
-To use the standalone binary form, execute `glslangValidator`, and it will print
-a usage statement.  Basic operation is to give it a file containing a shader,
-and it will print out warnings/errors and optionally an AST.
-
-The applied stage-specific rules are based on the file extension:
-* `.vert` for a vertex shader
-* `.tesc` for a tessellation control shader
-* `.tese` for a tessellation evaluation shader
-* `.geom` for a geometry shader
-* `.frag` for a fragment shader
-* `.comp` for a compute shader
-
-There is also a non-shader extension
-* `.conf` for a configuration file of limits, see usage statement for example
+MRs to add functionality must be accompanied by simple regression tests, which are supplied with the gtests framework.
+See instructions below.
 
 Building
 --------
@@ -54,7 +11,7 @@
 * [CMake][cmake]: for generating compilation targets.
 * [Python 2.7][python]: for executing SPIRV-Tools scripts. (Optional if not using SPIRV-Tools.)
 * [bison][bison]: _optional_, but needed when changing the grammar (glslang.y).
-* [googletest][googletest]: _optional_, but should use if making any changes to glslang.
+* [googletest][googletest]: needed if making any changes to glslang.
 
 ### Build steps
 
@@ -63,9 +20,9 @@
 ```bash
 cd <parent of where you want glslang to be>
 # If using SSH
-git clone git@github.com:KhronosGroup/glslang.git
+git clone git@gitlab.khronos.org:GLSL/glslang.git
 # Or if using HTTPS
-git clone https://github.com/KhronosGroup/glslang.git
+git clone https://gitlab.khronos.org/GLSL/glslang.git
 ```
 
 #### 2) Check-Out External Projects
diff --git a/SPIRV/GLSL.ext.AMD.h b/SPIRV/GLSL.ext.AMD.h
index 7e97be3..d4f57ef 100644
--- a/SPIRV/GLSL.ext.AMD.h
+++ b/SPIRV/GLSL.ext.AMD.h
@@ -104,14 +104,7 @@
 // SPV_AMD_shader_image_load_store_lod
 static const char* const E_SPV_AMD_shader_image_load_store_lod = "SPV_AMD_shader_image_load_store_lod";
 
-static const Capability CapabilityImageReadWriteLodAMD = static_cast<Capability>(5015);
-
 // SPV_AMD_shader_fragment_mask
 static const char* const E_SPV_AMD_shader_fragment_mask = "SPV_AMD_shader_fragment_mask";
 
-static const Capability CapabilityFragmentMaskAMD = static_cast<Capability>(5010);
-
-static const Op OpFragmentMaskFetchAMD = static_cast<Op>(5011);
-static const Op OpFragmentFetchAMD     = static_cast<Op>(5012);
-
 #endif  // #ifndef GLSLextAMD_H
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
old mode 100755
new mode 100644
index a6bd4d7..0662787
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2014-2016 LunarG, Inc.
 // Copyright (C) 2015-2016 Google, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -174,10 +175,12 @@
     spv::Id createUnaryOperation(glslang::TOperator op, spv::Decoration precision, spv::Decoration noContraction, spv::Id typeId, spv::Id operand,glslang::TBasicType typeProxy);
     spv::Id createUnaryMatrixOperation(spv::Op op, spv::Decoration precision, spv::Decoration noContraction, spv::Id typeId, spv::Id operand,glslang::TBasicType typeProxy);
     spv::Id createConversion(glslang::TOperator op, spv::Decoration precision, spv::Decoration noContraction, spv::Id destTypeId, spv::Id operand, glslang::TBasicType typeProxy);
+    spv::Id createConversionOperation(glslang::TOperator op, spv::Id operand, int vectorSize);
     spv::Id makeSmearedConstant(spv::Id constant, int vectorSize);
     spv::Id createAtomicOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy);
     spv::Id createInvocationsOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy);
     spv::Id CreateInvocationsVectorOperation(spv::Op op, spv::GroupOperation groupOperation, spv::Id typeId, std::vector<spv::Id>& operands);
+    spv::Id createSubgroupOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy);
     spv::Id createMiscOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy);
     spv::Id createNoArgOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId);
     spv::Id getSymbolId(const glslang::TIntermSymbol* node);
@@ -581,6 +584,46 @@
         builder.addCapability(spv::CapabilitySubgroupBallotKHR);
         return spv::BuiltInSubgroupLtMaskKHR;
 
+    case glslang::EbvNumSubgroups:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        return spv::BuiltInNumSubgroups;
+
+    case glslang::EbvSubgroupID:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        return spv::BuiltInSubgroupId;
+
+    case glslang::EbvSubgroupSize2:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        return spv::BuiltInSubgroupSize;
+
+    case glslang::EbvSubgroupInvocation2:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        return spv::BuiltInSubgroupLocalInvocationId;
+
+    case glslang::EbvSubgroupEqMask2:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformBallot);
+        return spv::BuiltInSubgroupEqMask;
+
+    case glslang::EbvSubgroupGeMask2:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformBallot);
+        return spv::BuiltInSubgroupGeMask;
+
+    case glslang::EbvSubgroupGtMask2:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformBallot);
+        return spv::BuiltInSubgroupGtMask;
+
+    case glslang::EbvSubgroupLeMask2:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformBallot);
+        return spv::BuiltInSubgroupLeMask;
+
+    case glslang::EbvSubgroupLtMask2:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformBallot);
+        return spv::BuiltInSubgroupLtMask;
 #ifdef AMD_EXTENSIONS
     case glslang::EbvBaryCoordNoPersp:
         builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
@@ -652,7 +695,7 @@
             builder.addCapability(spv::CapabilityPerViewAttributesNV);
         }
         return spv::BuiltInViewportMaskPerViewNV;
-#endif 
+#endif
     default:
         return spv::BuiltInMax;
     }
@@ -889,6 +932,7 @@
       inEntryPoint(false), entryPointTerminated(false), linkageOnly(false),
       glslangIntermediate(glslangIntermediate)
 {
+    builder.setTargetVersion(glslangIntermediate->getSpv().spv);
     spv::ExecutionModel executionModel = TranslateExecutionModel(glslangIntermediate->getStage());
 
     builder.clearAccessChain();
@@ -1417,16 +1461,14 @@
                 one = builder.makeFloatConstant(1.0F);
             else if (node->getBasicType() == glslang::EbtDouble)
                 one = builder.makeDoubleConstant(1.0);
-#ifdef AMD_EXTENSIONS
             else if (node->getBasicType() == glslang::EbtFloat16)
                 one = builder.makeFloat16Constant(1.0F);
-#endif
-            else if (node->getBasicType() == glslang::EbtInt64 || node->getBasicType() == glslang::EbtUint64)
-                one = builder.makeInt64Constant(1);
-#ifdef AMD_EXTENSIONS
+            else if (node->getBasicType() == glslang::EbtInt8  || node->getBasicType() == glslang::EbtUint8)
+                one = builder.makeInt8Constant(1);
             else if (node->getBasicType() == glslang::EbtInt16 || node->getBasicType() == glslang::EbtUint16)
                 one = builder.makeInt16Constant(1);
-#endif
+            else if (node->getBasicType() == glslang::EbtInt64 || node->getBasicType() == glslang::EbtUint64)
+                one = builder.makeInt64Constant(1);
             else
                 one = builder.makeIntConstant(1);
             glslang::TOperator op;
@@ -1631,7 +1673,6 @@
     case glslang::EOpConstructBMat4x2:
     case glslang::EOpConstructBMat4x3:
     case glslang::EOpConstructBMat4x4:
-#ifdef AMD_EXTENSIONS
     case glslang::EOpConstructF16Mat2x2:
     case glslang::EOpConstructF16Mat2x3:
     case glslang::EOpConstructF16Mat2x4:
@@ -1641,7 +1682,6 @@
     case glslang::EOpConstructF16Mat4x2:
     case glslang::EOpConstructF16Mat4x3:
     case glslang::EOpConstructF16Mat4x4:
-#endif
         isMatrix = true;
         // fall through
     case glslang::EOpConstructFloat:
@@ -1652,16 +1692,30 @@
     case glslang::EOpConstructDVec2:
     case glslang::EOpConstructDVec3:
     case glslang::EOpConstructDVec4:
-#ifdef AMD_EXTENSIONS
     case glslang::EOpConstructFloat16:
     case glslang::EOpConstructF16Vec2:
     case glslang::EOpConstructF16Vec3:
     case glslang::EOpConstructF16Vec4:
-#endif
     case glslang::EOpConstructBool:
     case glslang::EOpConstructBVec2:
     case glslang::EOpConstructBVec3:
     case glslang::EOpConstructBVec4:
+    case glslang::EOpConstructInt8:
+    case glslang::EOpConstructI8Vec2:
+    case glslang::EOpConstructI8Vec3:
+    case glslang::EOpConstructI8Vec4:
+    case glslang::EOpConstructUint8:
+    case glslang::EOpConstructU8Vec2:
+    case glslang::EOpConstructU8Vec3:
+    case glslang::EOpConstructU8Vec4:
+    case glslang::EOpConstructInt16:
+    case glslang::EOpConstructI16Vec2:
+    case glslang::EOpConstructI16Vec3:
+    case glslang::EOpConstructI16Vec4:
+    case glslang::EOpConstructUint16:
+    case glslang::EOpConstructU16Vec2:
+    case glslang::EOpConstructU16Vec3:
+    case glslang::EOpConstructU16Vec4:
     case glslang::EOpConstructInt:
     case glslang::EOpConstructIVec2:
     case glslang::EOpConstructIVec3:
@@ -1678,16 +1732,6 @@
     case glslang::EOpConstructU64Vec2:
     case glslang::EOpConstructU64Vec3:
     case glslang::EOpConstructU64Vec4:
-#ifdef AMD_EXTENSIONS
-    case glslang::EOpConstructInt16:
-    case glslang::EOpConstructI16Vec2:
-    case glslang::EOpConstructI16Vec3:
-    case glslang::EOpConstructI16Vec4:
-    case glslang::EOpConstructUint16:
-    case glslang::EOpConstructU16Vec2:
-    case glslang::EOpConstructU16Vec3:
-    case glslang::EOpConstructU16Vec4:
-#endif
     case glslang::EOpConstructStruct:
     case glslang::EOpConstructTextureSampler:
     {
@@ -1767,6 +1811,11 @@
     case glslang::EOpGroupMemoryBarrierWithGroupSync:
     case glslang::EOpWorkgroupMemoryBarrier:
     case glslang::EOpWorkgroupMemoryBarrierWithGroupSync:
+    case glslang::EOpSubgroupBarrier:
+    case glslang::EOpSubgroupMemoryBarrier:
+    case glslang::EOpSubgroupMemoryBarrierBuffer:
+    case glslang::EOpSubgroupMemoryBarrierImage:
+    case glslang::EOpSubgroupMemoryBarrierShared:
         noReturnValue = true;
         // These all have 0 operands and will naturally finish up in the code below for 0 operands
         break;
@@ -1990,7 +2039,7 @@
 
         // smear condition to vector, if necessary (AST is always scalar)
         if (builder.isVector(trueValue))
-            condition = builder.smearScalar(spv::NoPrecision, condition, 
+            condition = builder.smearScalar(spv::NoPrecision, condition,
                                             builder.makeVectorType(builder.makeBoolType(),
                                                                    builder.getNumComponents(trueValue)));
 
@@ -2248,7 +2297,6 @@
     spv::StorageClass storageClass = TranslateStorageClass(node->getType());
     spv::Id spvType = convertGlslangToSpvType(node->getType());
 
-#ifdef AMD_EXTENSIONS
     const bool contains16BitType = node->getType().containsBasicType(glslang::EbtFloat16) ||
                                    node->getType().containsBasicType(glslang::EbtInt16)   ||
                                    node->getType().containsBasicType(glslang::EbtUint16);
@@ -2266,7 +2314,6 @@
                 builder.addCapability(spv::CapabilityStorageUniformBufferBlock16);
         }
     }
-#endif
 
     const char* name = node->getName().c_str();
     if (glslang::IsAnonymous(name))
@@ -2343,12 +2390,13 @@
     case glslang::EbtDouble:
         spvType = builder.makeFloatType(64);
         break;
-#ifdef AMD_EXTENSIONS
     case glslang::EbtFloat16:
+        builder.addCapability(spv::CapabilityFloat16);
+#if AMD_EXTENSIONS
         builder.addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
+#endif
         spvType = builder.makeFloatType(16);
         break;
-#endif
     case glslang::EbtBool:
         // "transparent" bool doesn't exist in SPIR-V.  The GLSL convention is
         // a 32-bit int where non-0 means true.
@@ -2357,6 +2405,26 @@
         else
             spvType = builder.makeBoolType();
         break;
+   case glslang::EbtInt8:
+        builder.addCapability(spv::CapabilityInt8);
+        spvType = builder.makeIntType(8);
+        break;
+    case glslang::EbtUint8:
+        builder.addCapability(spv::CapabilityInt8);
+        spvType = builder.makeUintType(8);
+   case glslang::EbtInt16:
+        builder.addCapability(spv::CapabilityInt16);
+#ifdef AMD_EXTENSIONS
+        builder.addExtension(spv::E_SPV_AMD_gpu_shader_int16);
+#endif
+        spvType = builder.makeIntType(16);
+        break;
+    case glslang::EbtUint16:
+        builder.addCapability(spv::CapabilityInt16);
+#ifdef AMD_EXTENSIONS
+        builder.addExtension(spv::E_SPV_AMD_gpu_shader_int16);
+#endif
+        spvType = builder.makeUintType(16);
     case glslang::EbtInt:
         spvType = builder.makeIntType(32);
         break;
@@ -2369,16 +2437,6 @@
     case glslang::EbtUint64:
         spvType = builder.makeUintType(64);
         break;
-#ifdef AMD_EXTENSIONS
-    case glslang::EbtInt16:
-        builder.addExtension(spv::E_SPV_AMD_gpu_shader_int16);
-        spvType = builder.makeIntType(16);
-        break;
-    case glslang::EbtUint16:
-        builder.addExtension(spv::E_SPV_AMD_gpu_shader_int16);
-        spvType = builder.makeUintType(16);
-        break;
-#endif
     case glslang::EbtAtomicUint:
         builder.addCapability(spv::CapabilityAtomicStorage);
         spvType = builder.makeUintType(32);
@@ -3682,13 +3740,8 @@
                                                       spv::Id typeId, spv::Id left, spv::Id right,
                                                       glslang::TBasicType typeProxy, bool reduceComparison)
 {
-#ifdef AMD_EXTENSIONS
-    bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64 || typeProxy == glslang::EbtUint16;
-    bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
-#else
-    bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
-    bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
-#endif
+    bool isUnsigned = isTypeUnsignedInt(typeProxy);
+    bool isFloat = isTypeFloat(typeProxy);
     bool isBool = typeProxy == glslang::EbtBool;
 
     spv::Op binOp = spv::OpNop;
@@ -4013,13 +4066,8 @@
     spv::Op unaryOp = spv::OpNop;
     int extBuiltins = -1;
     int libCall = -1;
-#ifdef AMD_EXTENSIONS
-    bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64 || typeProxy == glslang::EbtUint16;
-    bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
-#else
-    bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
-    bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
-#endif
+    bool isUnsigned = isTypeUnsignedInt(typeProxy);
+    bool isFloat = isTypeFloat(typeProxy);
 
     switch (op) {
     case glslang::EOpNegative:
@@ -4156,12 +4204,10 @@
     case glslang::EOpDoubleBitsToUint64:
     case glslang::EOpInt64BitsToDouble:
     case glslang::EOpUint64BitsToDouble:
-#ifdef AMD_EXTENSIONS
     case glslang::EOpFloat16BitsToInt16:
     case glslang::EOpFloat16BitsToUint16:
     case glslang::EOpInt16BitsToFloat16:
     case glslang::EOpUint16BitsToFloat16:
-#endif
         unaryOp = spv::OpBitcast;
         break;
 
@@ -4206,10 +4252,12 @@
     case glslang::EOpUnpackInt2x32:
     case glslang::EOpPackUint2x32:
     case glslang::EOpUnpackUint2x32:
-        unaryOp = spv::OpBitcast;
-        break;
-
-#ifdef AMD_EXTENSIONS
+    case glslang::EOpPack16:
+    case glslang::EOpPack32:
+    case glslang::EOpPack64:
+    case glslang::EOpUnpack32:
+    case glslang::EOpUnpack16:
+    case glslang::EOpUnpack8:
     case glslang::EOpPackInt2x16:
     case glslang::EOpUnpackInt2x16:
     case glslang::EOpPackUint2x16:
@@ -4222,7 +4270,6 @@
     case glslang::EOpUnpackFloat2x16:
         unaryOp = spv::OpBitcast;
         break;
-#endif
 
     case glslang::EOpDPdx:
         unaryOp = spv::OpDPdx;
@@ -4337,7 +4384,45 @@
         operands.push_back(operand);
         return createInvocationsOperation(op, typeId, operands, typeProxy);
     }
-
+    case glslang::EOpSubgroupAll:
+    case glslang::EOpSubgroupAny:
+    case glslang::EOpSubgroupAllEqual:
+    case glslang::EOpSubgroupBroadcastFirst:
+    case glslang::EOpSubgroupBallot:
+    case glslang::EOpSubgroupInverseBallot:
+    case glslang::EOpSubgroupBallotBitCount:
+    case glslang::EOpSubgroupBallotInclusiveBitCount:
+    case glslang::EOpSubgroupBallotExclusiveBitCount:
+    case glslang::EOpSubgroupBallotFindLSB:
+    case glslang::EOpSubgroupBallotFindMSB:
+    case glslang::EOpSubgroupAdd:
+    case glslang::EOpSubgroupMul:
+    case glslang::EOpSubgroupMin:
+    case glslang::EOpSubgroupMax:
+    case glslang::EOpSubgroupAnd:
+    case glslang::EOpSubgroupOr:
+    case glslang::EOpSubgroupXor:
+    case glslang::EOpSubgroupInclusiveAdd:
+    case glslang::EOpSubgroupInclusiveMul:
+    case glslang::EOpSubgroupInclusiveMin:
+    case glslang::EOpSubgroupInclusiveMax:
+    case glslang::EOpSubgroupInclusiveAnd:
+    case glslang::EOpSubgroupInclusiveOr:
+    case glslang::EOpSubgroupInclusiveXor:
+    case glslang::EOpSubgroupExclusiveAdd:
+    case glslang::EOpSubgroupExclusiveMul:
+    case glslang::EOpSubgroupExclusiveMin:
+    case glslang::EOpSubgroupExclusiveMax:
+    case glslang::EOpSubgroupExclusiveAnd:
+    case glslang::EOpSubgroupExclusiveOr:
+    case glslang::EOpSubgroupExclusiveXor:
+    case glslang::EOpSubgroupQuadSwapHorizontal:
+    case glslang::EOpSubgroupQuadSwapVertical:
+    case glslang::EOpSubgroupQuadSwapDiagonal: {
+        std::vector<spv::Id> operands;
+        operands.push_back(operand);
+        return createSubgroupOperation(op, typeId, operands, typeProxy);
+    }
 #ifdef AMD_EXTENSIONS
     case glslang::EOpMbcnt:
         extBuiltins = getExtBuiltins(spv::E_SPV_AMD_shader_ballot);
@@ -4403,32 +4488,150 @@
     return builder.setPrecision(builder.createCompositeConstruct(typeId, results), precision);
 }
 
+spv::Id TGlslangToSpvTraverser::createConversionOperation(glslang::TOperator op, spv::Id operand, int vectorSize)
+{
+    spv::Op convOp = spv::OpNop;
+    spv::Id type = 0;
+
+    spv::Id result = 0;
+
+    switch(op) {
+    case glslang::EOpConvInt8ToUint16:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(16);
+        break;
+    case glslang::EOpConvInt8ToUint:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(32);
+        break;
+    case glslang::EOpConvInt8ToUint64:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(64);
+        break;
+    case glslang::EOpConvInt16ToUint8:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(8);
+        break;
+    case glslang::EOpConvInt16ToUint:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(32);
+        break;
+    case glslang::EOpConvInt16ToUint64:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(64);
+        break;
+    case glslang::EOpConvIntToUint8:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(8);
+        break;
+    case glslang::EOpConvIntToUint16:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(16);
+        break;
+    case glslang::EOpConvIntToUint64:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(64);
+        break;
+    case glslang::EOpConvInt64ToUint8:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(8);
+        break;
+    case glslang::EOpConvInt64ToUint16:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(16);
+        break;
+    case glslang::EOpConvInt64ToUint:
+        convOp = spv::OpSConvert;
+        type   = builder.makeIntType(32);
+        break;
+    case glslang::EOpConvUint8ToInt16:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(16);
+        break;
+    case glslang::EOpConvUint8ToInt:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(32);
+        break;
+    case glslang::EOpConvUint8ToInt64:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(64);
+        break;
+    case glslang::EOpConvUint16ToInt8:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(8);
+        break;
+    case glslang::EOpConvUint16ToInt:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(32);
+        break;
+    case glslang::EOpConvUint16ToInt64:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(64);
+        break;
+    case glslang::EOpConvUintToInt8:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(8);
+        break;
+    case glslang::EOpConvUintToInt16:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(16);
+        break;
+    case glslang::EOpConvUintToInt64:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(64);
+        break;
+    case glslang::EOpConvUint64ToInt8:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(8);
+        break;
+    case glslang::EOpConvUint64ToInt16:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(16);
+        break;
+    case glslang::EOpConvUint64ToInt:
+        convOp = spv::OpUConvert;
+        type   = builder.makeIntType(32);
+        break;
+
+    default:
+        assert(false && "Default missing");
+        break;
+    }
+
+    if (vectorSize > 0)
+        type = builder.makeVectorType(type, vectorSize);
+
+    result = builder.createUnaryOp(convOp, type, operand);
+    return result;
+}
+
 spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Decoration precision, spv::Decoration noContraction, spv::Id destType, spv::Id operand, glslang::TBasicType typeProxy)
 {
     spv::Op convOp = spv::OpNop;
     spv::Id zero = 0;
     spv::Id one = 0;
-    spv::Id type = 0;
 
     int vectorSize = builder.isVectorType(destType) ? builder.getNumTypeComponents(destType) : 0;
 
     switch (op) {
-    case glslang::EOpConvIntToBool:
-    case glslang::EOpConvUintToBool:
-    case glslang::EOpConvInt64ToBool:
-    case glslang::EOpConvUint64ToBool:
-#ifdef AMD_EXTENSIONS
+    case glslang::EOpConvInt8ToBool:
+    case glslang::EOpConvUint8ToBool:
+        zero = builder.makeUint8Constant(0);
+        zero = makeSmearedConstant(zero, vectorSize);
+        return builder.createBinOp(spv::OpINotEqual, destType, operand, zero);
     case glslang::EOpConvInt16ToBool:
     case glslang::EOpConvUint16ToBool:
-#endif
-        if (op == glslang::EOpConvInt64ToBool || op == glslang::EOpConvUint64ToBool)
-            zero = builder.makeUint64Constant(0);
-#ifdef AMD_EXTENSIONS
-        else if (op == glslang::EOpConvInt16ToBool || op == glslang::EOpConvUint16ToBool)
-            zero = builder.makeUint16Constant(0);
-#endif
-        else
-            zero = builder.makeUintConstant(0);
+        zero = builder.makeUint16Constant(0);
+        zero = makeSmearedConstant(zero, vectorSize);
+        return builder.createBinOp(spv::OpINotEqual, destType, operand, zero);
+    case glslang::EOpConvIntToBool:
+    case glslang::EOpConvUintToBool:
+        zero = builder.makeUintConstant(0);
+        zero = makeSmearedConstant(zero, vectorSize);
+        return builder.createBinOp(spv::OpINotEqual, destType, operand, zero);
+    case glslang::EOpConvInt64ToBool:
+    case glslang::EOpConvUint64ToBool:
+        zero = builder.makeUint64Constant(0);
         zero = makeSmearedConstant(zero, vectorSize);
         return builder.createBinOp(spv::OpINotEqual, destType, operand, zero);
 
@@ -4442,12 +4645,10 @@
         zero = makeSmearedConstant(zero, vectorSize);
         return builder.createBinOp(spv::OpFOrdNotEqual, destType, operand, zero);
 
-#ifdef AMD_EXTENSIONS
     case glslang::EOpConvFloat16ToBool:
         zero = builder.makeFloat16Constant(0.0F);
         zero = makeSmearedConstant(zero, vectorSize);
         return builder.createBinOp(spv::OpFOrdNotEqual, destType, operand, zero);
-#endif
 
     case glslang::EOpConvBoolToFloat:
         convOp = spv::OpSelect;
@@ -4461,34 +4662,45 @@
         one  = builder.makeDoubleConstant(1.0);
         break;
 
-#ifdef AMD_EXTENSIONS
     case glslang::EOpConvBoolToFloat16:
         convOp = spv::OpSelect;
         zero = builder.makeFloat16Constant(0.0F);
         one = builder.makeFloat16Constant(1.0F);
         break;
-#endif
+
+    case glslang::EOpConvBoolToInt8:
+        zero = builder.makeInt8Constant(0);
+        one  = builder.makeInt8Constant(1);
+        convOp = spv::OpSelect;
+        break;
+
+    case glslang::EOpConvBoolToUint8:
+        zero = builder.makeUint8Constant(0);
+        one  = builder.makeUint8Constant(1);
+        convOp = spv::OpSelect;
+        break;
+
+    case glslang::EOpConvBoolToInt16:
+        zero = builder.makeInt16Constant(0);
+        one  = builder.makeInt16Constant(1);
+        convOp = spv::OpSelect;
+        break;
+
+    case glslang::EOpConvBoolToUint16:
+        zero = builder.makeUint16Constant(0);
+        one  = builder.makeUint16Constant(1);
+        convOp = spv::OpSelect;
+        break;
 
     case glslang::EOpConvBoolToInt:
     case glslang::EOpConvBoolToInt64:
-#ifdef AMD_EXTENSIONS
-    case glslang::EOpConvBoolToInt16:
-#endif
         if (op == glslang::EOpConvBoolToInt64)
             zero = builder.makeInt64Constant(0);
-#ifdef AMD_EXTENSIONS
-        else if (op == glslang::EOpConvBoolToInt16)
-            zero = builder.makeInt16Constant(0);
-#endif
         else
             zero = builder.makeIntConstant(0);
 
         if (op == glslang::EOpConvBoolToInt64)
             one = builder.makeInt64Constant(1);
-#ifdef AMD_EXTENSIONS
-        else if (op == glslang::EOpConvBoolToInt16)
-            one = builder.makeInt16Constant(1);
-#endif
         else
             one = builder.makeIntConstant(1);
 
@@ -4497,104 +4709,94 @@
 
     case glslang::EOpConvBoolToUint:
     case glslang::EOpConvBoolToUint64:
-#ifdef AMD_EXTENSIONS
-    case glslang::EOpConvBoolToUint16:
-#endif
         if (op == glslang::EOpConvBoolToUint64)
             zero = builder.makeUint64Constant(0);
-#ifdef AMD_EXTENSIONS
-        else if (op == glslang::EOpConvBoolToUint16)
-            zero = builder.makeUint16Constant(0);
-#endif
         else
             zero = builder.makeUintConstant(0);
 
         if (op == glslang::EOpConvBoolToUint64)
             one = builder.makeUint64Constant(1);
-#ifdef AMD_EXTENSIONS
-        else if (op == glslang::EOpConvBoolToUint16)
-            one = builder.makeUint16Constant(1);
-#endif
         else
             one = builder.makeUintConstant(1);
 
         convOp = spv::OpSelect;
         break;
 
+    case glslang::EOpConvInt8ToFloat16:
+    case glslang::EOpConvInt8ToFloat:
+    case glslang::EOpConvInt8ToDouble:
+    case glslang::EOpConvInt16ToFloat16:
+    case glslang::EOpConvInt16ToFloat:
+    case glslang::EOpConvInt16ToDouble:
+    case glslang::EOpConvIntToFloat16:
     case glslang::EOpConvIntToFloat:
     case glslang::EOpConvIntToDouble:
     case glslang::EOpConvInt64ToFloat:
     case glslang::EOpConvInt64ToDouble:
-#ifdef AMD_EXTENSIONS
-    case glslang::EOpConvInt16ToFloat:
-    case glslang::EOpConvInt16ToDouble:
-    case glslang::EOpConvInt16ToFloat16:
-    case glslang::EOpConvIntToFloat16:
     case glslang::EOpConvInt64ToFloat16:
-#endif
         convOp = spv::OpConvertSToF;
         break;
 
+    case glslang::EOpConvUint8ToFloat16:
+    case glslang::EOpConvUint8ToFloat:
+    case glslang::EOpConvUint8ToDouble:
+    case glslang::EOpConvUint16ToFloat16:
+    case glslang::EOpConvUint16ToFloat:
+    case glslang::EOpConvUint16ToDouble:
+    case glslang::EOpConvUintToFloat16:
     case glslang::EOpConvUintToFloat:
     case glslang::EOpConvUintToDouble:
     case glslang::EOpConvUint64ToFloat:
     case glslang::EOpConvUint64ToDouble:
-#ifdef AMD_EXTENSIONS
-    case glslang::EOpConvUint16ToFloat:
-    case glslang::EOpConvUint16ToDouble:
-    case glslang::EOpConvUint16ToFloat16:
-    case glslang::EOpConvUintToFloat16:
     case glslang::EOpConvUint64ToFloat16:
-#endif
         convOp = spv::OpConvertUToF;
         break;
 
     case glslang::EOpConvDoubleToFloat:
     case glslang::EOpConvFloatToDouble:
-#ifdef AMD_EXTENSIONS
     case glslang::EOpConvDoubleToFloat16:
     case glslang::EOpConvFloat16ToDouble:
     case glslang::EOpConvFloatToFloat16:
     case glslang::EOpConvFloat16ToFloat:
-#endif
         convOp = spv::OpFConvert;
         if (builder.isMatrixType(destType))
             return createUnaryMatrixOperation(convOp, precision, noContraction, destType, operand, typeProxy);
         break;
 
-    case glslang::EOpConvFloatToInt:
-    case glslang::EOpConvDoubleToInt:
-    case glslang::EOpConvFloatToInt64:
-    case glslang::EOpConvDoubleToInt64:
-#ifdef AMD_EXTENSIONS
+    case glslang::EOpConvFloat16ToInt8:
+    case glslang::EOpConvFloatToInt8:
+    case glslang::EOpConvDoubleToInt8:
+    case glslang::EOpConvFloat16ToInt16:
     case glslang::EOpConvFloatToInt16:
     case glslang::EOpConvDoubleToInt16:
-    case glslang::EOpConvFloat16ToInt16:
     case glslang::EOpConvFloat16ToInt:
+    case glslang::EOpConvFloatToInt:
+    case glslang::EOpConvDoubleToInt:
     case glslang::EOpConvFloat16ToInt64:
-#endif
+    case glslang::EOpConvFloatToInt64:
+    case glslang::EOpConvDoubleToInt64:
         convOp = spv::OpConvertFToS;
         break;
 
+    case glslang::EOpConvUint8ToInt8:
+    case glslang::EOpConvInt8ToUint8:
+    case glslang::EOpConvUint16ToInt16:
+    case glslang::EOpConvInt16ToUint16:
     case glslang::EOpConvUintToInt:
     case glslang::EOpConvIntToUint:
     case glslang::EOpConvUint64ToInt64:
     case glslang::EOpConvInt64ToUint64:
-#ifdef AMD_EXTENSIONS
-    case glslang::EOpConvUint16ToInt16:
-    case glslang::EOpConvInt16ToUint16:
-#endif
         if (builder.isInSpecConstCodeGenMode()) {
             // Build zero scalar or vector for OpIAdd.
-            if (op == glslang::EOpConvUint64ToInt64 || op == glslang::EOpConvInt64ToUint64)
-                zero = builder.makeUint64Constant(0);
-#ifdef AMD_EXTENSIONS
-            else if (op == glslang::EOpConvUint16ToInt16 || op == glslang::EOpConvInt16ToUint16)
+            if(op == glslang::EOpConvUint8ToInt8 || op == glslang::EOpConvInt8ToUint8) {
+                zero = builder.makeUint8Constant(0);
+            } else if (op == glslang::EOpConvUint16ToInt16 || op == glslang::EOpConvInt16ToUint16) {
                 zero = builder.makeUint16Constant(0);
-#endif
-            else
+            } else if (op == glslang::EOpConvUint64ToInt64 || op == glslang::EOpConvInt64ToUint64) {
+                zero = builder.makeUint64Constant(0);
+            } else {
                 zero = builder.makeUintConstant(0);
-
+            }
             zero = makeSmearedConstant(zero, vectorSize);
             // Use OpIAdd, instead of OpBitcast to do the conversion when
             // generating for OpSpecConstantOp instruction.
@@ -4604,126 +4806,117 @@
         convOp = spv::OpBitcast;
         break;
 
+    case glslang::EOpConvFloat16ToUint8:
+    case glslang::EOpConvFloatToUint8:
+    case glslang::EOpConvDoubleToUint8:
+    case glslang::EOpConvFloat16ToUint16:
+    case glslang::EOpConvFloatToUint16:
+    case glslang::EOpConvDoubleToUint16:
+    case glslang::EOpConvFloat16ToUint:
     case glslang::EOpConvFloatToUint:
     case glslang::EOpConvDoubleToUint:
     case glslang::EOpConvFloatToUint64:
     case glslang::EOpConvDoubleToUint64:
-#ifdef AMD_EXTENSIONS
-    case glslang::EOpConvFloatToUint16:
-    case glslang::EOpConvDoubleToUint16:
-    case glslang::EOpConvFloat16ToUint16:
-    case glslang::EOpConvFloat16ToUint:
     case glslang::EOpConvFloat16ToUint64:
-#endif
         convOp = spv::OpConvertFToU;
         break;
 
-    case glslang::EOpConvIntToInt64:
-    case glslang::EOpConvInt64ToInt:
-#ifdef AMD_EXTENSIONS
-    case glslang::EOpConvIntToInt16:
+    case glslang::EOpConvInt8ToInt16:
+    case glslang::EOpConvInt8ToInt:
+    case glslang::EOpConvInt8ToInt64:
+    case glslang::EOpConvInt16ToInt8:
     case glslang::EOpConvInt16ToInt:
-    case glslang::EOpConvInt64ToInt16:
     case glslang::EOpConvInt16ToInt64:
-#endif
+    case glslang::EOpConvIntToInt8:
+    case glslang::EOpConvIntToInt16:
+    case glslang::EOpConvIntToInt64:
+    case glslang::EOpConvInt64ToInt8:
+    case glslang::EOpConvInt64ToInt16:
+    case glslang::EOpConvInt64ToInt:
         convOp = spv::OpSConvert;
         break;
 
-    case glslang::EOpConvUintToUint64:
-    case glslang::EOpConvUint64ToUint:
-#ifdef AMD_EXTENSIONS
-    case glslang::EOpConvUintToUint16:
+    case glslang::EOpConvUint8ToUint16:
+    case glslang::EOpConvUint8ToUint:
+    case glslang::EOpConvUint8ToUint64:
+    case glslang::EOpConvUint16ToUint8:
     case glslang::EOpConvUint16ToUint:
-    case glslang::EOpConvUint64ToUint16:
     case glslang::EOpConvUint16ToUint64:
-#endif
+    case glslang::EOpConvUintToUint8:
+    case glslang::EOpConvUintToUint16:
+    case glslang::EOpConvUintToUint64:
+    case glslang::EOpConvUint64ToUint8:
+    case glslang::EOpConvUint64ToUint16:
+    case glslang::EOpConvUint64ToUint:
         convOp = spv::OpUConvert;
         break;
 
-    case glslang::EOpConvIntToUint64:
-    case glslang::EOpConvInt64ToUint:
-    case glslang::EOpConvUint64ToInt:
-    case glslang::EOpConvUintToInt64:
-#ifdef AMD_EXTENSIONS
+    case glslang::EOpConvInt8ToUint16:
+    case glslang::EOpConvInt8ToUint:
+    case glslang::EOpConvInt8ToUint64:
+    case glslang::EOpConvInt16ToUint8:
     case glslang::EOpConvInt16ToUint:
-    case glslang::EOpConvUintToInt16:
     case glslang::EOpConvInt16ToUint64:
-    case glslang::EOpConvUint64ToInt16:
-    case glslang::EOpConvUint16ToInt:
+    case glslang::EOpConvIntToUint8:
     case glslang::EOpConvIntToUint16:
-    case glslang::EOpConvUint16ToInt64:
+    case glslang::EOpConvIntToUint64:
+    case glslang::EOpConvInt64ToUint8:
     case glslang::EOpConvInt64ToUint16:
-#endif
+    case glslang::EOpConvInt64ToUint:
+    case glslang::EOpConvUint8ToInt16:
+    case glslang::EOpConvUint8ToInt:
+    case glslang::EOpConvUint8ToInt64:
+    case glslang::EOpConvUint16ToInt8:
+    case glslang::EOpConvUint16ToInt:
+    case glslang::EOpConvUint16ToInt64:
+    case glslang::EOpConvUintToInt8:
+    case glslang::EOpConvUintToInt16:
+    case glslang::EOpConvUintToInt64:
+    case glslang::EOpConvUint64ToInt8:
+    case glslang::EOpConvUint64ToInt16:
+    case glslang::EOpConvUint64ToInt:
         // OpSConvert/OpUConvert + OpBitCast
-        switch (op) {
-        case glslang::EOpConvIntToUint64:
-#ifdef AMD_EXTENSIONS
-        case glslang::EOpConvInt16ToUint64:
-#endif
-            convOp = spv::OpSConvert;
-            type   = builder.makeIntType(64);
-            break;
-        case glslang::EOpConvInt64ToUint:
-#ifdef AMD_EXTENSIONS
-        case glslang::EOpConvInt16ToUint:
-#endif
-            convOp = spv::OpSConvert;
-            type   = builder.makeIntType(32);
-            break;
-        case glslang::EOpConvUint64ToInt:
-#ifdef AMD_EXTENSIONS
-        case glslang::EOpConvUint16ToInt:
-#endif
-            convOp = spv::OpUConvert;
-            type   = builder.makeUintType(32);
-            break;
-        case glslang::EOpConvUintToInt64:
-#ifdef AMD_EXTENSIONS
-        case glslang::EOpConvUint16ToInt64:
-#endif
-            convOp = spv::OpUConvert;
-            type   = builder.makeUintType(64);
-            break;
-#ifdef AMD_EXTENSIONS
-        case glslang::EOpConvUintToInt16:
-        case glslang::EOpConvUint64ToInt16:
-            convOp = spv::OpUConvert;
-            type   = builder.makeUintType(16);
-            break;
-        case glslang::EOpConvIntToUint16:
-        case glslang::EOpConvInt64ToUint16:
-            convOp = spv::OpSConvert;
-            type   = builder.makeIntType(16);
-            break;
-#endif
-        default:
-            assert(0);
-            break;
-        }
-
-        if (vectorSize > 0)
-            type = builder.makeVectorType(type, vectorSize);
-
-        operand = builder.createUnaryOp(convOp, type, operand);
+        operand = createConversionOperation(op, operand, vectorSize);
 
         if (builder.isInSpecConstCodeGenMode()) {
             // Build zero scalar or vector for OpIAdd.
-#ifdef AMD_EXTENSIONS
-            if (op == glslang::EOpConvIntToUint64 || op == glslang::EOpConvUintToInt64 ||
-                op == glslang::EOpConvInt16ToUint64 || op == glslang::EOpConvUint16ToInt64)
-                zero = builder.makeUint64Constant(0);
-            else if (op == glslang::EOpConvIntToUint16 || op == glslang::EOpConvUintToInt16 ||
-                     op == glslang::EOpConvInt64ToUint16 || op == glslang::EOpConvUint64ToInt16)
+            switch(op) {
+            case glslang::EOpConvInt16ToUint8:
+            case glslang::EOpConvIntToUint8:
+            case glslang::EOpConvInt64ToUint8:
+            case glslang::EOpConvUint16ToInt8:
+            case glslang::EOpConvUintToInt8:
+            case glslang::EOpConvUint64ToInt8:
+                zero = builder.makeUint8Constant(0);
+                break;
+            case glslang::EOpConvInt8ToUint16:
+            case glslang::EOpConvIntToUint16:
+            case glslang::EOpConvInt64ToUint16:
+            case glslang::EOpConvUint8ToInt16:
+            case glslang::EOpConvUintToInt16:
+            case glslang::EOpConvUint64ToInt16:
                 zero = builder.makeUint16Constant(0);
-            else
+                break;
+            case glslang::EOpConvInt8ToUint:
+            case glslang::EOpConvInt16ToUint:
+            case glslang::EOpConvInt64ToUint:
+            case glslang::EOpConvUint8ToInt:
+            case glslang::EOpConvUint16ToInt:
+            case glslang::EOpConvUint64ToInt:
                 zero = builder.makeUintConstant(0);
-#else
-            if (op == glslang::EOpConvIntToUint64 || op == glslang::EOpConvUintToInt64)
+                break;
+            case glslang::EOpConvInt8ToUint64:
+            case glslang::EOpConvInt16ToUint64:
+            case glslang::EOpConvIntToUint64:
+            case glslang::EOpConvUint8ToInt64:
+            case glslang::EOpConvUint16ToInt64:
+            case glslang::EOpConvUintToInt64:
                 zero = builder.makeUint64Constant(0);
-            else
-                zero = builder.makeUintConstant(0);
-#endif
-
+                break;
+            default:
+                assert(false && "Default missing");
+                break;
+            }
             zero = makeSmearedConstant(zero, vectorSize);
             // Use OpIAdd, instead of OpBitcast to do the conversion when
             // generating for OpSpecConstantOp instruction.
@@ -4865,10 +5058,8 @@
 // Create group invocation operations.
 spv::Id TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
 {
-#ifdef AMD_EXTENSIONS
-    bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
-    bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
-#endif
+    bool isUnsigned = isTypeUnsignedInt(typeProxy);
+    bool isFloat = isTypeFloat(typeProxy);
 
     spv::Op opCode = spv::OpNop;
     std::vector<spv::Id> spvGroupOperands;
@@ -5129,15 +5320,263 @@
     return builder.createCompositeConstruct(typeId, results);
 }
 
+// Create subgroup invocation operations.
+spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
+{
+    // Add the required capabilities.
+    switch (op) {
+    case glslang::EOpSubgroupElect:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        break;
+    case glslang::EOpSubgroupAll:
+    case glslang::EOpSubgroupAny:
+    case glslang::EOpSubgroupAllEqual:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformVote);
+        break;
+    case glslang::EOpSubgroupBroadcast:
+    case glslang::EOpSubgroupBroadcastFirst:
+    case glslang::EOpSubgroupBallot:
+    case glslang::EOpSubgroupInverseBallot:
+    case glslang::EOpSubgroupBallotBitExtract:
+    case glslang::EOpSubgroupBallotBitCount:
+    case glslang::EOpSubgroupBallotInclusiveBitCount:
+    case glslang::EOpSubgroupBallotExclusiveBitCount:
+    case glslang::EOpSubgroupBallotFindLSB:
+    case glslang::EOpSubgroupBallotFindMSB:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformBallot);
+        break;
+    case glslang::EOpSubgroupShuffle:
+    case glslang::EOpSubgroupShuffleXor:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformShuffle);
+        break;
+    case glslang::EOpSubgroupShuffleUp:
+    case glslang::EOpSubgroupShuffleDown:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformShuffleRelative);
+        break;
+    case glslang::EOpSubgroupAdd:
+    case glslang::EOpSubgroupMul:
+    case glslang::EOpSubgroupMin:
+    case glslang::EOpSubgroupMax:
+    case glslang::EOpSubgroupAnd:
+    case glslang::EOpSubgroupOr:
+    case glslang::EOpSubgroupXor:
+    case glslang::EOpSubgroupInclusiveAdd:
+    case glslang::EOpSubgroupInclusiveMul:
+    case glslang::EOpSubgroupInclusiveMin:
+    case glslang::EOpSubgroupInclusiveMax:
+    case glslang::EOpSubgroupInclusiveAnd:
+    case glslang::EOpSubgroupInclusiveOr:
+    case glslang::EOpSubgroupInclusiveXor:
+    case glslang::EOpSubgroupExclusiveAdd:
+    case glslang::EOpSubgroupExclusiveMul:
+    case glslang::EOpSubgroupExclusiveMin:
+    case glslang::EOpSubgroupExclusiveMax:
+    case glslang::EOpSubgroupExclusiveAnd:
+    case glslang::EOpSubgroupExclusiveOr:
+    case glslang::EOpSubgroupExclusiveXor:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformArithmetic);
+        break;
+    case glslang::EOpSubgroupClusteredAdd:
+    case glslang::EOpSubgroupClusteredMul:
+    case glslang::EOpSubgroupClusteredMin:
+    case glslang::EOpSubgroupClusteredMax:
+    case glslang::EOpSubgroupClusteredAnd:
+    case glslang::EOpSubgroupClusteredOr:
+    case glslang::EOpSubgroupClusteredXor:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformClustered);
+        break;
+    case glslang::EOpSubgroupQuadBroadcast:
+    case glslang::EOpSubgroupQuadSwapHorizontal:
+    case glslang::EOpSubgroupQuadSwapVertical:
+    case glslang::EOpSubgroupQuadSwapDiagonal:
+        builder.addCapability(spv::CapabilityGroupNonUniform);
+        builder.addCapability(spv::CapabilityGroupNonUniformQuad);
+        break;
+    default: assert(0 && "Unhandled subgroup operation!");
+    }
+
+    const bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
+    const bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
+    const bool isBool = typeProxy == glslang::EbtBool;
+
+    spv::Op opCode = spv::OpNop;
+
+    // Figure out which opcode to use.
+    switch (op) {
+    case glslang::EOpSubgroupElect:                   opCode = spv::OpGroupNonUniformElect; break;
+    case glslang::EOpSubgroupAll:                     opCode = spv::OpGroupNonUniformAll; break;
+    case glslang::EOpSubgroupAny:                     opCode = spv::OpGroupNonUniformAny; break;
+    case glslang::EOpSubgroupAllEqual:                opCode = spv::OpGroupNonUniformAllEqual; break;
+    case glslang::EOpSubgroupBroadcast:               opCode = spv::OpGroupNonUniformBroadcast; break;
+    case glslang::EOpSubgroupBroadcastFirst:          opCode = spv::OpGroupNonUniformBroadcastFirst; break;
+    case glslang::EOpSubgroupBallot:                  opCode = spv::OpGroupNonUniformBallot; break;
+    case glslang::EOpSubgroupInverseBallot:           opCode = spv::OpGroupNonUniformInverseBallot; break;
+    case glslang::EOpSubgroupBallotBitExtract:        opCode = spv::OpGroupNonUniformBallotBitExtract; break;
+    case glslang::EOpSubgroupBallotBitCount:
+    case glslang::EOpSubgroupBallotInclusiveBitCount:
+    case glslang::EOpSubgroupBallotExclusiveBitCount: opCode = spv::OpGroupNonUniformBallotBitCount; break;
+    case glslang::EOpSubgroupBallotFindLSB:           opCode = spv::OpGroupNonUniformBallotFindLSB; break;
+    case glslang::EOpSubgroupBallotFindMSB:           opCode = spv::OpGroupNonUniformBallotFindMSB; break;
+    case glslang::EOpSubgroupShuffle:                 opCode = spv::OpGroupNonUniformShuffle; break;
+    case glslang::EOpSubgroupShuffleXor:              opCode = spv::OpGroupNonUniformShuffleXor; break;
+    case glslang::EOpSubgroupShuffleUp:               opCode = spv::OpGroupNonUniformShuffleUp; break;
+    case glslang::EOpSubgroupShuffleDown:             opCode = spv::OpGroupNonUniformShuffleDown; break;
+    case glslang::EOpSubgroupAdd:
+    case glslang::EOpSubgroupInclusiveAdd:
+    case glslang::EOpSubgroupExclusiveAdd:
+    case glslang::EOpSubgroupClusteredAdd:
+        if (isFloat) {
+            opCode = spv::OpGroupNonUniformFAdd;
+        } else {
+            opCode = spv::OpGroupNonUniformIAdd;
+        }
+        break;
+    case glslang::EOpSubgroupMul:
+    case glslang::EOpSubgroupInclusiveMul:
+    case glslang::EOpSubgroupExclusiveMul:
+    case glslang::EOpSubgroupClusteredMul:
+        if (isFloat) {
+            opCode = spv::OpGroupNonUniformFMul;
+        } else {
+            opCode = spv::OpGroupNonUniformIMul;
+        }
+        break;
+    case glslang::EOpSubgroupMin:
+    case glslang::EOpSubgroupInclusiveMin:
+    case glslang::EOpSubgroupExclusiveMin:
+    case glslang::EOpSubgroupClusteredMin:
+        if (isFloat) {
+            opCode = spv::OpGroupNonUniformFMin;
+        } else if (isUnsigned) {
+            opCode = spv::OpGroupNonUniformUMin;
+        } else {
+            opCode = spv::OpGroupNonUniformSMin;
+        }
+        break;
+    case glslang::EOpSubgroupMax:
+    case glslang::EOpSubgroupInclusiveMax:
+    case glslang::EOpSubgroupExclusiveMax:
+    case glslang::EOpSubgroupClusteredMax:
+        if (isFloat) {
+            opCode = spv::OpGroupNonUniformFMax;
+        } else if (isUnsigned) {
+            opCode = spv::OpGroupNonUniformUMax;
+        } else {
+            opCode = spv::OpGroupNonUniformSMax;
+        }
+        break;
+    case glslang::EOpSubgroupAnd:
+    case glslang::EOpSubgroupInclusiveAnd:
+    case glslang::EOpSubgroupExclusiveAnd:
+    case glslang::EOpSubgroupClusteredAnd:
+        if (isBool) {
+            opCode = spv::OpGroupNonUniformLogicalAnd;
+        } else {
+            opCode = spv::OpGroupNonUniformBitwiseAnd;
+        }
+        break;
+    case glslang::EOpSubgroupOr:
+    case glslang::EOpSubgroupInclusiveOr:
+    case glslang::EOpSubgroupExclusiveOr:
+    case glslang::EOpSubgroupClusteredOr:
+        if (isBool) {
+            opCode = spv::OpGroupNonUniformLogicalOr;
+        } else {
+            opCode = spv::OpGroupNonUniformBitwiseOr;
+        }
+        break;
+    case glslang::EOpSubgroupXor:
+    case glslang::EOpSubgroupInclusiveXor:
+    case glslang::EOpSubgroupExclusiveXor:
+    case glslang::EOpSubgroupClusteredXor:
+        if (isBool) {
+            opCode = spv::OpGroupNonUniformLogicalXor;
+        } else {
+            opCode = spv::OpGroupNonUniformBitwiseXor;
+        }
+        break;
+    case glslang::EOpSubgroupQuadBroadcast:      opCode = spv::OpGroupNonUniformQuadBroadcast; break;
+    case glslang::EOpSubgroupQuadSwapHorizontal:
+    case glslang::EOpSubgroupQuadSwapVertical:
+    case glslang::EOpSubgroupQuadSwapDiagonal:   opCode = spv::OpGroupNonUniformQuadSwap; break;
+    default: assert(0 && "Unhandled subgroup operation!");
+    }
+
+    std::vector<spv::Id> spvGroupOperands;
+
+    // Every operation begins with the Execution Scope operand.
+    spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
+
+    // Next, for all operations that use a Group Operation, push that as an operand.
+    switch (op) {
+    default: break;
+    case glslang::EOpSubgroupBallotBitCount:
+    case glslang::EOpSubgroupAdd:
+    case glslang::EOpSubgroupMul:
+    case glslang::EOpSubgroupMin:
+    case glslang::EOpSubgroupMax:
+    case glslang::EOpSubgroupAnd:
+    case glslang::EOpSubgroupOr:
+    case glslang::EOpSubgroupXor:
+        spvGroupOperands.push_back(spv::GroupOperationReduce);
+        break;
+    case glslang::EOpSubgroupBallotInclusiveBitCount:
+    case glslang::EOpSubgroupInclusiveAdd:
+    case glslang::EOpSubgroupInclusiveMul:
+    case glslang::EOpSubgroupInclusiveMin:
+    case glslang::EOpSubgroupInclusiveMax:
+    case glslang::EOpSubgroupInclusiveAnd:
+    case glslang::EOpSubgroupInclusiveOr:
+    case glslang::EOpSubgroupInclusiveXor:
+        spvGroupOperands.push_back(spv::GroupOperationInclusiveScan);
+        break;
+    case glslang::EOpSubgroupBallotExclusiveBitCount:
+    case glslang::EOpSubgroupExclusiveAdd:
+    case glslang::EOpSubgroupExclusiveMul:
+    case glslang::EOpSubgroupExclusiveMin:
+    case glslang::EOpSubgroupExclusiveMax:
+    case glslang::EOpSubgroupExclusiveAnd:
+    case glslang::EOpSubgroupExclusiveOr:
+    case glslang::EOpSubgroupExclusiveXor:
+        spvGroupOperands.push_back(spv::GroupOperationExclusiveScan);
+        break;
+    case glslang::EOpSubgroupClusteredAdd:
+    case glslang::EOpSubgroupClusteredMul:
+    case glslang::EOpSubgroupClusteredMin:
+    case glslang::EOpSubgroupClusteredMax:
+    case glslang::EOpSubgroupClusteredAnd:
+    case glslang::EOpSubgroupClusteredOr:
+    case glslang::EOpSubgroupClusteredXor:
+        spvGroupOperands.push_back(spv::GroupOperationClusteredReduce);
+        break;
+    }
+
+    // Push back the operands next.
+    for (auto opIt : operands) {
+        spvGroupOperands.push_back(opIt);
+    }
+
+    // Some opcodes have additional operands.
+    switch (op) {
+    default: break;
+    case glslang::EOpSubgroupQuadSwapHorizontal: spvGroupOperands.push_back(builder.makeUintConstant(0)); break;
+    case glslang::EOpSubgroupQuadSwapVertical:   spvGroupOperands.push_back(builder.makeUintConstant(1)); break;
+    case glslang::EOpSubgroupQuadSwapDiagonal:   spvGroupOperands.push_back(builder.makeUintConstant(2)); break;
+    }
+
+    return builder.createOp(opCode, typeId, spvGroupOperands);
+}
+
 spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
 {
-#ifdef AMD_EXTENSIONS
-    bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64 || typeProxy == glslang::EbtUint16;
-    bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
-#else
-    bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
-    bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
-#endif
+    bool isUnsigned = isTypeUnsignedInt(typeProxy);
+    bool isFloat = isTypeFloat(typeProxy);
 
     spv::Op opCode = spv::OpNop;
     int extBuiltins = -1;
@@ -5274,11 +5713,7 @@
             libCall = spv::GLSLstd450FrexpStruct;
             assert(builder.isPointerType(typeId1));
             typeId1 = builder.getContainedTypeId(typeId1);
-#ifdef AMD_EXTENSIONS
             int width = builder.getScalarTypeWidth(typeId1);
-#else
-            int width = 32;
-#endif
             if (builder.getNumComponents(operands[0]) == 1)
                 frexpIntType = builder.makeIntegerType(width, true);
             else
@@ -5294,6 +5729,22 @@
     case glslang::EOpReadInvocation:
         return createInvocationsOperation(op, typeId, operands, typeProxy);
 
+    case glslang::EOpSubgroupBroadcast:
+    case glslang::EOpSubgroupBallotBitExtract:
+    case glslang::EOpSubgroupShuffle:
+    case glslang::EOpSubgroupShuffleXor:
+    case glslang::EOpSubgroupShuffleUp:
+    case glslang::EOpSubgroupShuffleDown:
+    case glslang::EOpSubgroupClusteredAdd:
+    case glslang::EOpSubgroupClusteredMul:
+    case glslang::EOpSubgroupClusteredMin:
+    case glslang::EOpSubgroupClusteredMax:
+    case glslang::EOpSubgroupClusteredAnd:
+    case glslang::EOpSubgroupClusteredOr:
+    case glslang::EOpSubgroupClusteredXor:
+    case glslang::EOpSubgroupQuadBroadcast:
+        return createSubgroupOperation(op, typeId, operands, typeProxy);
+
 #ifdef AMD_EXTENSIONS
     case glslang::EOpSwizzleInvocations:
         extBuiltins = getExtBuiltins(spv::E_SPV_AMD_shader_ballot);
@@ -5461,6 +5912,25 @@
         // Control barrier with non-"None" semantic is also a memory barrier.
         builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeWorkgroup, spv::MemorySemanticsWorkgroupMemoryMask);
         return 0;
+    case glslang::EOpSubgroupBarrier:
+        builder.createControlBarrier(spv::ScopeSubgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
+        return spv::NoResult;
+    case glslang::EOpSubgroupMemoryBarrier:
+        builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsAllMemory);
+        return spv::NoResult;
+    case glslang::EOpSubgroupMemoryBarrierBuffer:
+        builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsUniformMemoryMask);
+        return spv::NoResult;
+    case glslang::EOpSubgroupMemoryBarrierImage:
+        builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsImageMemoryMask);
+        return spv::NoResult;
+    case glslang::EOpSubgroupMemoryBarrierShared:
+        builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsWorkgroupMemoryMask);
+        return spv::NoResult;
+    case glslang::EOpSubgroupElect: {
+        std::vector<spv::Id> operands;
+        return createSubgroupOperation(op, typeId, operands, glslang::EbtVoid);
+    }
 #ifdef AMD_EXTENSIONS
     case glslang::EOpTime:
     {
@@ -5706,6 +6176,18 @@
         for (unsigned int i = 0; i < (unsigned int)glslangType.getVectorSize(); ++i) {
             bool zero = nextConst >= consts.size();
             switch (glslangType.getBasicType()) {
+            case glslang::EbtInt8:
+                spvConsts.push_back(builder.makeInt8Constant(zero ? 0 : consts[nextConst].getI8Const()));
+                break;
+            case glslang::EbtUint8:
+                spvConsts.push_back(builder.makeUint8Constant(zero ? 0 : consts[nextConst].getU8Const()));
+                break;
+            case glslang::EbtInt16:
+                spvConsts.push_back(builder.makeInt16Constant(zero ? 0 : consts[nextConst].getI16Const()));
+                break;
+            case glslang::EbtUint16:
+                spvConsts.push_back(builder.makeUint16Constant(zero ? 0 : consts[nextConst].getU16Const()));
+                break;
             case glslang::EbtInt:
                 spvConsts.push_back(builder.makeIntConstant(zero ? 0 : consts[nextConst].getIConst()));
                 break;
@@ -5718,25 +6200,15 @@
             case glslang::EbtUint64:
                 spvConsts.push_back(builder.makeUint64Constant(zero ? 0 : consts[nextConst].getU64Const()));
                 break;
-#ifdef AMD_EXTENSIONS
-            case glslang::EbtInt16:
-                spvConsts.push_back(builder.makeInt16Constant(zero ? 0 : (short)consts[nextConst].getIConst()));
-                break;
-            case glslang::EbtUint16:
-                spvConsts.push_back(builder.makeUint16Constant(zero ? 0 : (unsigned short)consts[nextConst].getUConst()));
-                break;
-#endif
             case glslang::EbtFloat:
                 spvConsts.push_back(builder.makeFloatConstant(zero ? 0.0F : (float)consts[nextConst].getDConst()));
                 break;
             case glslang::EbtDouble:
                 spvConsts.push_back(builder.makeDoubleConstant(zero ? 0.0 : consts[nextConst].getDConst()));
                 break;
-#ifdef AMD_EXTENSIONS
             case glslang::EbtFloat16:
                 spvConsts.push_back(builder.makeFloat16Constant(zero ? 0.0F : (float)consts[nextConst].getDConst()));
                 break;
-#endif
             case glslang::EbtBool:
                 spvConsts.push_back(builder.makeBoolConstant(zero ? false : consts[nextConst].getBConst()));
                 break;
@@ -5751,6 +6223,18 @@
         bool zero = nextConst >= consts.size();
         spv::Id scalar = 0;
         switch (glslangType.getBasicType()) {
+        case glslang::EbtInt8:
+            scalar = builder.makeInt8Constant(zero ? 0 : consts[nextConst].getI8Const(), specConstant);
+            break;
+        case glslang::EbtUint8:
+            scalar = builder.makeUint8Constant(zero ? 0 : consts[nextConst].getU8Const(), specConstant);
+            break;
+        case glslang::EbtInt16:
+            scalar = builder.makeInt16Constant(zero ? 0 : consts[nextConst].getI16Const(), specConstant);
+            break;
+        case glslang::EbtUint16:
+            scalar = builder.makeUint16Constant(zero ? 0 : consts[nextConst].getU16Const(), specConstant);
+            break;
         case glslang::EbtInt:
             scalar = builder.makeIntConstant(zero ? 0 : consts[nextConst].getIConst(), specConstant);
             break;
@@ -5763,25 +6247,15 @@
         case glslang::EbtUint64:
             scalar = builder.makeUint64Constant(zero ? 0 : consts[nextConst].getU64Const(), specConstant);
             break;
-#ifdef AMD_EXTENSIONS
-        case glslang::EbtInt16:
-            scalar = builder.makeInt16Constant(zero ? 0 : (short)consts[nextConst].getIConst(), specConstant);
-            break;
-        case glslang::EbtUint16:
-            scalar = builder.makeUint16Constant(zero ? 0 : (unsigned short)consts[nextConst].getUConst(), specConstant);
-            break;
-#endif
         case glslang::EbtFloat:
             scalar = builder.makeFloatConstant(zero ? 0.0F : (float)consts[nextConst].getDConst(), specConstant);
             break;
         case glslang::EbtDouble:
             scalar = builder.makeDoubleConstant(zero ? 0.0 : consts[nextConst].getDConst(), specConstant);
             break;
-#ifdef AMD_EXTENSIONS
         case glslang::EbtFloat16:
             scalar = builder.makeFloat16Constant(zero ? 0.0F : (float)consts[nextConst].getDConst(), specConstant);
             break;
-#endif
         case glslang::EbtBool:
             scalar = builder.makeBoolConstant(zero ? false : consts[nextConst].getBConst(), specConstant);
             break;
diff --git a/SPIRV/SPVRemapper.cpp b/SPIRV/SPVRemapper.cpp
index 4d96df6..412f649 100755
--- a/SPIRV/SPVRemapper.cpp
+++ b/SPIRV/SPVRemapper.cpp
@@ -256,7 +256,7 @@
 
     spv::Id spirvbin_t::localId(spv::Id id, spv::Id newId)
     {
-        assert(id != spv::NoResult && newId != spv::NoResult);
+        //assert(id != spv::NoResult && newId != spv::NoResult);
 
         if (id > bound()) {
             error(std::string("ID out of range: ") + std::to_string(id));
@@ -431,7 +431,7 @@
                 if (spv::InstructionDesc[opCode].hasResult()) {
                     const spv::Id resultId = asId(word++);
                     idPosR[resultId] = start;
-
+                    
                     if (typeId != spv::NoResult) {
                         const unsigned idTypeSize = typeSizeInWords(typeId);
 
diff --git a/SPIRV/SPVRemapper.h b/SPIRV/SPVRemapper.h
index 97e3f31..5abdd4a 100755
--- a/SPIRV/SPVRemapper.h
+++ b/SPIRV/SPVRemapper.h
@@ -179,7 +179,6 @@
    range_t  constRange(spv::Op opCode)     const;
    unsigned typeSizeInWords(spv::Id id)    const;
    unsigned idTypeSizeInWords(spv::Id id)  const;
-
    spv::Id&        asId(unsigned word)                { return spv[word]; }
    const spv::Id&  asId(unsigned word)          const { return spv[word]; }
    spv::Op         asOpCode(unsigned word)      const { return opOpCode(spv[word]); }
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
index 289d59a..d7b28bc 100644
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -46,9 +46,7 @@
 
 #include "SpvBuilder.h"
 
-#ifdef AMD_EXTENSIONS
-    #include "hex_float.h"
-#endif
+#include "hex_float.h"
 
 #ifndef _WIN32
     #include <cstdio>
@@ -57,6 +55,7 @@
 namespace spv {
 
 Builder::Builder(unsigned int magicNumber, SpvBuildLogger* buildLogger) :
+    targetVersion(0x00010000),
     source(SourceLanguageUnknown),
     sourceVersion(0),
     sourceFileStringId(NoResult),
@@ -193,6 +192,9 @@
 
     // deal with capabilities
     switch (width) {
+    case 8:
+        addCapability(CapabilityInt8);
+        break;
     case 16:
         addCapability(CapabilityInt16);
         break;
@@ -815,7 +817,6 @@
     return c->getResultId();
 }
 
-#ifdef AMD_EXTENSIONS
 Id Builder::makeFloat16Constant(float f16, bool specConstant)
 {
     Op opcode = specConstant ? OpSpecConstant : OpConstant;
@@ -843,7 +844,6 @@
 
     return c->getResultId();
 }
-#endif
 
 Id Builder::findCompositeConstant(Op typeClass, const std::vector<Id>& comps) const
 {
@@ -2400,7 +2400,7 @@
 {
     // Header, before first instructions:
     out.push_back(MagicNumber);
-    out.push_back(Version);
+    out.push_back(targetVersion);
     out.push_back(builderNumber);
     out.push_back(uniqueId + 1);
     out.push_back(0);
@@ -2430,7 +2430,6 @@
 
     // Debug instructions
     dumpInstructions(out, strings);
-    dumpModuleProcesses(out);
     dumpSourceInstructions(out);
     for (int e = 0; e < (int)sourceExtensions.size(); ++e) {
         Instruction sourceExtInst(0, 0, OpSourceExtension);
@@ -2438,7 +2437,7 @@
         sourceExtInst.dump(out);
     }
     dumpInstructions(out, names);
-    dumpInstructions(out, lines);
+    dumpModuleProcesses(out);
 
     // Annotation instructions
     dumpInstructions(out, decorations);
diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h
index 59b1da2..a83e8ca 100755
--- a/SPIRV/SpvBuilder.h
+++ b/SPIRV/SpvBuilder.h
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2014-2015 LunarG, Inc.
 // Copyright (C) 2015-2016 Google, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -65,6 +66,7 @@
 
     static const int maxMatrixSize = 4;
 
+    void setTargetVersion(unsigned int v) { targetVersion = v; }
     void setSource(spv::SourceLanguage lang, int version)
     {
         source = lang;
@@ -211,19 +213,17 @@
 
     // For making new constants (will return old constant if the requested one was already made).
     Id makeBoolConstant(bool b, bool specConstant = false);
+    Id makeInt8Constant(int i, bool specConstant = false)         { return makeIntConstant(makeIntType(8),  (unsigned)i, specConstant); }
+    Id makeUint8Constant(unsigned u, bool specConstant = false)   { return makeIntConstant(makeUintType(8),           u, specConstant); }
+    Id makeInt16Constant(int i, bool specConstant = false)         { return makeIntConstant(makeIntType(16),  (unsigned)i, specConstant); }
+    Id makeUint16Constant(unsigned u, bool specConstant = false)   { return makeIntConstant(makeUintType(16),           u, specConstant); }
     Id makeIntConstant(int i, bool specConstant = false)         { return makeIntConstant(makeIntType(32),  (unsigned)i, specConstant); }
     Id makeUintConstant(unsigned u, bool specConstant = false)   { return makeIntConstant(makeUintType(32),           u, specConstant); }
     Id makeInt64Constant(long long i, bool specConstant = false)            { return makeInt64Constant(makeIntType(64),  (unsigned long long)i, specConstant); }
     Id makeUint64Constant(unsigned long long u, bool specConstant = false)  { return makeInt64Constant(makeUintType(64),                     u, specConstant); }
-#ifdef AMD_EXTENSIONS
-    Id makeInt16Constant(short i, bool specConstant = false)        { return makeIntConstant(makeIntType(16),      (unsigned)((unsigned short)i), specConstant); }
-    Id makeUint16Constant(unsigned short u, bool specConstant = false)  { return makeIntConstant(makeUintType(16), (unsigned)u, specConstant); }
-#endif
     Id makeFloatConstant(float f, bool specConstant = false);
     Id makeDoubleConstant(double d, bool specConstant = false);
-#ifdef AMD_EXTENSIONS
     Id makeFloat16Constant(float f16, bool specConstant = false);
-#endif
 
     // Turn the array of constants into a proper spv constant of the requested type.
     Id makeCompositeConstant(Id type, const std::vector<Id>& comps, bool specConst = false);
@@ -330,7 +330,7 @@
     // Generally, the type of 'scalar' does not need to be the same type as the components in 'vector'.
     // The type of the created vector is a vector of components of the same type as the scalar.
     //
-    // Note: One of the arguments will change, with the result coming back that way rather than 
+    // Note: One of the arguments will change, with the result coming back that way rather than
     // through the return value.
     void promoteScalar(Decoration precision, Id& left, Id& right);
 
@@ -585,6 +585,7 @@
     void dumpInstructions(std::vector<unsigned int>&, const std::vector<std::unique_ptr<Instruction> >&) const;
     void dumpModuleProcesses(std::vector<unsigned int>&) const;
 
+    unsigned int targetVersion;
     SourceLanguage source;
     int sourceVersion;
     spv::Id sourceFileStringId;
@@ -611,7 +612,6 @@
     std::vector<std::unique_ptr<Instruction> > entryPoints;
     std::vector<std::unique_ptr<Instruction> > executionModes;
     std::vector<std::unique_ptr<Instruction> > names;
-    std::vector<std::unique_ptr<Instruction> > lines;
     std::vector<std::unique_ptr<Instruction> > decorations;
     std::vector<std::unique_ptr<Instruction> > constantsTypesGlobals;
     std::vector<std::unique_ptr<Instruction> > externals;
diff --git a/SPIRV/disassemble.cpp b/SPIRV/disassemble.cpp
index c950a66..c07dfc7 100644
--- a/SPIRV/disassemble.cpp
+++ b/SPIRV/disassemble.cpp
@@ -54,6 +54,7 @@
 #ifdef AMD_EXTENSIONS
         #include "GLSL.ext.AMD.h"
 #endif
+
 #ifdef NV_EXTENSIONS
         #include "GLSL.ext.NV.h"
 #endif
@@ -80,12 +81,15 @@
 // used to identify the extended instruction library imported when printing
 enum ExtInstSet {
     GLSL450Inst,
+
 #ifdef AMD_EXTENSIONS
     GLSLextAMDInst,
 #endif
+
 #ifdef NV_EXTENSIONS
     GLSLextNVInst,
 #endif
+
     OpenCLExtInst,
 };
 
@@ -653,7 +657,6 @@
 }
 #endif
 
-
 #ifdef NV_EXTENSIONS
 static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
 {
diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp
old mode 100755
new mode 100644
index f9d5254..3343a65
--- a/SPIRV/doc.cpp
+++ b/SPIRV/doc.cpp
@@ -722,7 +722,7 @@
     }
 }
 
-const int GroupOperationCeiling = 3;
+const int GroupOperationCeiling = 4;
 
 const char* GroupOperationString(int gop)
 {
@@ -732,6 +732,7 @@
     case 0:  return "Reduce";
     case 1:  return "InclusiveScan";
     case 2:  return "ExclusiveScan";
+    case 3:  return "ClusteredReduce";
 
     case GroupOperationCeiling:
     default: return "Bad";
@@ -830,6 +831,14 @@
     case 55: return "StorageImageReadWithoutFormat";
     case 56: return "StorageImageWriteWithoutFormat";
     case 57: return "MultiViewport";
+    case 61: return "GroupNonUniform";
+    case 62: return "GroupNonUniformVote";
+    case 63: return "GroupNonUniformArithmetic";
+    case 64: return "GroupNonUniformBallot";
+    case 65: return "GroupNonUniformShuffle";
+    case 66: return "GroupNonUniformShuffleRelative";
+    case 67: return "GroupNonUniformClustered";
+    case 68: return "GroupNonUniformQuad";
 
     case 4423: return "SubgroupBallotKHR";
     case 4427: return "DrawParameters";
@@ -1191,7 +1200,41 @@
     case 318: return "OpAtomicFlagTestAndSet";
     case 319: return "OpAtomicFlagClear";
     case 320: return "OpImageSparseRead";
-
+    case OpModuleProcessed: return "OpModuleProcesses";
+    case 333: return "OpGroupNonUniformElect";
+    case 334: return "OpGroupNonUniformAll";
+    case 335: return "OpGroupNonUniformAny";
+    case 336: return "OpGroupNonUniformAllEqual";
+    case 337: return "OpGroupNonUniformBroadcast";
+    case 338: return "OpGroupNonUniformBroadcastFirst";
+    case 339: return "OpGroupNonUniformBallot";
+    case 340: return "OpGroupNonUniformInverseBallot";
+    case 341: return "OpGroupNonUniformBallotBitExtract";
+    case 342: return "OpGroupNonUniformBallotBitCount";
+    case 343: return "OpGroupNonUniformBallotFindLSB";
+    case 344: return "OpGroupNonUniformBallotFindMSB";
+    case 345: return "OpGroupNonUniformShuffle";
+    case 346: return "OpGroupNonUniformShuffleXor";
+    case 347: return "OpGroupNonUniformShuffleUp";
+    case 348: return "OpGroupNonUniformShuffleDown";
+    case 349: return "OpGroupNonUniformIAdd";
+    case 350: return "OpGroupNonUniformFAdd";
+    case 351: return "OpGroupNonUniformIMul";
+    case 352: return "OpGroupNonUniformFMul";
+    case 353: return "OpGroupNonUniformSMin";
+    case 354: return "OpGroupNonUniformUMin";
+    case 355: return "OpGroupNonUniformFMin";
+    case 356: return "OpGroupNonUniformSMax";
+    case 357: return "OpGroupNonUniformUMax";
+    case 358: return "OpGroupNonUniformFMax";
+    case 359: return "OpGroupNonUniformBitwiseAnd";
+    case 360: return "OpGroupNonUniformBitwiseOr";
+    case 361: return "OpGroupNonUniformBitwiseXor";
+    case 362: return "OpGroupNonUniformLogicalAnd";
+    case 363: return "OpGroupNonUniformLogicalOr";
+    case 364: return "OpGroupNonUniformLogicalXor";
+    case 365: return "OpGroupNonUniformQuadBroadcast";
+    case 366: return "OpGroupNonUniformQuadSwap";
     case 4421: return "OpSubgroupBallotKHR";
     case 4422: return "OpSubgroupFirstInvocationKHR";
     case 4428: return "OpSubgroupAllKHR";
@@ -1343,6 +1386,7 @@
     InstructionDesc[OpReleaseEvent].setResultAndType(false, false);
     InstructionDesc[OpGroupWaitEvents].setResultAndType(false, false);
     InstructionDesc[OpAtomicFlagClear].setResultAndType(false, false);
+    InstructionDesc[OpModuleProcessed].setResultAndType(false, false);
 
     // Specific additional context-dependent operands
 
@@ -2813,6 +2857,182 @@
     InstructionDesc[OpEnqueueMarker].operands.push(OperandId, "'Wait Events'");
     InstructionDesc[OpEnqueueMarker].operands.push(OperandId, "'Ret Event'");
 
+    InstructionDesc[OpGroupNonUniformElect].capabilities.push_back(CapabilityGroupNonUniform);
+    InstructionDesc[OpGroupNonUniformElect].operands.push(OperandScope, "'Execution'");
+
+    InstructionDesc[OpGroupNonUniformAll].capabilities.push_back(CapabilityGroupNonUniformVote);
+    InstructionDesc[OpGroupNonUniformAll].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformAll].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformAny].capabilities.push_back(CapabilityGroupNonUniformVote);
+    InstructionDesc[OpGroupNonUniformAny].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformAny].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformAllEqual].capabilities.push_back(CapabilityGroupNonUniformVote);
+    InstructionDesc[OpGroupNonUniformAllEqual].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformAllEqual].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBroadcast].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBroadcast].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBroadcast].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBroadcast].operands.push(OperandId, "ID");
+
+    InstructionDesc[OpGroupNonUniformBroadcastFirst].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBroadcastFirst].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBroadcastFirst].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBallot].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallot].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallot].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformInverseBallot].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformInverseBallot].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformInverseBallot].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBallotBitExtract].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallotBitExtract].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallotBitExtract].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBallotBitExtract].operands.push(OperandId, "Bit");
+
+    InstructionDesc[OpGroupNonUniformBallotBitCount].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallotBitCount].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallotBitCount].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformBallotBitCount].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBallotFindLSB].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallotFindLSB].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallotFindLSB].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformBallotFindMSB].capabilities.push_back(CapabilityGroupNonUniformBallot);
+    InstructionDesc[OpGroupNonUniformBallotFindMSB].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBallotFindMSB].operands.push(OperandId, "X");
+
+    InstructionDesc[OpGroupNonUniformShuffle].capabilities.push_back(CapabilityGroupNonUniformShuffle);
+    InstructionDesc[OpGroupNonUniformShuffle].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformShuffle].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformShuffle].operands.push(OperandId, "'Id'");
+
+    InstructionDesc[OpGroupNonUniformShuffleXor].capabilities.push_back(CapabilityGroupNonUniformShuffle);
+    InstructionDesc[OpGroupNonUniformShuffleXor].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformShuffleXor].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformShuffleXor].operands.push(OperandId, "Mask");
+
+    InstructionDesc[OpGroupNonUniformShuffleUp].capabilities.push_back(CapabilityGroupNonUniformShuffleRelative);
+    InstructionDesc[OpGroupNonUniformShuffleUp].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformShuffleUp].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformShuffleUp].operands.push(OperandId, "Offset");
+
+    InstructionDesc[OpGroupNonUniformShuffleDown].capabilities.push_back(CapabilityGroupNonUniformShuffleRelative);
+    InstructionDesc[OpGroupNonUniformShuffleDown].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformShuffleDown].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformShuffleDown].operands.push(OperandId, "Offset");
+
+    InstructionDesc[OpGroupNonUniformIAdd].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformIAdd].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformIAdd].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformIAdd].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformIAdd].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformFAdd].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformFAdd].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformFAdd].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformFAdd].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformFAdd].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformIMul].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformIMul].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformIMul].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformIMul].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformIMul].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformFMul].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformFMul].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformFMul].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformFMul].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformFMul].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformSMin].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformSMin].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformSMin].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformSMin].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformSMin].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformUMin].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformUMin].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformUMin].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformUMin].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformUMin].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformFMin].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformFMin].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformFMin].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformFMin].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformFMin].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformSMax].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformSMax].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformSMax].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformSMax].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformSMax].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformUMax].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformUMax].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformUMax].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformUMax].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformUMax].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformFMax].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformFMax].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformFMax].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformFMax].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformFMax].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBitwiseAnd].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformBitwiseOr].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformBitwiseOr].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBitwiseOr].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformBitwiseOr].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBitwiseOr].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformBitwiseXor].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformBitwiseXor].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformBitwiseXor].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformBitwiseXor].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformBitwiseXor].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformLogicalAnd].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformLogicalAnd].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformLogicalAnd].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformLogicalAnd].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformLogicalAnd].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformLogicalOr].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformLogicalOr].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformLogicalOr].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformLogicalOr].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformLogicalOr].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformLogicalXor].capabilities.push_back(CapabilityGroupNonUniformArithmetic);
+    InstructionDesc[OpGroupNonUniformLogicalXor].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformLogicalXor].operands.push(OperandGroupOperation, "'Operation'");
+    InstructionDesc[OpGroupNonUniformLogicalXor].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformLogicalXor].operands.push(OperandId, "'ClusterSize'", true);
+
+    InstructionDesc[OpGroupNonUniformQuadBroadcast].capabilities.push_back(CapabilityGroupNonUniformQuad);
+    InstructionDesc[OpGroupNonUniformQuadBroadcast].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformQuadBroadcast].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformQuadBroadcast].operands.push(OperandId, "'Id'");
+
+    InstructionDesc[OpGroupNonUniformQuadSwap].capabilities.push_back(CapabilityGroupNonUniformQuad);
+    InstructionDesc[OpGroupNonUniformQuadSwap].operands.push(OperandScope, "'Execution'");
+    InstructionDesc[OpGroupNonUniformQuadSwap].operands.push(OperandId, "X");
+    InstructionDesc[OpGroupNonUniformQuadSwap].operands.push(OperandLiteralNumber, "'Direction'");
+    
     InstructionDesc[OpSubgroupBallotKHR].operands.push(OperandId, "'Predicate'");
 
     InstructionDesc[OpSubgroupFirstInvocationKHR].operands.push(OperandId, "'Value'");
@@ -2833,6 +3053,8 @@
     InstructionDesc[OpSubgroupReadInvocationKHR].operands.push(OperandId, "'Value'");
     InstructionDesc[OpSubgroupReadInvocationKHR].operands.push(OperandId, "'Index'");
 
+    InstructionDesc[OpModuleProcessed].operands.push(OperandLiteralString, "'process'");
+
 #ifdef AMD_EXTENSIONS
     InstructionDesc[OpGroupIAddNonUniformAMD].capabilities.push_back(CapabilityGroups);
     InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandScope, "'Execution'");
diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp
index 8bddf7e..d528dea 100755
--- a/SPIRV/spirv.hpp
+++ b/SPIRV/spirv.hpp
@@ -46,12 +46,12 @@
 
 typedef unsigned int Id;
 
-#define SPV_VERSION 0x10000
-#define SPV_REVISION 12
+#define SPV_VERSION 0x10300
+#define SPV_REVISION 1
 
 static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010000;
-static const unsigned int Revision = 12;
+static const unsigned int Version = 0x00010300;
+static const unsigned int Revision = 1;
 static const unsigned int OpCodeMask = 0xffff;
 static const unsigned int WordCountShift = 16;
 
@@ -122,7 +122,15 @@
     ExecutionModeOutputTriangleStrip = 29,
     ExecutionModeVecTypeHint = 30,
     ExecutionModeContractionOff = 31,
+    ExecutionModeInitializer = 33,
+    ExecutionModeFinalizer = 34,
+    ExecutionModeSubgroupSize = 35,
+    ExecutionModeSubgroupsPerWorkgroup = 36,
+    ExecutionModeSubgroupsPerWorkgroupId = 37,
+    ExecutionModeLocalSizeId = 38,
+    ExecutionModeLocalSizeHintId = 39,
     ExecutionModePostDepthCoverage = 4446,
+    ExecutionModeStencilRefReplacingEXT = 5027,
     ExecutionModeMax = 0x7fffffff,
 };
 
@@ -377,6 +385,9 @@
     DecorationNoContraction = 42,
     DecorationInputAttachmentIndex = 43,
     DecorationAlignment = 44,
+    DecorationMaxByteOffset = 45,
+    DecorationAlignmentId = 46,
+    DecorationMaxByteOffsetId = 47,
     DecorationExplicitInterpAMD = 4999,
     DecorationOverrideCoverageNV = 5248,
     DecorationPassthroughNV = 5250,
@@ -427,10 +438,15 @@
     BuiltInSubgroupLocalInvocationId = 41,
     BuiltInVertexIndex = 42,
     BuiltInInstanceIndex = 43,
+    BuiltInSubgroupEqMask = 4416,
     BuiltInSubgroupEqMaskKHR = 4416,
+    BuiltInSubgroupGeMask = 4417,
     BuiltInSubgroupGeMaskKHR = 4417,
+    BuiltInSubgroupGtMask = 4418,
     BuiltInSubgroupGtMaskKHR = 4418,
+    BuiltInSubgroupLeMask = 4419,
     BuiltInSubgroupLeMaskKHR = 4419,
+    BuiltInSubgroupLtMask = 4420,
     BuiltInSubgroupLtMaskKHR = 4420,
     BuiltInBaseVertex = 4424,
     BuiltInBaseInstance = 4425,
@@ -468,6 +484,8 @@
 enum LoopControlShift {
     LoopControlUnrollShift = 0,
     LoopControlDontUnrollShift = 1,
+    LoopControlDependencyInfiniteShift = 2,
+    LoopControlDependencyLengthShift = 3,
     LoopControlMax = 0x7fffffff,
 };
 
@@ -475,6 +493,8 @@
     LoopControlMaskNone = 0,
     LoopControlUnrollMask = 0x00000001,
     LoopControlDontUnrollMask = 0x00000002,
+    LoopControlDependencyInfiniteMask = 0x00000004,
+    LoopControlDependencyLengthMask = 0x00000008,
 };
 
 enum FunctionControlShift {
@@ -548,6 +568,7 @@
     GroupOperationReduce = 0,
     GroupOperationInclusiveScan = 1,
     GroupOperationExclusiveScan = 2,
+    GroupOperationClusteredReduce = 3,
     GroupOperationMax = 0x7fffffff,
 };
 
@@ -625,6 +646,17 @@
     CapabilityStorageImageReadWithoutFormat = 55,
     CapabilityStorageImageWriteWithoutFormat = 56,
     CapabilityMultiViewport = 57,
+    CapabilitySubgroupDispatch = 58,
+    CapabilityNamedBarrier = 59,
+    CapabilityPipeStorage = 60,
+    CapabilityGroupNonUniform = 61,
+    CapabilityGroupNonUniformVote = 62,
+    CapabilityGroupNonUniformArithmetic = 63,
+    CapabilityGroupNonUniformBallot = 64,
+    CapabilityGroupNonUniformShuffle = 65,
+    CapabilityGroupNonUniformShuffleRelative = 66,
+    CapabilityGroupNonUniformClustered = 67,
+    CapabilityGroupNonUniformQuad = 68,
     CapabilitySubgroupBallotKHR = 4423,
     CapabilityDrawParameters = 4427,
     CapabilitySubgroupVoteKHR = 4431,
@@ -641,7 +673,9 @@
     CapabilityAtomicStorageOps = 4445,
     CapabilitySampleMaskPostDepthCoverage = 4447,
     CapabilityImageGatherBiasLodAMD = 5009,
+    CapabilityFragmentMaskAMD = 5010,
     CapabilityStencilExportEXT = 5013,
+    CapabilityImageReadWriteLodAMD = 5015,
     CapabilitySampleMaskOverrideCoverageNV = 5249,
     CapabilityGeometryShaderPassthroughNV = 5251,
     CapabilityShaderViewportIndexLayerEXT = 5254,
@@ -947,6 +981,52 @@
     OpAtomicFlagTestAndSet = 318,
     OpAtomicFlagClear = 319,
     OpImageSparseRead = 320,
+    OpSizeOf = 321,
+    OpTypePipeStorage = 322,
+    OpConstantPipeStorage = 323,
+    OpCreatePipeFromPipeStorage = 324,
+    OpGetKernelLocalSizeForSubgroupCount = 325,
+    OpGetKernelMaxNumSubgroups = 326,
+    OpTypeNamedBarrier = 327,
+    OpNamedBarrierInitialize = 328,
+    OpMemoryNamedBarrier = 329,
+    OpModuleProcessed = 330,
+    OpExecutionModeId = 331,
+    OpDecorateId = 332,
+    OpGroupNonUniformElect = 333,
+    OpGroupNonUniformAll = 334,
+    OpGroupNonUniformAny = 335,
+    OpGroupNonUniformAllEqual = 336,
+    OpGroupNonUniformBroadcast = 337,
+    OpGroupNonUniformBroadcastFirst = 338,
+    OpGroupNonUniformBallot = 339,
+    OpGroupNonUniformInverseBallot = 340,
+    OpGroupNonUniformBallotBitExtract = 341,
+    OpGroupNonUniformBallotBitCount = 342,
+    OpGroupNonUniformBallotFindLSB = 343,
+    OpGroupNonUniformBallotFindMSB = 344,
+    OpGroupNonUniformShuffle = 345,
+    OpGroupNonUniformShuffleXor = 346,
+    OpGroupNonUniformShuffleUp = 347,
+    OpGroupNonUniformShuffleDown = 348,
+    OpGroupNonUniformIAdd = 349,
+    OpGroupNonUniformFAdd = 350,
+    OpGroupNonUniformIMul = 351,
+    OpGroupNonUniformFMul = 352,
+    OpGroupNonUniformSMin = 353,
+    OpGroupNonUniformUMin = 354,
+    OpGroupNonUniformFMin = 355,
+    OpGroupNonUniformSMax = 356,
+    OpGroupNonUniformUMax = 357,
+    OpGroupNonUniformFMax = 358,
+    OpGroupNonUniformBitwiseAnd = 359,
+    OpGroupNonUniformBitwiseOr = 360,
+    OpGroupNonUniformBitwiseXor = 361,
+    OpGroupNonUniformLogicalAnd = 362,
+    OpGroupNonUniformLogicalOr = 363,
+    OpGroupNonUniformLogicalXor = 364,
+    OpGroupNonUniformQuadBroadcast = 365,
+    OpGroupNonUniformQuadSwap = 366,
     OpSubgroupBallotKHR = 4421,
     OpSubgroupFirstInvocationKHR = 4422,
     OpSubgroupAllKHR = 4428,
@@ -961,6 +1041,8 @@
     OpGroupFMaxNonUniformAMD = 5005,
     OpGroupUMaxNonUniformAMD = 5006,
     OpGroupSMaxNonUniformAMD = 5007,
+    OpFragmentMaskFetchAMD = 5011,
+    OpFragmentFetchAMD = 5012,
     OpMax = 0x7fffffff,
 };
 
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index 1313c87..771ddeb 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -154,7 +154,7 @@
 int ClientInputSemanticsVersion = 100;   // maps to, say, #define VULKAN 100
 int VulkanClientVersion = 100;           // would map to, say, Vulkan 1.0
 int OpenGLClientVersion = 450;           // doesn't influence anything yet, but maps to OpenGL 4.50
-unsigned int TargetVersion = 0x00001000; // maps to, say, SPIR-V 1.0
+unsigned int TargetVersion = 0x00010000; // maps to, say, SPIR-V 1.0
 std::vector<std::string> Processes;      // what should be recorded by OpModuleProcessed, or equivalent
 
 std::array<unsigned int, EShLangCount> baseSamplerBinding;
@@ -482,6 +482,10 @@
                             if (strcmp(argv[1], "vulkan1.0") == 0) {
                                 setVulkanSpv();
                                 VulkanClientVersion = 100;
+                            } else if (strcmp(argv[1], "vulkan1.1") == 0) {
+                                setVulkanSpv();
+                                TargetVersion = 0x00010300;
+                                VulkanClientVersion = 110;
                             } else if (strcmp(argv[1], "opengl") == 0) {
                                 setOpenGlSpv();
                                 OpenGLClientVersion = 450;
@@ -1294,8 +1298,9 @@
            "                                       using -S.\n"
            "  --suppress-warnings                  suppress GLSL warnings\n"
            "                                       (except as required by #extension : warn)\n"
-           "  --target-env {vulkan1.0|opengl}      set the execution environment code will\n"
-           "                                       execute in (as opposed to language\n"
+           "  --target-env {vulkan1.0 | vulkan1.1 | opengl} \n"
+           "                                       set execution environment that emitted code\n"
+           "                                       will execute in (as opposed to the language\n"
            "                                       semantics selected by --client) defaults:\n"
            "                                        'vulkan1.0' under '--client vulkan<ver>'\n"
            "                                        'opengl' under '--client opengl<ver>'\n"
diff --git a/Test/baseResults/findFunction.frag.out b/Test/baseResults/findFunction.frag.out
new file mode 100644
index 0000000..ec4f3e4
--- /dev/null
+++ b/Test/baseResults/findFunction.frag.out
@@ -0,0 +1,233 @@
+findFunction.frag
+ERROR: 0:39: 'func' : ambiguous best function under implicit type conversion 
+ERROR: 0:40: 'func' : no matching overloaded function found 
+ERROR: 0:40: '=' :  cannot convert from ' const float' to ' temp int64_t'
+ERROR: 0:41: 'func' : no matching overloaded function found 
+ERROR: 0:41: '=' :  cannot convert from ' const float' to ' temp int64_t'
+ERROR: 0:44: 'func' : no matching overloaded function found 
+ERROR: 0:44: '=' :  cannot convert from ' const float' to ' temp int64_t'
+ERROR: 0:45: 'func' : ambiguous best function under implicit type conversion 
+ERROR: 8 compilation errors.  No code generated.
+
+
+Shader version: 450
+Requested GL_KHX_shader_explicit_arithmetic_types
+ERROR: node is still EOpNull!
+0:5  Function Definition: func(i81;i161;i161; ( global int64_t)
+0:5    Function Parameters: 
+0:5      'a' ( in int8_t)
+0:5      'b' ( in int16_t)
+0:5      'c' ( in int16_t)
+0:7    Sequence
+0:7      Branch: Return with expression
+0:7        Convert int16_t to int64 ( temp int64_t)
+0:7          inclusive-or ( temp int16_t)
+0:7            Convert int8_t to int16_t ( temp int16_t)
+0:7              'a' ( in int8_t)
+0:7            add ( temp int16_t)
+0:7              'b' ( in int16_t)
+0:7              'c' ( in int16_t)
+0:10  Function Definition: func(i81;i161;i1; ( global int64_t)
+0:10    Function Parameters: 
+0:10      'a' ( in int8_t)
+0:10      'b' ( in int16_t)
+0:10      'c' ( in int)
+0:12    Sequence
+0:12      Branch: Return with expression
+0:12        Convert int to int64 ( temp int64_t)
+0:12          inclusive-or ( temp int)
+0:12            Convert int8_t to int ( temp int)
+0:12              'a' ( in int8_t)
+0:12            subtract ( temp int)
+0:12              Convert int16_t to int ( temp int)
+0:12                'b' ( in int16_t)
+0:12              'c' ( in int)
+0:15  Function Definition: func(i1;i1;i1; ( global int64_t)
+0:15    Function Parameters: 
+0:15      'a' ( in int)
+0:15      'b' ( in int)
+0:15      'c' ( in int)
+0:17    Sequence
+0:17      Branch: Return with expression
+0:17        Convert int to int64 ( temp int64_t)
+0:17          add ( temp int)
+0:17            divide ( temp int)
+0:17              'a' ( in int)
+0:17              'b' ( in int)
+0:17            'c' ( in int)
+0:20  Function Definition: func(f161;f161;f1; ( global int64_t)
+0:20    Function Parameters: 
+0:20      'a' ( in float16_t)
+0:20      'b' ( in float16_t)
+0:20      'c' ( in float)
+0:22    Sequence
+0:22      Branch: Return with expression
+0:22        Convert float to int64 ( temp int64_t)
+0:22          subtract ( temp float)
+0:22            Convert float16_t to float ( temp float)
+0:22              'a' ( in float16_t)
+0:22            component-wise multiply ( temp float)
+0:22              Convert float16_t to float ( temp float)
+0:22                'b' ( in float16_t)
+0:22              'c' ( in float)
+0:25  Function Definition: func(f161;i161;f1; ( global int64_t)
+0:25    Function Parameters: 
+0:25      'a' ( in float16_t)
+0:25      'b' ( in int16_t)
+0:25      'c' ( in float)
+0:27    Sequence
+0:27      Branch: Return with expression
+0:27        Convert float to int64 ( temp int64_t)
+0:27          subtract ( temp float)
+0:27            Convert float16_t to float ( temp float)
+0:27              'a' ( in float16_t)
+0:27            component-wise multiply ( temp float)
+0:27              Convert int16_t to float ( temp float)
+0:27                'b' ( in int16_t)
+0:27              'c' ( in float)
+0:30  Function Definition: main( ( global void)
+0:30    Function Parameters: 
+0:?     Sequence
+0:38      Sequence
+0:38        move second child to first child ( temp int64_t)
+0:38          'b1' ( temp int64_t)
+0:38          Function Call: func(i81;i161;i1; ( global int64_t)
+0:38            'x' ( temp int8_t)
+0:38            'y' ( temp int16_t)
+0:38            'z' ( temp int)
+0:39      Sequence
+0:39        move second child to first child ( temp int64_t)
+0:39          'b2' ( temp int64_t)
+0:39          Function Call: func(f161;i161;f1; ( global int64_t)
+0:39            Convert int16_t to float16_t ( temp float16_t)
+0:39              'y' ( temp int16_t)
+0:39            'y' ( temp int16_t)
+0:39            Convert int to float ( temp float)
+0:39              'z' ( temp int)
+0:42      Sequence
+0:42        move second child to first child ( temp int64_t)
+0:42          'b5' ( temp int64_t)
+0:42          Function Call: func(f161;i161;f1; ( global int64_t)
+0:42            Convert int16_t to float16_t ( temp float16_t)
+0:42              'y' ( temp int16_t)
+0:42            'y' ( temp int16_t)
+0:42            Convert float16_t to float ( temp float)
+0:42              'f16' ( temp float16_t)
+0:43      Sequence
+0:43        move second child to first child ( temp int64_t)
+0:43          'b7' ( temp int64_t)
+0:43          Function Call: func(f161;f161;f1; ( global int64_t)
+0:43            'f16' ( temp float16_t)
+0:43            'f16' ( temp float16_t)
+0:43            Convert int16_t to float ( temp float)
+0:43              'y' ( temp int16_t)
+0:45      Sequence
+0:45        move second child to first child ( temp int64_t)
+0:45          'b9' ( temp int64_t)
+0:45          Function Call: func(f161;f161;f1; ( global int64_t)
+0:45            'f16' ( temp float16_t)
+0:45            Convert int8_t to float16_t ( temp float16_t)
+0:45              'x' ( temp int8_t)
+0:45            Convert float16_t to float ( temp float)
+0:45              'f16' ( temp float16_t)
+0:?   Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+Requested GL_KHX_shader_explicit_arithmetic_types
+ERROR: node is still EOpNull!
+0:10  Function Definition: func(i81;i161;i1; ( global int64_t)
+0:10    Function Parameters: 
+0:10      'a' ( in int8_t)
+0:10      'b' ( in int16_t)
+0:10      'c' ( in int)
+0:12    Sequence
+0:12      Branch: Return with expression
+0:12        Convert int to int64 ( temp int64_t)
+0:12          inclusive-or ( temp int)
+0:12            Convert int8_t to int ( temp int)
+0:12              'a' ( in int8_t)
+0:12            subtract ( temp int)
+0:12              Convert int16_t to int ( temp int)
+0:12                'b' ( in int16_t)
+0:12              'c' ( in int)
+0:20  Function Definition: func(f161;f161;f1; ( global int64_t)
+0:20    Function Parameters: 
+0:20      'a' ( in float16_t)
+0:20      'b' ( in float16_t)
+0:20      'c' ( in float)
+0:22    Sequence
+0:22      Branch: Return with expression
+0:22        Convert float to int64 ( temp int64_t)
+0:22          subtract ( temp float)
+0:22            Convert float16_t to float ( temp float)
+0:22              'a' ( in float16_t)
+0:22            component-wise multiply ( temp float)
+0:22              Convert float16_t to float ( temp float)
+0:22                'b' ( in float16_t)
+0:22              'c' ( in float)
+0:25  Function Definition: func(f161;i161;f1; ( global int64_t)
+0:25    Function Parameters: 
+0:25      'a' ( in float16_t)
+0:25      'b' ( in int16_t)
+0:25      'c' ( in float)
+0:27    Sequence
+0:27      Branch: Return with expression
+0:27        Convert float to int64 ( temp int64_t)
+0:27          subtract ( temp float)
+0:27            Convert float16_t to float ( temp float)
+0:27              'a' ( in float16_t)
+0:27            component-wise multiply ( temp float)
+0:27              Convert int16_t to float ( temp float)
+0:27                'b' ( in int16_t)
+0:27              'c' ( in float)
+0:30  Function Definition: main( ( global void)
+0:30    Function Parameters: 
+0:?     Sequence
+0:38      Sequence
+0:38        move second child to first child ( temp int64_t)
+0:38          'b1' ( temp int64_t)
+0:38          Function Call: func(i81;i161;i1; ( global int64_t)
+0:38            'x' ( temp int8_t)
+0:38            'y' ( temp int16_t)
+0:38            'z' ( temp int)
+0:39      Sequence
+0:39        move second child to first child ( temp int64_t)
+0:39          'b2' ( temp int64_t)
+0:39          Function Call: func(f161;i161;f1; ( global int64_t)
+0:39            Convert int16_t to float16_t ( temp float16_t)
+0:39              'y' ( temp int16_t)
+0:39            'y' ( temp int16_t)
+0:39            Convert int to float ( temp float)
+0:39              'z' ( temp int)
+0:42      Sequence
+0:42        move second child to first child ( temp int64_t)
+0:42          'b5' ( temp int64_t)
+0:42          Function Call: func(f161;i161;f1; ( global int64_t)
+0:42            Convert int16_t to float16_t ( temp float16_t)
+0:42              'y' ( temp int16_t)
+0:42            'y' ( temp int16_t)
+0:42            Convert float16_t to float ( temp float)
+0:42              'f16' ( temp float16_t)
+0:43      Sequence
+0:43        move second child to first child ( temp int64_t)
+0:43          'b7' ( temp int64_t)
+0:43          Function Call: func(f161;f161;f1; ( global int64_t)
+0:43            'f16' ( temp float16_t)
+0:43            'f16' ( temp float16_t)
+0:43            Convert int16_t to float ( temp float)
+0:43              'y' ( temp int16_t)
+0:45      Sequence
+0:45        move second child to first child ( temp int64_t)
+0:45          'b9' ( temp int64_t)
+0:45          Function Call: func(f161;f161;f1; ( global int64_t)
+0:45            'f16' ( temp float16_t)
+0:45            Convert int8_t to float16_t ( temp float16_t)
+0:45              'x' ( temp int8_t)
+0:45            Convert float16_t to float ( temp float)
+0:45              'f16' ( temp float16_t)
+0:?   Linker Objects
+
diff --git a/Test/baseResults/hlsl.wavebroadcast.comp.out b/Test/baseResults/hlsl.wavebroadcast.comp.out
new file mode 100644
index 0000000..45bca74
--- /dev/null
+++ b/Test/baseResults/hlsl.wavebroadcast.comp.out
@@ -0,0 +1,2731 @@
+hlsl.wavebroadcast.comp
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:13  Function Definition: @CSMain(vu3; ( temp void)
+0:13    Function Parameters: 
+0:13      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:14      move second child to first child ( temp 4-component vector of uint)
+0:14        u: direct index for structure ( temp 4-component vector of uint)
+0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14              Constant:
+0:14                0 (const uint)
+0:14            direct index ( temp uint)
+0:14              'dti' ( in 3-component vector of uint)
+0:14              Constant:
+0:14                0 (const int)
+0:14          Constant:
+0:14            0 (const int)
+0:14        subgroupShuffle ( temp 4-component vector of uint)
+0:14          u: direct index for structure ( temp 4-component vector of uint)
+0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14                Constant:
+0:14                  0 (const uint)
+0:14              direct index ( temp uint)
+0:14                'dti' ( in 3-component vector of uint)
+0:14                Constant:
+0:14                  0 (const int)
+0:14            Constant:
+0:14              0 (const int)
+0:14          Constant:
+0:14            13 (const uint)
+0:15      move second child to first child ( temp uint)
+0:15        direct index ( temp uint)
+0:15          u: direct index for structure ( temp 4-component vector of uint)
+0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                Constant:
+0:15                  0 (const uint)
+0:15              direct index ( temp uint)
+0:15                'dti' ( in 3-component vector of uint)
+0:15                Constant:
+0:15                  0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const int)
+0:15        subgroupShuffle ( temp uint)
+0:15          direct index ( temp uint)
+0:15            u: direct index for structure ( temp 4-component vector of uint)
+0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                  Constant:
+0:15                    0 (const uint)
+0:15                direct index ( temp uint)
+0:15                  'dti' ( in 3-component vector of uint)
+0:15                  Constant:
+0:15                    0 (const int)
+0:15              Constant:
+0:15                0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            13 (const uint)
+0:16      move second child to first child ( temp 2-component vector of uint)
+0:16        vector swizzle ( temp 2-component vector of uint)
+0:16          u: direct index for structure ( temp 4-component vector of uint)
+0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                Constant:
+0:16                  0 (const uint)
+0:16              direct index ( temp uint)
+0:16                'dti' ( in 3-component vector of uint)
+0:16                Constant:
+0:16                  0 (const int)
+0:16            Constant:
+0:16              0 (const int)
+0:16          Sequence
+0:16            Constant:
+0:16              0 (const int)
+0:16            Constant:
+0:16              1 (const int)
+0:16        subgroupShuffle ( temp 2-component vector of uint)
+0:16          vector swizzle ( temp 2-component vector of uint)
+0:16            u: direct index for structure ( temp 4-component vector of uint)
+0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                  Constant:
+0:16                    0 (const uint)
+0:16                direct index ( temp uint)
+0:16                  'dti' ( in 3-component vector of uint)
+0:16                  Constant:
+0:16                    0 (const int)
+0:16              Constant:
+0:16                0 (const int)
+0:16            Sequence
+0:16              Constant:
+0:16                0 (const int)
+0:16              Constant:
+0:16                1 (const int)
+0:16          Constant:
+0:16            13 (const uint)
+0:17      move second child to first child ( temp 3-component vector of uint)
+0:17        vector swizzle ( temp 3-component vector of uint)
+0:17          u: direct index for structure ( temp 4-component vector of uint)
+0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                Constant:
+0:17                  0 (const uint)
+0:17              direct index ( temp uint)
+0:17                'dti' ( in 3-component vector of uint)
+0:17                Constant:
+0:17                  0 (const int)
+0:17            Constant:
+0:17              0 (const int)
+0:17          Sequence
+0:17            Constant:
+0:17              0 (const int)
+0:17            Constant:
+0:17              1 (const int)
+0:17            Constant:
+0:17              2 (const int)
+0:17        subgroupShuffle ( temp 3-component vector of uint)
+0:17          vector swizzle ( temp 3-component vector of uint)
+0:17            u: direct index for structure ( temp 4-component vector of uint)
+0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                  Constant:
+0:17                    0 (const uint)
+0:17                direct index ( temp uint)
+0:17                  'dti' ( in 3-component vector of uint)
+0:17                  Constant:
+0:17                    0 (const int)
+0:17              Constant:
+0:17                0 (const int)
+0:17            Sequence
+0:17              Constant:
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:17              Constant:
+0:17                2 (const int)
+0:17          Constant:
+0:17            13 (const uint)
+0:19      move second child to first child ( temp 4-component vector of int)
+0:19        i: direct index for structure ( temp 4-component vector of int)
+0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            direct index ( temp uint)
+0:19              'dti' ( in 3-component vector of uint)
+0:19              Constant:
+0:19                0 (const int)
+0:19          Constant:
+0:19            1 (const int)
+0:19        subgroupShuffle ( temp 4-component vector of int)
+0:19          i: direct index for structure ( temp 4-component vector of int)
+0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19                Constant:
+0:19                  0 (const uint)
+0:19              direct index ( temp uint)
+0:19                'dti' ( in 3-component vector of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19          Constant:
+0:19            13 (const uint)
+0:20      move second child to first child ( temp int)
+0:20        direct index ( temp int)
+0:20          i: direct index for structure ( temp 4-component vector of int)
+0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                Constant:
+0:20                  0 (const uint)
+0:20              direct index ( temp uint)
+0:20                'dti' ( in 3-component vector of uint)
+0:20                Constant:
+0:20                  0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        subgroupShuffle ( temp int)
+0:20          direct index ( temp int)
+0:20            i: direct index for structure ( temp 4-component vector of int)
+0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                  Constant:
+0:20                    0 (const uint)
+0:20                direct index ( temp uint)
+0:20                  'dti' ( in 3-component vector of uint)
+0:20                  Constant:
+0:20                    0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Constant:
+0:20            13 (const uint)
+0:21      move second child to first child ( temp 2-component vector of int)
+0:21        vector swizzle ( temp 2-component vector of int)
+0:21          i: direct index for structure ( temp 4-component vector of int)
+0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                Constant:
+0:21                  0 (const uint)
+0:21              direct index ( temp uint)
+0:21                'dti' ( in 3-component vector of uint)
+0:21                Constant:
+0:21                  0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupShuffle ( temp 2-component vector of int)
+0:21          vector swizzle ( temp 2-component vector of int)
+0:21            i: direct index for structure ( temp 4-component vector of int)
+0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                  Constant:
+0:21                    0 (const uint)
+0:21                direct index ( temp uint)
+0:21                  'dti' ( in 3-component vector of uint)
+0:21                  Constant:
+0:21                    0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21          Constant:
+0:21            13 (const uint)
+0:22      move second child to first child ( temp 3-component vector of int)
+0:22        vector swizzle ( temp 3-component vector of int)
+0:22          i: direct index for structure ( temp 4-component vector of int)
+0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                Constant:
+0:22                  0 (const uint)
+0:22              direct index ( temp uint)
+0:22                'dti' ( in 3-component vector of uint)
+0:22                Constant:
+0:22                  0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22            Constant:
+0:22              2 (const int)
+0:22        subgroupShuffle ( temp 3-component vector of int)
+0:22          vector swizzle ( temp 3-component vector of int)
+0:22            i: direct index for structure ( temp 4-component vector of int)
+0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                  Constant:
+0:22                    0 (const uint)
+0:22                direct index ( temp uint)
+0:22                  'dti' ( in 3-component vector of uint)
+0:22                  Constant:
+0:22                    0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:22          Constant:
+0:22            13 (const uint)
+0:24      move second child to first child ( temp 4-component vector of float)
+0:24        f: direct index for structure ( temp 4-component vector of float)
+0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24              Constant:
+0:24                0 (const uint)
+0:24            direct index ( temp uint)
+0:24              'dti' ( in 3-component vector of uint)
+0:24              Constant:
+0:24                0 (const int)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupShuffle ( temp 4-component vector of float)
+0:24          f: direct index for structure ( temp 4-component vector of float)
+0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24                Constant:
+0:24                  0 (const uint)
+0:24              direct index ( temp uint)
+0:24                'dti' ( in 3-component vector of uint)
+0:24                Constant:
+0:24                  0 (const int)
+0:24            Constant:
+0:24              2 (const int)
+0:24          Constant:
+0:24            13 (const uint)
+0:25      move second child to first child ( temp float)
+0:25        direct index ( temp float)
+0:25          f: direct index for structure ( temp 4-component vector of float)
+0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                Constant:
+0:25                  0 (const uint)
+0:25              direct index ( temp uint)
+0:25                'dti' ( in 3-component vector of uint)
+0:25                Constant:
+0:25                  0 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25          Constant:
+0:25            0 (const int)
+0:25        subgroupShuffle ( temp float)
+0:25          direct index ( temp float)
+0:25            f: direct index for structure ( temp 4-component vector of float)
+0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                  Constant:
+0:25                    0 (const uint)
+0:25                direct index ( temp uint)
+0:25                  'dti' ( in 3-component vector of uint)
+0:25                  Constant:
+0:25                    0 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:25          Constant:
+0:25            13 (const uint)
+0:26      move second child to first child ( temp 2-component vector of float)
+0:26        vector swizzle ( temp 2-component vector of float)
+0:26          f: direct index for structure ( temp 4-component vector of float)
+0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26              direct index ( temp uint)
+0:26                'dti' ( in 3-component vector of uint)
+0:26                Constant:
+0:26                  0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupShuffle ( temp 2-component vector of float)
+0:26          vector swizzle ( temp 2-component vector of float)
+0:26            f: direct index for structure ( temp 4-component vector of float)
+0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                  Constant:
+0:26                    0 (const uint)
+0:26                direct index ( temp uint)
+0:26                  'dti' ( in 3-component vector of uint)
+0:26                  Constant:
+0:26                    0 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26          Constant:
+0:26            13 (const uint)
+0:27      move second child to first child ( temp 3-component vector of float)
+0:27        vector swizzle ( temp 3-component vector of float)
+0:27          f: direct index for structure ( temp 4-component vector of float)
+0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                Constant:
+0:27                  0 (const uint)
+0:27              direct index ( temp uint)
+0:27                'dti' ( in 3-component vector of uint)
+0:27                Constant:
+0:27                  0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupShuffle ( temp 3-component vector of float)
+0:27          vector swizzle ( temp 3-component vector of float)
+0:27            f: direct index for structure ( temp 4-component vector of float)
+0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                  Constant:
+0:27                    0 (const uint)
+0:27                direct index ( temp uint)
+0:27                  'dti' ( in 3-component vector of uint)
+0:27                  Constant:
+0:27                    0 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27          Constant:
+0:27            13 (const uint)
+0:29      move second child to first child ( temp 4-component vector of double)
+0:29        d: direct index for structure ( temp 4-component vector of double)
+0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29              Constant:
+0:29                0 (const uint)
+0:29            direct index ( temp uint)
+0:29              'dti' ( in 3-component vector of uint)
+0:29              Constant:
+0:29                0 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        subgroupBroadcastFirst ( temp 4-component vector of double)
+0:29          d: direct index for structure ( temp 4-component vector of double)
+0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29                Constant:
+0:29                  0 (const uint)
+0:29              direct index ( temp uint)
+0:29                'dti' ( in 3-component vector of uint)
+0:29                Constant:
+0:29                  0 (const int)
+0:29            Constant:
+0:29              3 (const int)
+0:30      move second child to first child ( temp double)
+0:30        direct index ( temp double)
+0:30          d: direct index for structure ( temp 4-component vector of double)
+0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                Constant:
+0:30                  0 (const uint)
+0:30              direct index ( temp uint)
+0:30                'dti' ( in 3-component vector of uint)
+0:30                Constant:
+0:30                  0 (const int)
+0:30            Constant:
+0:30              3 (const int)
+0:30          Constant:
+0:30            0 (const int)
+0:30        subgroupBroadcastFirst ( temp double)
+0:30          direct index ( temp double)
+0:30            d: direct index for structure ( temp 4-component vector of double)
+0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                  Constant:
+0:30                    0 (const uint)
+0:30                direct index ( temp uint)
+0:30                  'dti' ( in 3-component vector of uint)
+0:30                  Constant:
+0:30                    0 (const int)
+0:30              Constant:
+0:30                3 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:31      move second child to first child ( temp 2-component vector of double)
+0:31        vector swizzle ( temp 2-component vector of double)
+0:31          d: direct index for structure ( temp 4-component vector of double)
+0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                Constant:
+0:31                  0 (const uint)
+0:31              direct index ( temp uint)
+0:31                'dti' ( in 3-component vector of uint)
+0:31                Constant:
+0:31                  0 (const int)
+0:31            Constant:
+0:31              3 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31        subgroupBroadcastFirst ( temp 2-component vector of double)
+0:31          vector swizzle ( temp 2-component vector of double)
+0:31            d: direct index for structure ( temp 4-component vector of double)
+0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                  Constant:
+0:31                    0 (const uint)
+0:31                direct index ( temp uint)
+0:31                  'dti' ( in 3-component vector of uint)
+0:31                  Constant:
+0:31                    0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:32      move second child to first child ( temp 3-component vector of double)
+0:32        vector swizzle ( temp 3-component vector of double)
+0:32          d: direct index for structure ( temp 4-component vector of double)
+0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                Constant:
+0:32                  0 (const uint)
+0:32              direct index ( temp uint)
+0:32                'dti' ( in 3-component vector of uint)
+0:32                Constant:
+0:32                  0 (const int)
+0:32            Constant:
+0:32              3 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32        subgroupBroadcastFirst ( temp 3-component vector of double)
+0:32          vector swizzle ( temp 3-component vector of double)
+0:32            d: direct index for structure ( temp 4-component vector of double)
+0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                  Constant:
+0:32                    0 (const uint)
+0:32                direct index ( temp uint)
+0:32                  'dti' ( in 3-component vector of uint)
+0:32                  Constant:
+0:32                    0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u: direct index for structure ( temp 4-component vector of uint)
+0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34              Constant:
+0:34                0 (const uint)
+0:34            direct index ( temp uint)
+0:34              'dti' ( in 3-component vector of uint)
+0:34              Constant:
+0:34                0 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupBroadcastFirst ( temp 4-component vector of uint)
+0:34          u: direct index for structure ( temp 4-component vector of uint)
+0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34                Constant:
+0:34                  0 (const uint)
+0:34              direct index ( temp uint)
+0:34                'dti' ( in 3-component vector of uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:35      move second child to first child ( temp uint)
+0:35        direct index ( temp uint)
+0:35          u: direct index for structure ( temp 4-component vector of uint)
+0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                Constant:
+0:35                  0 (const uint)
+0:35              direct index ( temp uint)
+0:35                'dti' ( in 3-component vector of uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            0 (const int)
+0:35        subgroupBroadcastFirst ( temp uint)
+0:35          direct index ( temp uint)
+0:35            u: direct index for structure ( temp 4-component vector of uint)
+0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                  Constant:
+0:35                    0 (const uint)
+0:35                direct index ( temp uint)
+0:35                  'dti' ( in 3-component vector of uint)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:36      move second child to first child ( temp 2-component vector of uint)
+0:36        vector swizzle ( temp 2-component vector of uint)
+0:36          u: direct index for structure ( temp 4-component vector of uint)
+0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                Constant:
+0:36                  0 (const uint)
+0:36              direct index ( temp uint)
+0:36                'dti' ( in 3-component vector of uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36        subgroupBroadcastFirst ( temp 2-component vector of uint)
+0:36          vector swizzle ( temp 2-component vector of uint)
+0:36            u: direct index for structure ( temp 4-component vector of uint)
+0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                  Constant:
+0:36                    0 (const uint)
+0:36                direct index ( temp uint)
+0:36                  'dti' ( in 3-component vector of uint)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:37      move second child to first child ( temp 3-component vector of uint)
+0:37        vector swizzle ( temp 3-component vector of uint)
+0:37          u: direct index for structure ( temp 4-component vector of uint)
+0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                Constant:
+0:37                  0 (const uint)
+0:37              direct index ( temp uint)
+0:37                'dti' ( in 3-component vector of uint)
+0:37                Constant:
+0:37                  0 (const int)
+0:37            Constant:
+0:37              0 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37            Constant:
+0:37              2 (const int)
+0:37        subgroupBroadcastFirst ( temp 3-component vector of uint)
+0:37          vector swizzle ( temp 3-component vector of uint)
+0:37            u: direct index for structure ( temp 4-component vector of uint)
+0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                  Constant:
+0:37                    0 (const uint)
+0:37                direct index ( temp uint)
+0:37                  'dti' ( in 3-component vector of uint)
+0:37                  Constant:
+0:37                    0 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              Constant:
+0:37                2 (const int)
+0:39      move second child to first child ( temp 4-component vector of int)
+0:39        i: direct index for structure ( temp 4-component vector of int)
+0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39              Constant:
+0:39                0 (const uint)
+0:39            direct index ( temp uint)
+0:39              'dti' ( in 3-component vector of uint)
+0:39              Constant:
+0:39                0 (const int)
+0:39          Constant:
+0:39            1 (const int)
+0:39        subgroupBroadcastFirst ( temp 4-component vector of int)
+0:39          i: direct index for structure ( temp 4-component vector of int)
+0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39                Constant:
+0:39                  0 (const uint)
+0:39              direct index ( temp uint)
+0:39                'dti' ( in 3-component vector of uint)
+0:39                Constant:
+0:39                  0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:40      move second child to first child ( temp int)
+0:40        direct index ( temp int)
+0:40          i: direct index for structure ( temp 4-component vector of int)
+0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                Constant:
+0:40                  0 (const uint)
+0:40              direct index ( temp uint)
+0:40                'dti' ( in 3-component vector of uint)
+0:40                Constant:
+0:40                  0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        subgroupBroadcastFirst ( temp int)
+0:40          direct index ( temp int)
+0:40            i: direct index for structure ( temp 4-component vector of int)
+0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                  Constant:
+0:40                    0 (const uint)
+0:40                direct index ( temp uint)
+0:40                  'dti' ( in 3-component vector of uint)
+0:40                  Constant:
+0:40                    0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:41      move second child to first child ( temp 2-component vector of int)
+0:41        vector swizzle ( temp 2-component vector of int)
+0:41          i: direct index for structure ( temp 4-component vector of int)
+0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                Constant:
+0:41                  0 (const uint)
+0:41              direct index ( temp uint)
+0:41                'dti' ( in 3-component vector of uint)
+0:41                Constant:
+0:41                  0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        subgroupBroadcastFirst ( temp 2-component vector of int)
+0:41          vector swizzle ( temp 2-component vector of int)
+0:41            i: direct index for structure ( temp 4-component vector of int)
+0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                  Constant:
+0:41                    0 (const uint)
+0:41                direct index ( temp uint)
+0:41                  'dti' ( in 3-component vector of uint)
+0:41                  Constant:
+0:41                    0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:42      move second child to first child ( temp 3-component vector of int)
+0:42        vector swizzle ( temp 3-component vector of int)
+0:42          i: direct index for structure ( temp 4-component vector of int)
+0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                Constant:
+0:42                  0 (const uint)
+0:42              direct index ( temp uint)
+0:42                'dti' ( in 3-component vector of uint)
+0:42                Constant:
+0:42                  0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        subgroupBroadcastFirst ( temp 3-component vector of int)
+0:42          vector swizzle ( temp 3-component vector of int)
+0:42            i: direct index for structure ( temp 4-component vector of int)
+0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                  Constant:
+0:42                    0 (const uint)
+0:42                direct index ( temp uint)
+0:42                  'dti' ( in 3-component vector of uint)
+0:42                  Constant:
+0:42                    0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:44      move second child to first child ( temp 4-component vector of float)
+0:44        f: direct index for structure ( temp 4-component vector of float)
+0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44              Constant:
+0:44                0 (const uint)
+0:44            direct index ( temp uint)
+0:44              'dti' ( in 3-component vector of uint)
+0:44              Constant:
+0:44                0 (const int)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupBroadcastFirst ( temp 4-component vector of float)
+0:44          f: direct index for structure ( temp 4-component vector of float)
+0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44                Constant:
+0:44                  0 (const uint)
+0:44              direct index ( temp uint)
+0:44                'dti' ( in 3-component vector of uint)
+0:44                Constant:
+0:44                  0 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:45      move second child to first child ( temp float)
+0:45        direct index ( temp float)
+0:45          f: direct index for structure ( temp 4-component vector of float)
+0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                Constant:
+0:45                  0 (const uint)
+0:45              direct index ( temp uint)
+0:45                'dti' ( in 3-component vector of uint)
+0:45                Constant:
+0:45                  0 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        subgroupBroadcastFirst ( temp float)
+0:45          direct index ( temp float)
+0:45            f: direct index for structure ( temp 4-component vector of float)
+0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                  Constant:
+0:45                    0 (const uint)
+0:45                direct index ( temp uint)
+0:45                  'dti' ( in 3-component vector of uint)
+0:45                  Constant:
+0:45                    0 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:46      move second child to first child ( temp 2-component vector of float)
+0:46        vector swizzle ( temp 2-component vector of float)
+0:46          f: direct index for structure ( temp 4-component vector of float)
+0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                Constant:
+0:46                  0 (const uint)
+0:46              direct index ( temp uint)
+0:46                'dti' ( in 3-component vector of uint)
+0:46                Constant:
+0:46                  0 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        subgroupBroadcastFirst ( temp 2-component vector of float)
+0:46          vector swizzle ( temp 2-component vector of float)
+0:46            f: direct index for structure ( temp 4-component vector of float)
+0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46                direct index ( temp uint)
+0:46                  'dti' ( in 3-component vector of uint)
+0:46                  Constant:
+0:46                    0 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:47      move second child to first child ( temp 3-component vector of float)
+0:47        vector swizzle ( temp 3-component vector of float)
+0:47          f: direct index for structure ( temp 4-component vector of float)
+0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                Constant:
+0:47                  0 (const uint)
+0:47              direct index ( temp uint)
+0:47                'dti' ( in 3-component vector of uint)
+0:47                Constant:
+0:47                  0 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        subgroupBroadcastFirst ( temp 3-component vector of float)
+0:47          vector swizzle ( temp 3-component vector of float)
+0:47            f: direct index for structure ( temp 4-component vector of float)
+0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                  Constant:
+0:47                    0 (const uint)
+0:47                direct index ( temp uint)
+0:47                  'dti' ( in 3-component vector of uint)
+0:47                  Constant:
+0:47                    0 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:49      move second child to first child ( temp 4-component vector of double)
+0:49        d: direct index for structure ( temp 4-component vector of double)
+0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49              Constant:
+0:49                0 (const uint)
+0:49            direct index ( temp uint)
+0:49              'dti' ( in 3-component vector of uint)
+0:49              Constant:
+0:49                0 (const int)
+0:49          Constant:
+0:49            3 (const int)
+0:49        subgroupBroadcastFirst ( temp 4-component vector of double)
+0:49          d: direct index for structure ( temp 4-component vector of double)
+0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49                Constant:
+0:49                  0 (const uint)
+0:49              direct index ( temp uint)
+0:49                'dti' ( in 3-component vector of uint)
+0:49                Constant:
+0:49                  0 (const int)
+0:49            Constant:
+0:49              3 (const int)
+0:50      move second child to first child ( temp double)
+0:50        direct index ( temp double)
+0:50          d: direct index for structure ( temp 4-component vector of double)
+0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                Constant:
+0:50                  0 (const uint)
+0:50              direct index ( temp uint)
+0:50                'dti' ( in 3-component vector of uint)
+0:50                Constant:
+0:50                  0 (const int)
+0:50            Constant:
+0:50              3 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        subgroupBroadcastFirst ( temp double)
+0:50          direct index ( temp double)
+0:50            d: direct index for structure ( temp 4-component vector of double)
+0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                  Constant:
+0:50                    0 (const uint)
+0:50                direct index ( temp uint)
+0:50                  'dti' ( in 3-component vector of uint)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:51      move second child to first child ( temp 2-component vector of double)
+0:51        vector swizzle ( temp 2-component vector of double)
+0:51          d: direct index for structure ( temp 4-component vector of double)
+0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                Constant:
+0:51                  0 (const uint)
+0:51              direct index ( temp uint)
+0:51                'dti' ( in 3-component vector of uint)
+0:51                Constant:
+0:51                  0 (const int)
+0:51            Constant:
+0:51              3 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        subgroupBroadcastFirst ( temp 2-component vector of double)
+0:51          vector swizzle ( temp 2-component vector of double)
+0:51            d: direct index for structure ( temp 4-component vector of double)
+0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                  Constant:
+0:51                    0 (const uint)
+0:51                direct index ( temp uint)
+0:51                  'dti' ( in 3-component vector of uint)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51              Constant:
+0:51                3 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:52      move second child to first child ( temp 3-component vector of double)
+0:52        vector swizzle ( temp 3-component vector of double)
+0:52          d: direct index for structure ( temp 4-component vector of double)
+0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                Constant:
+0:52                  0 (const uint)
+0:52              direct index ( temp uint)
+0:52                'dti' ( in 3-component vector of uint)
+0:52                Constant:
+0:52                  0 (const int)
+0:52            Constant:
+0:52              3 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        subgroupBroadcastFirst ( temp 3-component vector of double)
+0:52          vector swizzle ( temp 3-component vector of double)
+0:52            d: direct index for structure ( temp 4-component vector of double)
+0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                  Constant:
+0:52                    0 (const uint)
+0:52                direct index ( temp uint)
+0:52                  'dti' ( in 3-component vector of uint)
+0:52                  Constant:
+0:52                    0 (const int)
+0:52              Constant:
+0:52                3 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:13  Function Definition: CSMain( ( temp void)
+0:13    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:13      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:13  Function Definition: @CSMain(vu3; ( temp void)
+0:13    Function Parameters: 
+0:13      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:14      move second child to first child ( temp 4-component vector of uint)
+0:14        u: direct index for structure ( temp 4-component vector of uint)
+0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14              Constant:
+0:14                0 (const uint)
+0:14            direct index ( temp uint)
+0:14              'dti' ( in 3-component vector of uint)
+0:14              Constant:
+0:14                0 (const int)
+0:14          Constant:
+0:14            0 (const int)
+0:14        subgroupShuffle ( temp 4-component vector of uint)
+0:14          u: direct index for structure ( temp 4-component vector of uint)
+0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14                Constant:
+0:14                  0 (const uint)
+0:14              direct index ( temp uint)
+0:14                'dti' ( in 3-component vector of uint)
+0:14                Constant:
+0:14                  0 (const int)
+0:14            Constant:
+0:14              0 (const int)
+0:14          Constant:
+0:14            13 (const uint)
+0:15      move second child to first child ( temp uint)
+0:15        direct index ( temp uint)
+0:15          u: direct index for structure ( temp 4-component vector of uint)
+0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                Constant:
+0:15                  0 (const uint)
+0:15              direct index ( temp uint)
+0:15                'dti' ( in 3-component vector of uint)
+0:15                Constant:
+0:15                  0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const int)
+0:15        subgroupShuffle ( temp uint)
+0:15          direct index ( temp uint)
+0:15            u: direct index for structure ( temp 4-component vector of uint)
+0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                  Constant:
+0:15                    0 (const uint)
+0:15                direct index ( temp uint)
+0:15                  'dti' ( in 3-component vector of uint)
+0:15                  Constant:
+0:15                    0 (const int)
+0:15              Constant:
+0:15                0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            13 (const uint)
+0:16      move second child to first child ( temp 2-component vector of uint)
+0:16        vector swizzle ( temp 2-component vector of uint)
+0:16          u: direct index for structure ( temp 4-component vector of uint)
+0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                Constant:
+0:16                  0 (const uint)
+0:16              direct index ( temp uint)
+0:16                'dti' ( in 3-component vector of uint)
+0:16                Constant:
+0:16                  0 (const int)
+0:16            Constant:
+0:16              0 (const int)
+0:16          Sequence
+0:16            Constant:
+0:16              0 (const int)
+0:16            Constant:
+0:16              1 (const int)
+0:16        subgroupShuffle ( temp 2-component vector of uint)
+0:16          vector swizzle ( temp 2-component vector of uint)
+0:16            u: direct index for structure ( temp 4-component vector of uint)
+0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                  Constant:
+0:16                    0 (const uint)
+0:16                direct index ( temp uint)
+0:16                  'dti' ( in 3-component vector of uint)
+0:16                  Constant:
+0:16                    0 (const int)
+0:16              Constant:
+0:16                0 (const int)
+0:16            Sequence
+0:16              Constant:
+0:16                0 (const int)
+0:16              Constant:
+0:16                1 (const int)
+0:16          Constant:
+0:16            13 (const uint)
+0:17      move second child to first child ( temp 3-component vector of uint)
+0:17        vector swizzle ( temp 3-component vector of uint)
+0:17          u: direct index for structure ( temp 4-component vector of uint)
+0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                Constant:
+0:17                  0 (const uint)
+0:17              direct index ( temp uint)
+0:17                'dti' ( in 3-component vector of uint)
+0:17                Constant:
+0:17                  0 (const int)
+0:17            Constant:
+0:17              0 (const int)
+0:17          Sequence
+0:17            Constant:
+0:17              0 (const int)
+0:17            Constant:
+0:17              1 (const int)
+0:17            Constant:
+0:17              2 (const int)
+0:17        subgroupShuffle ( temp 3-component vector of uint)
+0:17          vector swizzle ( temp 3-component vector of uint)
+0:17            u: direct index for structure ( temp 4-component vector of uint)
+0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                  Constant:
+0:17                    0 (const uint)
+0:17                direct index ( temp uint)
+0:17                  'dti' ( in 3-component vector of uint)
+0:17                  Constant:
+0:17                    0 (const int)
+0:17              Constant:
+0:17                0 (const int)
+0:17            Sequence
+0:17              Constant:
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:17              Constant:
+0:17                2 (const int)
+0:17          Constant:
+0:17            13 (const uint)
+0:19      move second child to first child ( temp 4-component vector of int)
+0:19        i: direct index for structure ( temp 4-component vector of int)
+0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            direct index ( temp uint)
+0:19              'dti' ( in 3-component vector of uint)
+0:19              Constant:
+0:19                0 (const int)
+0:19          Constant:
+0:19            1 (const int)
+0:19        subgroupShuffle ( temp 4-component vector of int)
+0:19          i: direct index for structure ( temp 4-component vector of int)
+0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19                Constant:
+0:19                  0 (const uint)
+0:19              direct index ( temp uint)
+0:19                'dti' ( in 3-component vector of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19          Constant:
+0:19            13 (const uint)
+0:20      move second child to first child ( temp int)
+0:20        direct index ( temp int)
+0:20          i: direct index for structure ( temp 4-component vector of int)
+0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                Constant:
+0:20                  0 (const uint)
+0:20              direct index ( temp uint)
+0:20                'dti' ( in 3-component vector of uint)
+0:20                Constant:
+0:20                  0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        subgroupShuffle ( temp int)
+0:20          direct index ( temp int)
+0:20            i: direct index for structure ( temp 4-component vector of int)
+0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                  Constant:
+0:20                    0 (const uint)
+0:20                direct index ( temp uint)
+0:20                  'dti' ( in 3-component vector of uint)
+0:20                  Constant:
+0:20                    0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Constant:
+0:20            13 (const uint)
+0:21      move second child to first child ( temp 2-component vector of int)
+0:21        vector swizzle ( temp 2-component vector of int)
+0:21          i: direct index for structure ( temp 4-component vector of int)
+0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                Constant:
+0:21                  0 (const uint)
+0:21              direct index ( temp uint)
+0:21                'dti' ( in 3-component vector of uint)
+0:21                Constant:
+0:21                  0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupShuffle ( temp 2-component vector of int)
+0:21          vector swizzle ( temp 2-component vector of int)
+0:21            i: direct index for structure ( temp 4-component vector of int)
+0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                  Constant:
+0:21                    0 (const uint)
+0:21                direct index ( temp uint)
+0:21                  'dti' ( in 3-component vector of uint)
+0:21                  Constant:
+0:21                    0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21          Constant:
+0:21            13 (const uint)
+0:22      move second child to first child ( temp 3-component vector of int)
+0:22        vector swizzle ( temp 3-component vector of int)
+0:22          i: direct index for structure ( temp 4-component vector of int)
+0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                Constant:
+0:22                  0 (const uint)
+0:22              direct index ( temp uint)
+0:22                'dti' ( in 3-component vector of uint)
+0:22                Constant:
+0:22                  0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22            Constant:
+0:22              2 (const int)
+0:22        subgroupShuffle ( temp 3-component vector of int)
+0:22          vector swizzle ( temp 3-component vector of int)
+0:22            i: direct index for structure ( temp 4-component vector of int)
+0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                  Constant:
+0:22                    0 (const uint)
+0:22                direct index ( temp uint)
+0:22                  'dti' ( in 3-component vector of uint)
+0:22                  Constant:
+0:22                    0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:22          Constant:
+0:22            13 (const uint)
+0:24      move second child to first child ( temp 4-component vector of float)
+0:24        f: direct index for structure ( temp 4-component vector of float)
+0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24              Constant:
+0:24                0 (const uint)
+0:24            direct index ( temp uint)
+0:24              'dti' ( in 3-component vector of uint)
+0:24              Constant:
+0:24                0 (const int)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupShuffle ( temp 4-component vector of float)
+0:24          f: direct index for structure ( temp 4-component vector of float)
+0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24                Constant:
+0:24                  0 (const uint)
+0:24              direct index ( temp uint)
+0:24                'dti' ( in 3-component vector of uint)
+0:24                Constant:
+0:24                  0 (const int)
+0:24            Constant:
+0:24              2 (const int)
+0:24          Constant:
+0:24            13 (const uint)
+0:25      move second child to first child ( temp float)
+0:25        direct index ( temp float)
+0:25          f: direct index for structure ( temp 4-component vector of float)
+0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                Constant:
+0:25                  0 (const uint)
+0:25              direct index ( temp uint)
+0:25                'dti' ( in 3-component vector of uint)
+0:25                Constant:
+0:25                  0 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25          Constant:
+0:25            0 (const int)
+0:25        subgroupShuffle ( temp float)
+0:25          direct index ( temp float)
+0:25            f: direct index for structure ( temp 4-component vector of float)
+0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                  Constant:
+0:25                    0 (const uint)
+0:25                direct index ( temp uint)
+0:25                  'dti' ( in 3-component vector of uint)
+0:25                  Constant:
+0:25                    0 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:25          Constant:
+0:25            13 (const uint)
+0:26      move second child to first child ( temp 2-component vector of float)
+0:26        vector swizzle ( temp 2-component vector of float)
+0:26          f: direct index for structure ( temp 4-component vector of float)
+0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26              direct index ( temp uint)
+0:26                'dti' ( in 3-component vector of uint)
+0:26                Constant:
+0:26                  0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupShuffle ( temp 2-component vector of float)
+0:26          vector swizzle ( temp 2-component vector of float)
+0:26            f: direct index for structure ( temp 4-component vector of float)
+0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                  Constant:
+0:26                    0 (const uint)
+0:26                direct index ( temp uint)
+0:26                  'dti' ( in 3-component vector of uint)
+0:26                  Constant:
+0:26                    0 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26          Constant:
+0:26            13 (const uint)
+0:27      move second child to first child ( temp 3-component vector of float)
+0:27        vector swizzle ( temp 3-component vector of float)
+0:27          f: direct index for structure ( temp 4-component vector of float)
+0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                Constant:
+0:27                  0 (const uint)
+0:27              direct index ( temp uint)
+0:27                'dti' ( in 3-component vector of uint)
+0:27                Constant:
+0:27                  0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupShuffle ( temp 3-component vector of float)
+0:27          vector swizzle ( temp 3-component vector of float)
+0:27            f: direct index for structure ( temp 4-component vector of float)
+0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                  Constant:
+0:27                    0 (const uint)
+0:27                direct index ( temp uint)
+0:27                  'dti' ( in 3-component vector of uint)
+0:27                  Constant:
+0:27                    0 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27          Constant:
+0:27            13 (const uint)
+0:29      move second child to first child ( temp 4-component vector of double)
+0:29        d: direct index for structure ( temp 4-component vector of double)
+0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29              Constant:
+0:29                0 (const uint)
+0:29            direct index ( temp uint)
+0:29              'dti' ( in 3-component vector of uint)
+0:29              Constant:
+0:29                0 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        subgroupBroadcastFirst ( temp 4-component vector of double)
+0:29          d: direct index for structure ( temp 4-component vector of double)
+0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29                Constant:
+0:29                  0 (const uint)
+0:29              direct index ( temp uint)
+0:29                'dti' ( in 3-component vector of uint)
+0:29                Constant:
+0:29                  0 (const int)
+0:29            Constant:
+0:29              3 (const int)
+0:30      move second child to first child ( temp double)
+0:30        direct index ( temp double)
+0:30          d: direct index for structure ( temp 4-component vector of double)
+0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                Constant:
+0:30                  0 (const uint)
+0:30              direct index ( temp uint)
+0:30                'dti' ( in 3-component vector of uint)
+0:30                Constant:
+0:30                  0 (const int)
+0:30            Constant:
+0:30              3 (const int)
+0:30          Constant:
+0:30            0 (const int)
+0:30        subgroupBroadcastFirst ( temp double)
+0:30          direct index ( temp double)
+0:30            d: direct index for structure ( temp 4-component vector of double)
+0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                  Constant:
+0:30                    0 (const uint)
+0:30                direct index ( temp uint)
+0:30                  'dti' ( in 3-component vector of uint)
+0:30                  Constant:
+0:30                    0 (const int)
+0:30              Constant:
+0:30                3 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:31      move second child to first child ( temp 2-component vector of double)
+0:31        vector swizzle ( temp 2-component vector of double)
+0:31          d: direct index for structure ( temp 4-component vector of double)
+0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                Constant:
+0:31                  0 (const uint)
+0:31              direct index ( temp uint)
+0:31                'dti' ( in 3-component vector of uint)
+0:31                Constant:
+0:31                  0 (const int)
+0:31            Constant:
+0:31              3 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31        subgroupBroadcastFirst ( temp 2-component vector of double)
+0:31          vector swizzle ( temp 2-component vector of double)
+0:31            d: direct index for structure ( temp 4-component vector of double)
+0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                  Constant:
+0:31                    0 (const uint)
+0:31                direct index ( temp uint)
+0:31                  'dti' ( in 3-component vector of uint)
+0:31                  Constant:
+0:31                    0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:32      move second child to first child ( temp 3-component vector of double)
+0:32        vector swizzle ( temp 3-component vector of double)
+0:32          d: direct index for structure ( temp 4-component vector of double)
+0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                Constant:
+0:32                  0 (const uint)
+0:32              direct index ( temp uint)
+0:32                'dti' ( in 3-component vector of uint)
+0:32                Constant:
+0:32                  0 (const int)
+0:32            Constant:
+0:32              3 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32        subgroupBroadcastFirst ( temp 3-component vector of double)
+0:32          vector swizzle ( temp 3-component vector of double)
+0:32            d: direct index for structure ( temp 4-component vector of double)
+0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                  Constant:
+0:32                    0 (const uint)
+0:32                direct index ( temp uint)
+0:32                  'dti' ( in 3-component vector of uint)
+0:32                  Constant:
+0:32                    0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u: direct index for structure ( temp 4-component vector of uint)
+0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34              Constant:
+0:34                0 (const uint)
+0:34            direct index ( temp uint)
+0:34              'dti' ( in 3-component vector of uint)
+0:34              Constant:
+0:34                0 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupBroadcastFirst ( temp 4-component vector of uint)
+0:34          u: direct index for structure ( temp 4-component vector of uint)
+0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34                Constant:
+0:34                  0 (const uint)
+0:34              direct index ( temp uint)
+0:34                'dti' ( in 3-component vector of uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:35      move second child to first child ( temp uint)
+0:35        direct index ( temp uint)
+0:35          u: direct index for structure ( temp 4-component vector of uint)
+0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                Constant:
+0:35                  0 (const uint)
+0:35              direct index ( temp uint)
+0:35                'dti' ( in 3-component vector of uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            0 (const int)
+0:35        subgroupBroadcastFirst ( temp uint)
+0:35          direct index ( temp uint)
+0:35            u: direct index for structure ( temp 4-component vector of uint)
+0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                  Constant:
+0:35                    0 (const uint)
+0:35                direct index ( temp uint)
+0:35                  'dti' ( in 3-component vector of uint)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:36      move second child to first child ( temp 2-component vector of uint)
+0:36        vector swizzle ( temp 2-component vector of uint)
+0:36          u: direct index for structure ( temp 4-component vector of uint)
+0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                Constant:
+0:36                  0 (const uint)
+0:36              direct index ( temp uint)
+0:36                'dti' ( in 3-component vector of uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36        subgroupBroadcastFirst ( temp 2-component vector of uint)
+0:36          vector swizzle ( temp 2-component vector of uint)
+0:36            u: direct index for structure ( temp 4-component vector of uint)
+0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                  Constant:
+0:36                    0 (const uint)
+0:36                direct index ( temp uint)
+0:36                  'dti' ( in 3-component vector of uint)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:37      move second child to first child ( temp 3-component vector of uint)
+0:37        vector swizzle ( temp 3-component vector of uint)
+0:37          u: direct index for structure ( temp 4-component vector of uint)
+0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                Constant:
+0:37                  0 (const uint)
+0:37              direct index ( temp uint)
+0:37                'dti' ( in 3-component vector of uint)
+0:37                Constant:
+0:37                  0 (const int)
+0:37            Constant:
+0:37              0 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37            Constant:
+0:37              2 (const int)
+0:37        subgroupBroadcastFirst ( temp 3-component vector of uint)
+0:37          vector swizzle ( temp 3-component vector of uint)
+0:37            u: direct index for structure ( temp 4-component vector of uint)
+0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                  Constant:
+0:37                    0 (const uint)
+0:37                direct index ( temp uint)
+0:37                  'dti' ( in 3-component vector of uint)
+0:37                  Constant:
+0:37                    0 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              Constant:
+0:37                2 (const int)
+0:39      move second child to first child ( temp 4-component vector of int)
+0:39        i: direct index for structure ( temp 4-component vector of int)
+0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39              Constant:
+0:39                0 (const uint)
+0:39            direct index ( temp uint)
+0:39              'dti' ( in 3-component vector of uint)
+0:39              Constant:
+0:39                0 (const int)
+0:39          Constant:
+0:39            1 (const int)
+0:39        subgroupBroadcastFirst ( temp 4-component vector of int)
+0:39          i: direct index for structure ( temp 4-component vector of int)
+0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39                Constant:
+0:39                  0 (const uint)
+0:39              direct index ( temp uint)
+0:39                'dti' ( in 3-component vector of uint)
+0:39                Constant:
+0:39                  0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:40      move second child to first child ( temp int)
+0:40        direct index ( temp int)
+0:40          i: direct index for structure ( temp 4-component vector of int)
+0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                Constant:
+0:40                  0 (const uint)
+0:40              direct index ( temp uint)
+0:40                'dti' ( in 3-component vector of uint)
+0:40                Constant:
+0:40                  0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        subgroupBroadcastFirst ( temp int)
+0:40          direct index ( temp int)
+0:40            i: direct index for structure ( temp 4-component vector of int)
+0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                  Constant:
+0:40                    0 (const uint)
+0:40                direct index ( temp uint)
+0:40                  'dti' ( in 3-component vector of uint)
+0:40                  Constant:
+0:40                    0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:41      move second child to first child ( temp 2-component vector of int)
+0:41        vector swizzle ( temp 2-component vector of int)
+0:41          i: direct index for structure ( temp 4-component vector of int)
+0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                Constant:
+0:41                  0 (const uint)
+0:41              direct index ( temp uint)
+0:41                'dti' ( in 3-component vector of uint)
+0:41                Constant:
+0:41                  0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        subgroupBroadcastFirst ( temp 2-component vector of int)
+0:41          vector swizzle ( temp 2-component vector of int)
+0:41            i: direct index for structure ( temp 4-component vector of int)
+0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                  Constant:
+0:41                    0 (const uint)
+0:41                direct index ( temp uint)
+0:41                  'dti' ( in 3-component vector of uint)
+0:41                  Constant:
+0:41                    0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:42      move second child to first child ( temp 3-component vector of int)
+0:42        vector swizzle ( temp 3-component vector of int)
+0:42          i: direct index for structure ( temp 4-component vector of int)
+0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                Constant:
+0:42                  0 (const uint)
+0:42              direct index ( temp uint)
+0:42                'dti' ( in 3-component vector of uint)
+0:42                Constant:
+0:42                  0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        subgroupBroadcastFirst ( temp 3-component vector of int)
+0:42          vector swizzle ( temp 3-component vector of int)
+0:42            i: direct index for structure ( temp 4-component vector of int)
+0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                  Constant:
+0:42                    0 (const uint)
+0:42                direct index ( temp uint)
+0:42                  'dti' ( in 3-component vector of uint)
+0:42                  Constant:
+0:42                    0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:44      move second child to first child ( temp 4-component vector of float)
+0:44        f: direct index for structure ( temp 4-component vector of float)
+0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44              Constant:
+0:44                0 (const uint)
+0:44            direct index ( temp uint)
+0:44              'dti' ( in 3-component vector of uint)
+0:44              Constant:
+0:44                0 (const int)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupBroadcastFirst ( temp 4-component vector of float)
+0:44          f: direct index for structure ( temp 4-component vector of float)
+0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44                Constant:
+0:44                  0 (const uint)
+0:44              direct index ( temp uint)
+0:44                'dti' ( in 3-component vector of uint)
+0:44                Constant:
+0:44                  0 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:45      move second child to first child ( temp float)
+0:45        direct index ( temp float)
+0:45          f: direct index for structure ( temp 4-component vector of float)
+0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                Constant:
+0:45                  0 (const uint)
+0:45              direct index ( temp uint)
+0:45                'dti' ( in 3-component vector of uint)
+0:45                Constant:
+0:45                  0 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        subgroupBroadcastFirst ( temp float)
+0:45          direct index ( temp float)
+0:45            f: direct index for structure ( temp 4-component vector of float)
+0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                  Constant:
+0:45                    0 (const uint)
+0:45                direct index ( temp uint)
+0:45                  'dti' ( in 3-component vector of uint)
+0:45                  Constant:
+0:45                    0 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:46      move second child to first child ( temp 2-component vector of float)
+0:46        vector swizzle ( temp 2-component vector of float)
+0:46          f: direct index for structure ( temp 4-component vector of float)
+0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                Constant:
+0:46                  0 (const uint)
+0:46              direct index ( temp uint)
+0:46                'dti' ( in 3-component vector of uint)
+0:46                Constant:
+0:46                  0 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        subgroupBroadcastFirst ( temp 2-component vector of float)
+0:46          vector swizzle ( temp 2-component vector of float)
+0:46            f: direct index for structure ( temp 4-component vector of float)
+0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46                direct index ( temp uint)
+0:46                  'dti' ( in 3-component vector of uint)
+0:46                  Constant:
+0:46                    0 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:47      move second child to first child ( temp 3-component vector of float)
+0:47        vector swizzle ( temp 3-component vector of float)
+0:47          f: direct index for structure ( temp 4-component vector of float)
+0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                Constant:
+0:47                  0 (const uint)
+0:47              direct index ( temp uint)
+0:47                'dti' ( in 3-component vector of uint)
+0:47                Constant:
+0:47                  0 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        subgroupBroadcastFirst ( temp 3-component vector of float)
+0:47          vector swizzle ( temp 3-component vector of float)
+0:47            f: direct index for structure ( temp 4-component vector of float)
+0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                  Constant:
+0:47                    0 (const uint)
+0:47                direct index ( temp uint)
+0:47                  'dti' ( in 3-component vector of uint)
+0:47                  Constant:
+0:47                    0 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:49      move second child to first child ( temp 4-component vector of double)
+0:49        d: direct index for structure ( temp 4-component vector of double)
+0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49              Constant:
+0:49                0 (const uint)
+0:49            direct index ( temp uint)
+0:49              'dti' ( in 3-component vector of uint)
+0:49              Constant:
+0:49                0 (const int)
+0:49          Constant:
+0:49            3 (const int)
+0:49        subgroupBroadcastFirst ( temp 4-component vector of double)
+0:49          d: direct index for structure ( temp 4-component vector of double)
+0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49                Constant:
+0:49                  0 (const uint)
+0:49              direct index ( temp uint)
+0:49                'dti' ( in 3-component vector of uint)
+0:49                Constant:
+0:49                  0 (const int)
+0:49            Constant:
+0:49              3 (const int)
+0:50      move second child to first child ( temp double)
+0:50        direct index ( temp double)
+0:50          d: direct index for structure ( temp 4-component vector of double)
+0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                Constant:
+0:50                  0 (const uint)
+0:50              direct index ( temp uint)
+0:50                'dti' ( in 3-component vector of uint)
+0:50                Constant:
+0:50                  0 (const int)
+0:50            Constant:
+0:50              3 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        subgroupBroadcastFirst ( temp double)
+0:50          direct index ( temp double)
+0:50            d: direct index for structure ( temp 4-component vector of double)
+0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                  Constant:
+0:50                    0 (const uint)
+0:50                direct index ( temp uint)
+0:50                  'dti' ( in 3-component vector of uint)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:51      move second child to first child ( temp 2-component vector of double)
+0:51        vector swizzle ( temp 2-component vector of double)
+0:51          d: direct index for structure ( temp 4-component vector of double)
+0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                Constant:
+0:51                  0 (const uint)
+0:51              direct index ( temp uint)
+0:51                'dti' ( in 3-component vector of uint)
+0:51                Constant:
+0:51                  0 (const int)
+0:51            Constant:
+0:51              3 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        subgroupBroadcastFirst ( temp 2-component vector of double)
+0:51          vector swizzle ( temp 2-component vector of double)
+0:51            d: direct index for structure ( temp 4-component vector of double)
+0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                  Constant:
+0:51                    0 (const uint)
+0:51                direct index ( temp uint)
+0:51                  'dti' ( in 3-component vector of uint)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51              Constant:
+0:51                3 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:52      move second child to first child ( temp 3-component vector of double)
+0:52        vector swizzle ( temp 3-component vector of double)
+0:52          d: direct index for structure ( temp 4-component vector of double)
+0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                Constant:
+0:52                  0 (const uint)
+0:52              direct index ( temp uint)
+0:52                'dti' ( in 3-component vector of uint)
+0:52                Constant:
+0:52                  0 (const int)
+0:52            Constant:
+0:52              3 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        subgroupBroadcastFirst ( temp 3-component vector of double)
+0:52          vector swizzle ( temp 3-component vector of double)
+0:52            d: direct index for structure ( temp 4-component vector of double)
+0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                  Constant:
+0:52                    0 (const uint)
+0:52                direct index ( temp uint)
+0:52                  'dti' ( in 3-component vector of uint)
+0:52                  Constant:
+0:52                    0 (const int)
+0:52              Constant:
+0:52                3 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:13  Function Definition: CSMain( ( temp void)
+0:13    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:13      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 359
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformBallot
+                              Capability GroupNonUniformShuffle
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "CSMain" 354
+                              ExecutionMode 4 LocalSize 32 16 1
+                              Source HLSL 500
+                              Name 4  "CSMain"
+                              Name 11  "@CSMain(vu3;"
+                              Name 10  "dti"
+                              Name 20  "Types"
+                              MemberName 20(Types) 0  "u"
+                              MemberName 20(Types) 1  "i"
+                              MemberName 20(Types) 2  "f"
+                              MemberName 20(Types) 3  "d"
+                              Name 22  "data"
+                              MemberName 22(data) 0  "@data"
+                              Name 24  "data"
+                              Name 352  "dti"
+                              Name 354  "dti"
+                              Name 356  "param"
+                              MemberDecorate 20(Types) 0 Offset 0
+                              MemberDecorate 20(Types) 1 Offset 16
+                              MemberDecorate 20(Types) 2 Offset 32
+                              MemberDecorate 20(Types) 3 Offset 64
+                              Decorate 21 ArrayStride 96
+                              MemberDecorate 22(data) 0 Offset 0
+                              Decorate 22(data) BufferBlock
+                              Decorate 24(data) DescriptorSet 0
+                              Decorate 354(dti) BuiltIn GlobalInvocationId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 3
+               8:             TypePointer Function 7(ivec3)
+               9:             TypeFunction 2 8(ptr)
+              13:             TypeVector 6(int) 4
+              14:             TypeInt 32 1
+              15:             TypeVector 14(int) 4
+              16:             TypeFloat 32
+              17:             TypeVector 16(float) 4
+              18:             TypeFloat 64
+              19:             TypeVector 18(float) 4
+       20(Types):             TypeStruct 13(ivec4) 15(ivec4) 17(fvec4) 19(fvec4)
+              21:             TypeRuntimeArray 20(Types)
+        22(data):             TypeStruct 21
+              23:             TypePointer Uniform 22(data)
+        24(data):     23(ptr) Variable Uniform
+              25:     14(int) Constant 0
+              26:      6(int) Constant 0
+              27:             TypePointer Function 6(int)
+              32:             TypePointer Uniform 13(ivec4)
+              35:      6(int) Constant 13
+              36:      6(int) Constant 3
+              43:             TypePointer Uniform 6(int)
+              52:             TypeVector 6(int) 2
+              73:     14(int) Constant 1
+              76:             TypePointer Uniform 15(ivec4)
+              85:             TypePointer Uniform 14(int)
+              94:             TypeVector 14(int) 2
+             106:             TypeVector 14(int) 3
+             116:     14(int) Constant 2
+             119:             TypePointer Uniform 17(fvec4)
+             128:             TypePointer Uniform 16(float)
+             137:             TypeVector 16(float) 2
+             149:             TypeVector 16(float) 3
+             159:     14(int) Constant 3
+             162:             TypePointer Uniform 19(fvec4)
+             171:             TypePointer Uniform 18(float)
+             180:             TypeVector 18(float) 2
+             192:             TypeVector 18(float) 3
+             353:             TypePointer Input 7(ivec3)
+        354(dti):    353(ptr) Variable Input
+       4(CSMain):           2 Function None 3
+               5:             Label
+        352(dti):      8(ptr) Variable Function
+      356(param):      8(ptr) Variable Function
+             355:    7(ivec3) Load 354(dti)
+                              Store 352(dti) 355
+             357:    7(ivec3) Load 352(dti)
+                              Store 356(param) 357
+             358:           2 FunctionCall 11(@CSMain(vu3;) 356(param)
+                              Return
+                              FunctionEnd
+11(@CSMain(vu3;):           2 Function None 9
+         10(dti):      8(ptr) FunctionParameter
+              12:             Label
+              28:     27(ptr) AccessChain 10(dti) 26
+              29:      6(int) Load 28
+              30:     27(ptr) AccessChain 10(dti) 26
+              31:      6(int) Load 30
+              33:     32(ptr) AccessChain 24(data) 25 31 25
+              34:   13(ivec4) Load 33
+              37:   13(ivec4) GroupNonUniformShuffle 36 34 35
+              38:     32(ptr) AccessChain 24(data) 25 29 25
+                              Store 38 37
+              39:     27(ptr) AccessChain 10(dti) 26
+              40:      6(int) Load 39
+              41:     27(ptr) AccessChain 10(dti) 26
+              42:      6(int) Load 41
+              44:     43(ptr) AccessChain 24(data) 25 42 25 26
+              45:      6(int) Load 44
+              46:      6(int) GroupNonUniformShuffle 36 45 35
+              47:     43(ptr) AccessChain 24(data) 25 40 25 26
+                              Store 47 46
+              48:     27(ptr) AccessChain 10(dti) 26
+              49:      6(int) Load 48
+              50:     27(ptr) AccessChain 10(dti) 26
+              51:      6(int) Load 50
+              53:     32(ptr) AccessChain 24(data) 25 51 25
+              54:   13(ivec4) Load 53
+              55:   52(ivec2) VectorShuffle 54 54 0 1
+              56:   52(ivec2) GroupNonUniformShuffle 36 55 35
+              57:     32(ptr) AccessChain 24(data) 25 49 25
+              58:   13(ivec4) Load 57
+              59:   13(ivec4) VectorShuffle 58 56 4 5 2 3
+                              Store 57 59
+              60:     27(ptr) AccessChain 10(dti) 26
+              61:      6(int) Load 60
+              62:     27(ptr) AccessChain 10(dti) 26
+              63:      6(int) Load 62
+              64:     32(ptr) AccessChain 24(data) 25 63 25
+              65:   13(ivec4) Load 64
+              66:    7(ivec3) VectorShuffle 65 65 0 1 2
+              67:    7(ivec3) GroupNonUniformShuffle 36 66 35
+              68:     32(ptr) AccessChain 24(data) 25 61 25
+              69:   13(ivec4) Load 68
+              70:   13(ivec4) VectorShuffle 69 67 4 5 6 3
+                              Store 68 70
+              71:     27(ptr) AccessChain 10(dti) 26
+              72:      6(int) Load 71
+              74:     27(ptr) AccessChain 10(dti) 26
+              75:      6(int) Load 74
+              77:     76(ptr) AccessChain 24(data) 25 75 73
+              78:   15(ivec4) Load 77
+              79:   15(ivec4) GroupNonUniformShuffle 36 78 35
+              80:     76(ptr) AccessChain 24(data) 25 72 73
+                              Store 80 79
+              81:     27(ptr) AccessChain 10(dti) 26
+              82:      6(int) Load 81
+              83:     27(ptr) AccessChain 10(dti) 26
+              84:      6(int) Load 83
+              86:     85(ptr) AccessChain 24(data) 25 84 73 26
+              87:     14(int) Load 86
+              88:     14(int) GroupNonUniformShuffle 36 87 35
+              89:     85(ptr) AccessChain 24(data) 25 82 73 26
+                              Store 89 88
+              90:     27(ptr) AccessChain 10(dti) 26
+              91:      6(int) Load 90
+              92:     27(ptr) AccessChain 10(dti) 26
+              93:      6(int) Load 92
+              95:     76(ptr) AccessChain 24(data) 25 93 73
+              96:   15(ivec4) Load 95
+              97:   94(ivec2) VectorShuffle 96 96 0 1
+              98:   94(ivec2) GroupNonUniformShuffle 36 97 35
+              99:     76(ptr) AccessChain 24(data) 25 91 73
+             100:   15(ivec4) Load 99
+             101:   15(ivec4) VectorShuffle 100 98 4 5 2 3
+                              Store 99 101
+             102:     27(ptr) AccessChain 10(dti) 26
+             103:      6(int) Load 102
+             104:     27(ptr) AccessChain 10(dti) 26
+             105:      6(int) Load 104
+             107:     76(ptr) AccessChain 24(data) 25 105 73
+             108:   15(ivec4) Load 107
+             109:  106(ivec3) VectorShuffle 108 108 0 1 2
+             110:  106(ivec3) GroupNonUniformShuffle 36 109 35
+             111:     76(ptr) AccessChain 24(data) 25 103 73
+             112:   15(ivec4) Load 111
+             113:   15(ivec4) VectorShuffle 112 110 4 5 6 3
+                              Store 111 113
+             114:     27(ptr) AccessChain 10(dti) 26
+             115:      6(int) Load 114
+             117:     27(ptr) AccessChain 10(dti) 26
+             118:      6(int) Load 117
+             120:    119(ptr) AccessChain 24(data) 25 118 116
+             121:   17(fvec4) Load 120
+             122:   17(fvec4) GroupNonUniformShuffle 36 121 35
+             123:    119(ptr) AccessChain 24(data) 25 115 116
+                              Store 123 122
+             124:     27(ptr) AccessChain 10(dti) 26
+             125:      6(int) Load 124
+             126:     27(ptr) AccessChain 10(dti) 26
+             127:      6(int) Load 126
+             129:    128(ptr) AccessChain 24(data) 25 127 116 26
+             130:   16(float) Load 129
+             131:   16(float) GroupNonUniformShuffle 36 130 35
+             132:    128(ptr) AccessChain 24(data) 25 125 116 26
+                              Store 132 131
+             133:     27(ptr) AccessChain 10(dti) 26
+             134:      6(int) Load 133
+             135:     27(ptr) AccessChain 10(dti) 26
+             136:      6(int) Load 135
+             138:    119(ptr) AccessChain 24(data) 25 136 116
+             139:   17(fvec4) Load 138
+             140:  137(fvec2) VectorShuffle 139 139 0 1
+             141:  137(fvec2) GroupNonUniformShuffle 36 140 35
+             142:    119(ptr) AccessChain 24(data) 25 134 116
+             143:   17(fvec4) Load 142
+             144:   17(fvec4) VectorShuffle 143 141 4 5 2 3
+                              Store 142 144
+             145:     27(ptr) AccessChain 10(dti) 26
+             146:      6(int) Load 145
+             147:     27(ptr) AccessChain 10(dti) 26
+             148:      6(int) Load 147
+             150:    119(ptr) AccessChain 24(data) 25 148 116
+             151:   17(fvec4) Load 150
+             152:  149(fvec3) VectorShuffle 151 151 0 1 2
+             153:  149(fvec3) GroupNonUniformShuffle 36 152 35
+             154:    119(ptr) AccessChain 24(data) 25 146 116
+             155:   17(fvec4) Load 154
+             156:   17(fvec4) VectorShuffle 155 153 4 5 6 3
+                              Store 154 156
+             157:     27(ptr) AccessChain 10(dti) 26
+             158:      6(int) Load 157
+             160:     27(ptr) AccessChain 10(dti) 26
+             161:      6(int) Load 160
+             163:    162(ptr) AccessChain 24(data) 25 161 159
+             164:   19(fvec4) Load 163
+             165:   19(fvec4) GroupNonUniformBroadcastFirst 36 164
+             166:    162(ptr) AccessChain 24(data) 25 158 159
+                              Store 166 165
+             167:     27(ptr) AccessChain 10(dti) 26
+             168:      6(int) Load 167
+             169:     27(ptr) AccessChain 10(dti) 26
+             170:      6(int) Load 169
+             172:    171(ptr) AccessChain 24(data) 25 170 159 26
+             173:   18(float) Load 172
+             174:   18(float) GroupNonUniformBroadcastFirst 36 173
+             175:    171(ptr) AccessChain 24(data) 25 168 159 26
+                              Store 175 174
+             176:     27(ptr) AccessChain 10(dti) 26
+             177:      6(int) Load 176
+             178:     27(ptr) AccessChain 10(dti) 26
+             179:      6(int) Load 178
+             181:    162(ptr) AccessChain 24(data) 25 179 159
+             182:   19(fvec4) Load 181
+             183:  180(fvec2) VectorShuffle 182 182 0 1
+             184:  180(fvec2) GroupNonUniformBroadcastFirst 36 183
+             185:    162(ptr) AccessChain 24(data) 25 177 159
+             186:   19(fvec4) Load 185
+             187:   19(fvec4) VectorShuffle 186 184 4 5 2 3
+                              Store 185 187
+             188:     27(ptr) AccessChain 10(dti) 26
+             189:      6(int) Load 188
+             190:     27(ptr) AccessChain 10(dti) 26
+             191:      6(int) Load 190
+             193:    162(ptr) AccessChain 24(data) 25 191 159
+             194:   19(fvec4) Load 193
+             195:  192(fvec3) VectorShuffle 194 194 0 1 2
+             196:  192(fvec3) GroupNonUniformBroadcastFirst 36 195
+             197:    162(ptr) AccessChain 24(data) 25 189 159
+             198:   19(fvec4) Load 197
+             199:   19(fvec4) VectorShuffle 198 196 4 5 6 3
+                              Store 197 199
+             200:     27(ptr) AccessChain 10(dti) 26
+             201:      6(int) Load 200
+             202:     27(ptr) AccessChain 10(dti) 26
+             203:      6(int) Load 202
+             204:     32(ptr) AccessChain 24(data) 25 203 25
+             205:   13(ivec4) Load 204
+             206:   13(ivec4) GroupNonUniformBroadcastFirst 36 205
+             207:     32(ptr) AccessChain 24(data) 25 201 25
+                              Store 207 206
+             208:     27(ptr) AccessChain 10(dti) 26
+             209:      6(int) Load 208
+             210:     27(ptr) AccessChain 10(dti) 26
+             211:      6(int) Load 210
+             212:     43(ptr) AccessChain 24(data) 25 211 25 26
+             213:      6(int) Load 212
+             214:      6(int) GroupNonUniformBroadcastFirst 36 213
+             215:     43(ptr) AccessChain 24(data) 25 209 25 26
+                              Store 215 214
+             216:     27(ptr) AccessChain 10(dti) 26
+             217:      6(int) Load 216
+             218:     27(ptr) AccessChain 10(dti) 26
+             219:      6(int) Load 218
+             220:     32(ptr) AccessChain 24(data) 25 219 25
+             221:   13(ivec4) Load 220
+             222:   52(ivec2) VectorShuffle 221 221 0 1
+             223:   52(ivec2) GroupNonUniformBroadcastFirst 36 222
+             224:     32(ptr) AccessChain 24(data) 25 217 25
+             225:   13(ivec4) Load 224
+             226:   13(ivec4) VectorShuffle 225 223 4 5 2 3
+                              Store 224 226
+             227:     27(ptr) AccessChain 10(dti) 26
+             228:      6(int) Load 227
+             229:     27(ptr) AccessChain 10(dti) 26
+             230:      6(int) Load 229
+             231:     32(ptr) AccessChain 24(data) 25 230 25
+             232:   13(ivec4) Load 231
+             233:    7(ivec3) VectorShuffle 232 232 0 1 2
+             234:    7(ivec3) GroupNonUniformBroadcastFirst 36 233
+             235:     32(ptr) AccessChain 24(data) 25 228 25
+             236:   13(ivec4) Load 235
+             237:   13(ivec4) VectorShuffle 236 234 4 5 6 3
+                              Store 235 237
+             238:     27(ptr) AccessChain 10(dti) 26
+             239:      6(int) Load 238
+             240:     27(ptr) AccessChain 10(dti) 26
+             241:      6(int) Load 240
+             242:     76(ptr) AccessChain 24(data) 25 241 73
+             243:   15(ivec4) Load 242
+             244:   15(ivec4) GroupNonUniformBroadcastFirst 36 243
+             245:     76(ptr) AccessChain 24(data) 25 239 73
+                              Store 245 244
+             246:     27(ptr) AccessChain 10(dti) 26
+             247:      6(int) Load 246
+             248:     27(ptr) AccessChain 10(dti) 26
+             249:      6(int) Load 248
+             250:     85(ptr) AccessChain 24(data) 25 249 73 26
+             251:     14(int) Load 250
+             252:     14(int) GroupNonUniformBroadcastFirst 36 251
+             253:     85(ptr) AccessChain 24(data) 25 247 73 26
+                              Store 253 252
+             254:     27(ptr) AccessChain 10(dti) 26
+             255:      6(int) Load 254
+             256:     27(ptr) AccessChain 10(dti) 26
+             257:      6(int) Load 256
+             258:     76(ptr) AccessChain 24(data) 25 257 73
+             259:   15(ivec4) Load 258
+             260:   94(ivec2) VectorShuffle 259 259 0 1
+             261:   94(ivec2) GroupNonUniformBroadcastFirst 36 260
+             262:     76(ptr) AccessChain 24(data) 25 255 73
+             263:   15(ivec4) Load 262
+             264:   15(ivec4) VectorShuffle 263 261 4 5 2 3
+                              Store 262 264
+             265:     27(ptr) AccessChain 10(dti) 26
+             266:      6(int) Load 265
+             267:     27(ptr) AccessChain 10(dti) 26
+             268:      6(int) Load 267
+             269:     76(ptr) AccessChain 24(data) 25 268 73
+             270:   15(ivec4) Load 269
+             271:  106(ivec3) VectorShuffle 270 270 0 1 2
+             272:  106(ivec3) GroupNonUniformBroadcastFirst 36 271
+             273:     76(ptr) AccessChain 24(data) 25 266 73
+             274:   15(ivec4) Load 273
+             275:   15(ivec4) VectorShuffle 274 272 4 5 6 3
+                              Store 273 275
+             276:     27(ptr) AccessChain 10(dti) 26
+             277:      6(int) Load 276
+             278:     27(ptr) AccessChain 10(dti) 26
+             279:      6(int) Load 278
+             280:    119(ptr) AccessChain 24(data) 25 279 116
+             281:   17(fvec4) Load 280
+             282:   17(fvec4) GroupNonUniformBroadcastFirst 36 281
+             283:    119(ptr) AccessChain 24(data) 25 277 116
+                              Store 283 282
+             284:     27(ptr) AccessChain 10(dti) 26
+             285:      6(int) Load 284
+             286:     27(ptr) AccessChain 10(dti) 26
+             287:      6(int) Load 286
+             288:    128(ptr) AccessChain 24(data) 25 287 116 26
+             289:   16(float) Load 288
+             290:   16(float) GroupNonUniformBroadcastFirst 36 289
+             291:    128(ptr) AccessChain 24(data) 25 285 116 26
+                              Store 291 290
+             292:     27(ptr) AccessChain 10(dti) 26
+             293:      6(int) Load 292
+             294:     27(ptr) AccessChain 10(dti) 26
+             295:      6(int) Load 294
+             296:    119(ptr) AccessChain 24(data) 25 295 116
+             297:   17(fvec4) Load 296
+             298:  137(fvec2) VectorShuffle 297 297 0 1
+             299:  137(fvec2) GroupNonUniformBroadcastFirst 36 298
+             300:    119(ptr) AccessChain 24(data) 25 293 116
+             301:   17(fvec4) Load 300
+             302:   17(fvec4) VectorShuffle 301 299 4 5 2 3
+                              Store 300 302
+             303:     27(ptr) AccessChain 10(dti) 26
+             304:      6(int) Load 303
+             305:     27(ptr) AccessChain 10(dti) 26
+             306:      6(int) Load 305
+             307:    119(ptr) AccessChain 24(data) 25 306 116
+             308:   17(fvec4) Load 307
+             309:  149(fvec3) VectorShuffle 308 308 0 1 2
+             310:  149(fvec3) GroupNonUniformBroadcastFirst 36 309
+             311:    119(ptr) AccessChain 24(data) 25 304 116
+             312:   17(fvec4) Load 311
+             313:   17(fvec4) VectorShuffle 312 310 4 5 6 3
+                              Store 311 313
+             314:     27(ptr) AccessChain 10(dti) 26
+             315:      6(int) Load 314
+             316:     27(ptr) AccessChain 10(dti) 26
+             317:      6(int) Load 316
+             318:    162(ptr) AccessChain 24(data) 25 317 159
+             319:   19(fvec4) Load 318
+             320:   19(fvec4) GroupNonUniformBroadcastFirst 36 319
+             321:    162(ptr) AccessChain 24(data) 25 315 159
+                              Store 321 320
+             322:     27(ptr) AccessChain 10(dti) 26
+             323:      6(int) Load 322
+             324:     27(ptr) AccessChain 10(dti) 26
+             325:      6(int) Load 324
+             326:    171(ptr) AccessChain 24(data) 25 325 159 26
+             327:   18(float) Load 326
+             328:   18(float) GroupNonUniformBroadcastFirst 36 327
+             329:    171(ptr) AccessChain 24(data) 25 323 159 26
+                              Store 329 328
+             330:     27(ptr) AccessChain 10(dti) 26
+             331:      6(int) Load 330
+             332:     27(ptr) AccessChain 10(dti) 26
+             333:      6(int) Load 332
+             334:    162(ptr) AccessChain 24(data) 25 333 159
+             335:   19(fvec4) Load 334
+             336:  180(fvec2) VectorShuffle 335 335 0 1
+             337:  180(fvec2) GroupNonUniformBroadcastFirst 36 336
+             338:    162(ptr) AccessChain 24(data) 25 331 159
+             339:   19(fvec4) Load 338
+             340:   19(fvec4) VectorShuffle 339 337 4 5 2 3
+                              Store 338 340
+             341:     27(ptr) AccessChain 10(dti) 26
+             342:      6(int) Load 341
+             343:     27(ptr) AccessChain 10(dti) 26
+             344:      6(int) Load 343
+             345:    162(ptr) AccessChain 24(data) 25 344 159
+             346:   19(fvec4) Load 345
+             347:  192(fvec3) VectorShuffle 346 346 0 1 2
+             348:  192(fvec3) GroupNonUniformBroadcastFirst 36 347
+             349:    162(ptr) AccessChain 24(data) 25 342 159
+             350:   19(fvec4) Load 349
+             351:   19(fvec4) VectorShuffle 350 348 4 5 6 3
+                              Store 349 351
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.waveordered.comp.out b/Test/baseResults/hlsl.waveordered.comp.out
new file mode 100644
index 0000000..15102d3
--- /dev/null
+++ b/Test/baseResults/hlsl.waveordered.comp.out
@@ -0,0 +1,180 @@
+hlsl.waveordered.comp
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:5  Function Definition: @CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:6      move second child to first child ( temp uint)
+0:6        indirect index (layout( row_major std430) buffer uint)
+0:6          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:6            Constant:
+0:6              0 (const uint)
+0:6          add ( temp uint)
+0:6            add ( temp uint)
+0:6              component-wise multiply ( temp uint)
+0:6                add ( temp uint)
+0:6                  component-wise multiply ( temp uint)
+0:6                    direct index ( temp uint)
+0:6                      '@gl_NumWorkGroups' ( in 3-component vector of uint NumWorkGroups)
+0:6                      Constant:
+0:6                        1 (const int)
+0:6                    direct index ( temp uint)
+0:6                      '@gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
+0:6                      Constant:
+0:6                        2 (const int)
+0:6                  direct index ( temp uint)
+0:6                    '@gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
+0:6                    Constant:
+0:6                      1 (const int)
+0:6                component-wise multiply ( temp uint)
+0:6                  '@gl_NumSubgroups' ( in uint unknown built-in variable)
+0:6                  direct index ( temp uint)
+0:6                    '@gl_NumWorkGroups' ( in 3-component vector of uint NumWorkGroups)
+0:6                    Constant:
+0:6                      0 (const int)
+0:6              direct index ( temp uint)
+0:6                '@gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
+0:6                Constant:
+0:6                  0 (const int)
+0:6            '@gl_SubgroupID' ( in uint unknown built-in variable)
+0:6        Constant:
+0:6          1 (const uint)
+0:5  Function Definition: CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:5      Function Call: @CSMain( ( temp void)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:5  Function Definition: @CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:6      move second child to first child ( temp uint)
+0:6        indirect index (layout( row_major std430) buffer uint)
+0:6          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:6            Constant:
+0:6              0 (const uint)
+0:6          add ( temp uint)
+0:6            add ( temp uint)
+0:6              component-wise multiply ( temp uint)
+0:6                add ( temp uint)
+0:6                  component-wise multiply ( temp uint)
+0:6                    direct index ( temp uint)
+0:6                      '@gl_NumWorkGroups' ( in 3-component vector of uint NumWorkGroups)
+0:6                      Constant:
+0:6                        1 (const int)
+0:6                    direct index ( temp uint)
+0:6                      '@gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
+0:6                      Constant:
+0:6                        2 (const int)
+0:6                  direct index ( temp uint)
+0:6                    '@gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
+0:6                    Constant:
+0:6                      1 (const int)
+0:6                component-wise multiply ( temp uint)
+0:6                  '@gl_NumSubgroups' ( in uint unknown built-in variable)
+0:6                  direct index ( temp uint)
+0:6                    '@gl_NumWorkGroups' ( in 3-component vector of uint NumWorkGroups)
+0:6                    Constant:
+0:6                      0 (const int)
+0:6              direct index ( temp uint)
+0:6                '@gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
+0:6                Constant:
+0:6                  0 (const int)
+0:6            '@gl_SubgroupID' ( in uint unknown built-in variable)
+0:6        Constant:
+0:6          1 (const uint)
+0:5  Function Definition: CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:5      Function Call: @CSMain( ( temp void)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 46
+
+                              Capability Shader
+                              Capability GroupNonUniform
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "CSMain" 17 22 30 40
+                              ExecutionMode 4 LocalSize 32 16 1
+                              Source HLSL 500
+                              Name 4  "CSMain"
+                              Name 6  "@CSMain("
+                              Name 10  "data"
+                              MemberName 10(data) 0  "@data"
+                              Name 12  "data"
+                              Name 17  "@gl_NumWorkGroups"
+                              Name 22  "@gl_WorkGroupID"
+                              Name 30  "@gl_NumSubgroups"
+                              Name 40  "@gl_SubgroupID"
+                              Decorate 9 ArrayStride 4
+                              MemberDecorate 10(data) 0 Offset 0
+                              Decorate 10(data) BufferBlock
+                              Decorate 12(data) DescriptorSet 0
+                              Decorate 17(@gl_NumWorkGroups) BuiltIn NumWorkgroups
+                              Decorate 22(@gl_WorkGroupID) BuiltIn WorkgroupId
+                              Decorate 30(@gl_NumSubgroups) BuiltIn NumSubgroups
+                              Decorate 40(@gl_SubgroupID) BuiltIn SubgroupId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               8:             TypeInt 32 0
+               9:             TypeRuntimeArray 8(int)
+        10(data):             TypeStruct 9
+              11:             TypePointer Uniform 10(data)
+        12(data):     11(ptr) Variable Uniform
+              13:             TypeInt 32 1
+              14:     13(int) Constant 0
+              15:             TypeVector 8(int) 3
+              16:             TypePointer Input 15(ivec3)
+17(@gl_NumWorkGroups):     16(ptr) Variable Input
+              18:      8(int) Constant 1
+              19:             TypePointer Input 8(int)
+22(@gl_WorkGroupID):     16(ptr) Variable Input
+              23:      8(int) Constant 2
+30(@gl_NumSubgroups):     19(ptr) Variable Input
+              32:      8(int) Constant 0
+40(@gl_SubgroupID):     19(ptr) Variable Input
+              43:             TypePointer Uniform 8(int)
+       4(CSMain):           2 Function None 3
+               5:             Label
+              45:           2 FunctionCall 6(@CSMain()
+                              Return
+                              FunctionEnd
+     6(@CSMain():           2 Function None 3
+               7:             Label
+              20:     19(ptr) AccessChain 17(@gl_NumWorkGroups) 18
+              21:      8(int) Load 20
+              24:     19(ptr) AccessChain 22(@gl_WorkGroupID) 23
+              25:      8(int) Load 24
+              26:      8(int) IMul 21 25
+              27:     19(ptr) AccessChain 22(@gl_WorkGroupID) 18
+              28:      8(int) Load 27
+              29:      8(int) IAdd 26 28
+              31:      8(int) Load 30(@gl_NumSubgroups)
+              33:     19(ptr) AccessChain 17(@gl_NumWorkGroups) 32
+              34:      8(int) Load 33
+              35:      8(int) IMul 31 34
+              36:      8(int) IMul 29 35
+              37:     19(ptr) AccessChain 22(@gl_WorkGroupID) 32
+              38:      8(int) Load 37
+              39:      8(int) IAdd 36 38
+              41:      8(int) Load 40(@gl_SubgroupID)
+              42:      8(int) IAdd 39 41
+              44:     43(ptr) AccessChain 12(data) 14 42
+                              Store 44 18
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.waveordered.frag.out b/Test/baseResults/hlsl.waveordered.frag.out
new file mode 100644
index 0000000..abe8634
--- /dev/null
+++ b/Test/baseResults/hlsl.waveordered.frag.out
@@ -0,0 +1,86 @@
+hlsl.waveordered.frag
+ERROR: 0:3: 'WaveGetOrderedIndex' : WaveGetOrderedIndex() unsupported in a pixel/fragment shader 
+ERROR: 1 compilation errors.  No code generated.
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:2  Function Definition: @PixelShaderFunction( ( temp 4-component vector of float)
+0:2    Function Parameters: 
+0:?     Sequence
+0:3      Test condition and select ( temp void)
+0:3        Condition
+0:3        Compare Equal ( temp bool)
+0:3          Constant:
+0:3            0 (const uint)
+0:3          ERROR: Bad aggregation op
+ ( temp uint)
+0:3        true case
+0:?         Sequence
+0:5          Branch: Return with expression
+0:?             Constant:
+0:?               1.000000
+0:?               2.000000
+0:?               3.000000
+0:?               4.000000
+0:3        false case
+0:?         Sequence
+0:9          Branch: Return with expression
+0:?             Constant:
+0:?               4.000000
+0:?               3.000000
+0:?               2.000000
+0:?               1.000000
+0:2  Function Definition: PixelShaderFunction( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2        Function Call: @PixelShaderFunction( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:2  Function Definition: @PixelShaderFunction( ( temp 4-component vector of float)
+0:2    Function Parameters: 
+0:?     Sequence
+0:3      Test condition and select ( temp void)
+0:3        Condition
+0:3        Compare Equal ( temp bool)
+0:3          Constant:
+0:3            0 (const uint)
+0:3          ERROR: Bad aggregation op
+ ( temp uint)
+0:3        true case
+0:?         Sequence
+0:5          Branch: Return with expression
+0:?             Constant:
+0:?               1.000000
+0:?               2.000000
+0:?               3.000000
+0:?               4.000000
+0:3        false case
+0:?         Sequence
+0:9          Branch: Return with expression
+0:?             Constant:
+0:?               4.000000
+0:?               3.000000
+0:?               2.000000
+0:?               1.000000
+0:2  Function Definition: PixelShaderFunction( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2        Function Call: @PixelShaderFunction( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/hlsl.waveordered2.comp.out b/Test/baseResults/hlsl.waveordered2.comp.out
new file mode 100644
index 0000000..b6f0d58
--- /dev/null
+++ b/Test/baseResults/hlsl.waveordered2.comp.out
@@ -0,0 +1,68 @@
+hlsl.waveordered2.comp
+ERROR: 0:7: 'GlobalOrderedCountIncrement' : GlobalOrderedCountIncrement() unsupported 
+ERROR: 1 compilation errors.  No code generated.
+
+
+Shader version: 500
+local_size = (32, 16, 1)
+ERROR: node is still EOpNull!
+0:5  Function Definition: @CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:6      Sequence
+0:6        move second child to first child ( temp uint)
+0:6          'i' ( temp uint)
+0:6          Constant:
+0:6            42 (const uint)
+0:7      move second child to first child ( temp uint)
+0:7        indirect index (layout( row_major std430) buffer uint)
+0:7          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:7            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:7            Constant:
+0:7              0 (const uint)
+0:7          ERROR: Bad unary op
+ ( temp uint)
+0:7            'i' ( temp uint)
+0:7        Constant:
+0:7          1 (const uint)
+0:5  Function Definition: CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:5      Function Call: @CSMain( ( temp void)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (32, 16, 1)
+ERROR: node is still EOpNull!
+0:5  Function Definition: @CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:6      Sequence
+0:6        move second child to first child ( temp uint)
+0:6          'i' ( temp uint)
+0:6          Constant:
+0:6            42 (const uint)
+0:7      move second child to first child ( temp uint)
+0:7        indirect index (layout( row_major std430) buffer uint)
+0:7          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:7            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:7            Constant:
+0:7              0 (const uint)
+0:7          ERROR: Bad unary op
+ ( temp uint)
+0:7            'i' ( temp uint)
+0:7        Constant:
+0:7          1 (const uint)
+0:5  Function Definition: CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:5      Function Call: @CSMain( ( temp void)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/hlsl.waveordered2.frag.out b/Test/baseResults/hlsl.waveordered2.frag.out
new file mode 100644
index 0000000..6d44c53
--- /dev/null
+++ b/Test/baseResults/hlsl.waveordered2.frag.out
@@ -0,0 +1,98 @@
+hlsl.waveordered2.frag
+ERROR: 0:4: 'GlobalOrderedCountIncrement' : GlobalOrderedCountIncrement() unsupported 
+ERROR: 1 compilation errors.  No code generated.
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:2  Function Definition: @PixelShaderFunction( ( temp 4-component vector of float)
+0:2    Function Parameters: 
+0:?     Sequence
+0:3      Sequence
+0:3        move second child to first child ( temp uint)
+0:3          'i' ( temp uint)
+0:3          Constant:
+0:3            42 (const uint)
+0:4      Test condition and select ( temp void)
+0:4        Condition
+0:4        Compare Equal ( temp bool)
+0:4          Constant:
+0:4            0 (const uint)
+0:4          ERROR: Bad unary op
+ ( temp uint)
+0:4            'i' ( temp uint)
+0:4        true case
+0:?         Sequence
+0:6          Branch: Return with expression
+0:?             Constant:
+0:?               1.000000
+0:?               2.000000
+0:?               3.000000
+0:?               4.000000
+0:4        false case
+0:?         Sequence
+0:10          Branch: Return with expression
+0:?             Constant:
+0:?               4.000000
+0:?               3.000000
+0:?               2.000000
+0:?               1.000000
+0:2  Function Definition: PixelShaderFunction( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2        Function Call: @PixelShaderFunction( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:2  Function Definition: @PixelShaderFunction( ( temp 4-component vector of float)
+0:2    Function Parameters: 
+0:?     Sequence
+0:3      Sequence
+0:3        move second child to first child ( temp uint)
+0:3          'i' ( temp uint)
+0:3          Constant:
+0:3            42 (const uint)
+0:4      Test condition and select ( temp void)
+0:4        Condition
+0:4        Compare Equal ( temp bool)
+0:4          Constant:
+0:4            0 (const uint)
+0:4          ERROR: Bad unary op
+ ( temp uint)
+0:4            'i' ( temp uint)
+0:4        true case
+0:?         Sequence
+0:6          Branch: Return with expression
+0:?             Constant:
+0:?               1.000000
+0:?               2.000000
+0:?               3.000000
+0:?               4.000000
+0:4        false case
+0:?         Sequence
+0:10          Branch: Return with expression
+0:?             Constant:
+0:?               4.000000
+0:?               3.000000
+0:?               2.000000
+0:?               1.000000
+0:2  Function Definition: PixelShaderFunction( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2        Function Call: @PixelShaderFunction( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/hlsl.waveprefix.comp.out b/Test/baseResults/hlsl.waveprefix.comp.out
new file mode 100644
index 0000000..10ce0f9
--- /dev/null
+++ b/Test/baseResults/hlsl.waveprefix.comp.out
@@ -0,0 +1,2681 @@
+hlsl.waveprefix.comp
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:13  Function Definition: @CSMain(vu3; ( temp void)
+0:13    Function Parameters: 
+0:13      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:14      move second child to first child ( temp 4-component vector of uint)
+0:14        u: direct index for structure ( temp 4-component vector of uint)
+0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14              Constant:
+0:14                0 (const uint)
+0:14            direct index ( temp uint)
+0:14              'dti' ( in 3-component vector of uint)
+0:14              Constant:
+0:14                0 (const int)
+0:14          Constant:
+0:14            0 (const int)
+0:14        subgroupInclusiveAdd ( temp 4-component vector of uint)
+0:14          u: direct index for structure ( temp 4-component vector of uint)
+0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14                Constant:
+0:14                  0 (const uint)
+0:14              direct index ( temp uint)
+0:14                'dti' ( in 3-component vector of uint)
+0:14                Constant:
+0:14                  0 (const int)
+0:14            Constant:
+0:14              0 (const int)
+0:15      move second child to first child ( temp uint)
+0:15        direct index ( temp uint)
+0:15          u: direct index for structure ( temp 4-component vector of uint)
+0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                Constant:
+0:15                  0 (const uint)
+0:15              direct index ( temp uint)
+0:15                'dti' ( in 3-component vector of uint)
+0:15                Constant:
+0:15                  0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const int)
+0:15        subgroupInclusiveAdd ( temp uint)
+0:15          direct index ( temp uint)
+0:15            u: direct index for structure ( temp 4-component vector of uint)
+0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                  Constant:
+0:15                    0 (const uint)
+0:15                direct index ( temp uint)
+0:15                  'dti' ( in 3-component vector of uint)
+0:15                  Constant:
+0:15                    0 (const int)
+0:15              Constant:
+0:15                0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:16      move second child to first child ( temp 2-component vector of uint)
+0:16        vector swizzle ( temp 2-component vector of uint)
+0:16          u: direct index for structure ( temp 4-component vector of uint)
+0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                Constant:
+0:16                  0 (const uint)
+0:16              direct index ( temp uint)
+0:16                'dti' ( in 3-component vector of uint)
+0:16                Constant:
+0:16                  0 (const int)
+0:16            Constant:
+0:16              0 (const int)
+0:16          Sequence
+0:16            Constant:
+0:16              0 (const int)
+0:16            Constant:
+0:16              1 (const int)
+0:16        subgroupInclusiveAdd ( temp 2-component vector of uint)
+0:16          vector swizzle ( temp 2-component vector of uint)
+0:16            u: direct index for structure ( temp 4-component vector of uint)
+0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                  Constant:
+0:16                    0 (const uint)
+0:16                direct index ( temp uint)
+0:16                  'dti' ( in 3-component vector of uint)
+0:16                  Constant:
+0:16                    0 (const int)
+0:16              Constant:
+0:16                0 (const int)
+0:16            Sequence
+0:16              Constant:
+0:16                0 (const int)
+0:16              Constant:
+0:16                1 (const int)
+0:17      move second child to first child ( temp 3-component vector of uint)
+0:17        vector swizzle ( temp 3-component vector of uint)
+0:17          u: direct index for structure ( temp 4-component vector of uint)
+0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                Constant:
+0:17                  0 (const uint)
+0:17              direct index ( temp uint)
+0:17                'dti' ( in 3-component vector of uint)
+0:17                Constant:
+0:17                  0 (const int)
+0:17            Constant:
+0:17              0 (const int)
+0:17          Sequence
+0:17            Constant:
+0:17              0 (const int)
+0:17            Constant:
+0:17              1 (const int)
+0:17            Constant:
+0:17              2 (const int)
+0:17        subgroupInclusiveAdd ( temp 3-component vector of uint)
+0:17          vector swizzle ( temp 3-component vector of uint)
+0:17            u: direct index for structure ( temp 4-component vector of uint)
+0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                  Constant:
+0:17                    0 (const uint)
+0:17                direct index ( temp uint)
+0:17                  'dti' ( in 3-component vector of uint)
+0:17                  Constant:
+0:17                    0 (const int)
+0:17              Constant:
+0:17                0 (const int)
+0:17            Sequence
+0:17              Constant:
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:17              Constant:
+0:17                2 (const int)
+0:19      move second child to first child ( temp 4-component vector of int)
+0:19        i: direct index for structure ( temp 4-component vector of int)
+0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            direct index ( temp uint)
+0:19              'dti' ( in 3-component vector of uint)
+0:19              Constant:
+0:19                0 (const int)
+0:19          Constant:
+0:19            1 (const int)
+0:19        subgroupInclusiveAdd ( temp 4-component vector of int)
+0:19          i: direct index for structure ( temp 4-component vector of int)
+0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19                Constant:
+0:19                  0 (const uint)
+0:19              direct index ( temp uint)
+0:19                'dti' ( in 3-component vector of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:20      move second child to first child ( temp int)
+0:20        direct index ( temp int)
+0:20          i: direct index for structure ( temp 4-component vector of int)
+0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                Constant:
+0:20                  0 (const uint)
+0:20              direct index ( temp uint)
+0:20                'dti' ( in 3-component vector of uint)
+0:20                Constant:
+0:20                  0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        subgroupInclusiveAdd ( temp int)
+0:20          direct index ( temp int)
+0:20            i: direct index for structure ( temp 4-component vector of int)
+0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                  Constant:
+0:20                    0 (const uint)
+0:20                direct index ( temp uint)
+0:20                  'dti' ( in 3-component vector of uint)
+0:20                  Constant:
+0:20                    0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:21      move second child to first child ( temp 2-component vector of int)
+0:21        vector swizzle ( temp 2-component vector of int)
+0:21          i: direct index for structure ( temp 4-component vector of int)
+0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                Constant:
+0:21                  0 (const uint)
+0:21              direct index ( temp uint)
+0:21                'dti' ( in 3-component vector of uint)
+0:21                Constant:
+0:21                  0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupInclusiveAdd ( temp 2-component vector of int)
+0:21          vector swizzle ( temp 2-component vector of int)
+0:21            i: direct index for structure ( temp 4-component vector of int)
+0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                  Constant:
+0:21                    0 (const uint)
+0:21                direct index ( temp uint)
+0:21                  'dti' ( in 3-component vector of uint)
+0:21                  Constant:
+0:21                    0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:22      move second child to first child ( temp 3-component vector of int)
+0:22        vector swizzle ( temp 3-component vector of int)
+0:22          i: direct index for structure ( temp 4-component vector of int)
+0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                Constant:
+0:22                  0 (const uint)
+0:22              direct index ( temp uint)
+0:22                'dti' ( in 3-component vector of uint)
+0:22                Constant:
+0:22                  0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22            Constant:
+0:22              2 (const int)
+0:22        subgroupInclusiveAdd ( temp 3-component vector of int)
+0:22          vector swizzle ( temp 3-component vector of int)
+0:22            i: direct index for structure ( temp 4-component vector of int)
+0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                  Constant:
+0:22                    0 (const uint)
+0:22                direct index ( temp uint)
+0:22                  'dti' ( in 3-component vector of uint)
+0:22                  Constant:
+0:22                    0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:24      move second child to first child ( temp 4-component vector of float)
+0:24        f: direct index for structure ( temp 4-component vector of float)
+0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24              Constant:
+0:24                0 (const uint)
+0:24            direct index ( temp uint)
+0:24              'dti' ( in 3-component vector of uint)
+0:24              Constant:
+0:24                0 (const int)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupInclusiveAdd ( temp 4-component vector of float)
+0:24          f: direct index for structure ( temp 4-component vector of float)
+0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24                Constant:
+0:24                  0 (const uint)
+0:24              direct index ( temp uint)
+0:24                'dti' ( in 3-component vector of uint)
+0:24                Constant:
+0:24                  0 (const int)
+0:24            Constant:
+0:24              2 (const int)
+0:25      move second child to first child ( temp float)
+0:25        direct index ( temp float)
+0:25          f: direct index for structure ( temp 4-component vector of float)
+0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                Constant:
+0:25                  0 (const uint)
+0:25              direct index ( temp uint)
+0:25                'dti' ( in 3-component vector of uint)
+0:25                Constant:
+0:25                  0 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25          Constant:
+0:25            0 (const int)
+0:25        subgroupInclusiveAdd ( temp float)
+0:25          direct index ( temp float)
+0:25            f: direct index for structure ( temp 4-component vector of float)
+0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                  Constant:
+0:25                    0 (const uint)
+0:25                direct index ( temp uint)
+0:25                  'dti' ( in 3-component vector of uint)
+0:25                  Constant:
+0:25                    0 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:26      move second child to first child ( temp 2-component vector of float)
+0:26        vector swizzle ( temp 2-component vector of float)
+0:26          f: direct index for structure ( temp 4-component vector of float)
+0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26              direct index ( temp uint)
+0:26                'dti' ( in 3-component vector of uint)
+0:26                Constant:
+0:26                  0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupInclusiveAdd ( temp 2-component vector of float)
+0:26          vector swizzle ( temp 2-component vector of float)
+0:26            f: direct index for structure ( temp 4-component vector of float)
+0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                  Constant:
+0:26                    0 (const uint)
+0:26                direct index ( temp uint)
+0:26                  'dti' ( in 3-component vector of uint)
+0:26                  Constant:
+0:26                    0 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:27      move second child to first child ( temp 3-component vector of float)
+0:27        vector swizzle ( temp 3-component vector of float)
+0:27          f: direct index for structure ( temp 4-component vector of float)
+0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                Constant:
+0:27                  0 (const uint)
+0:27              direct index ( temp uint)
+0:27                'dti' ( in 3-component vector of uint)
+0:27                Constant:
+0:27                  0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupInclusiveAdd ( temp 3-component vector of float)
+0:27          vector swizzle ( temp 3-component vector of float)
+0:27            f: direct index for structure ( temp 4-component vector of float)
+0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                  Constant:
+0:27                    0 (const uint)
+0:27                direct index ( temp uint)
+0:27                  'dti' ( in 3-component vector of uint)
+0:27                  Constant:
+0:27                    0 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:29      move second child to first child ( temp 4-component vector of double)
+0:29        d: direct index for structure ( temp 4-component vector of double)
+0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29              Constant:
+0:29                0 (const uint)
+0:29            direct index ( temp uint)
+0:29              'dti' ( in 3-component vector of uint)
+0:29              Constant:
+0:29                0 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        subgroupInclusiveAdd ( temp 4-component vector of double)
+0:29          d: direct index for structure ( temp 4-component vector of double)
+0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29                Constant:
+0:29                  0 (const uint)
+0:29              direct index ( temp uint)
+0:29                'dti' ( in 3-component vector of uint)
+0:29                Constant:
+0:29                  0 (const int)
+0:29            Constant:
+0:29              3 (const int)
+0:30      move second child to first child ( temp double)
+0:30        direct index ( temp double)
+0:30          d: direct index for structure ( temp 4-component vector of double)
+0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                Constant:
+0:30                  0 (const uint)
+0:30              direct index ( temp uint)
+0:30                'dti' ( in 3-component vector of uint)
+0:30                Constant:
+0:30                  0 (const int)
+0:30            Constant:
+0:30              3 (const int)
+0:30          Constant:
+0:30            0 (const int)
+0:30        subgroupInclusiveAdd ( temp double)
+0:30          direct index ( temp double)
+0:30            d: direct index for structure ( temp 4-component vector of double)
+0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                  Constant:
+0:30                    0 (const uint)
+0:30                direct index ( temp uint)
+0:30                  'dti' ( in 3-component vector of uint)
+0:30                  Constant:
+0:30                    0 (const int)
+0:30              Constant:
+0:30                3 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:31      move second child to first child ( temp 2-component vector of double)
+0:31        vector swizzle ( temp 2-component vector of double)
+0:31          d: direct index for structure ( temp 4-component vector of double)
+0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                Constant:
+0:31                  0 (const uint)
+0:31              direct index ( temp uint)
+0:31                'dti' ( in 3-component vector of uint)
+0:31                Constant:
+0:31                  0 (const int)
+0:31            Constant:
+0:31              3 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31        subgroupInclusiveAdd ( temp 2-component vector of double)
+0:31          vector swizzle ( temp 2-component vector of double)
+0:31            d: direct index for structure ( temp 4-component vector of double)
+0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                  Constant:
+0:31                    0 (const uint)
+0:31                direct index ( temp uint)
+0:31                  'dti' ( in 3-component vector of uint)
+0:31                  Constant:
+0:31                    0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:32      move second child to first child ( temp 3-component vector of double)
+0:32        vector swizzle ( temp 3-component vector of double)
+0:32          d: direct index for structure ( temp 4-component vector of double)
+0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                Constant:
+0:32                  0 (const uint)
+0:32              direct index ( temp uint)
+0:32                'dti' ( in 3-component vector of uint)
+0:32                Constant:
+0:32                  0 (const int)
+0:32            Constant:
+0:32              3 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32        subgroupInclusiveAdd ( temp 3-component vector of double)
+0:32          vector swizzle ( temp 3-component vector of double)
+0:32            d: direct index for structure ( temp 4-component vector of double)
+0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                  Constant:
+0:32                    0 (const uint)
+0:32                direct index ( temp uint)
+0:32                  'dti' ( in 3-component vector of uint)
+0:32                  Constant:
+0:32                    0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u: direct index for structure ( temp 4-component vector of uint)
+0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34              Constant:
+0:34                0 (const uint)
+0:34            direct index ( temp uint)
+0:34              'dti' ( in 3-component vector of uint)
+0:34              Constant:
+0:34                0 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupInclusiveMul ( temp 4-component vector of uint)
+0:34          u: direct index for structure ( temp 4-component vector of uint)
+0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34                Constant:
+0:34                  0 (const uint)
+0:34              direct index ( temp uint)
+0:34                'dti' ( in 3-component vector of uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:35      move second child to first child ( temp uint)
+0:35        direct index ( temp uint)
+0:35          u: direct index for structure ( temp 4-component vector of uint)
+0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                Constant:
+0:35                  0 (const uint)
+0:35              direct index ( temp uint)
+0:35                'dti' ( in 3-component vector of uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            0 (const int)
+0:35        subgroupInclusiveMul ( temp uint)
+0:35          direct index ( temp uint)
+0:35            u: direct index for structure ( temp 4-component vector of uint)
+0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                  Constant:
+0:35                    0 (const uint)
+0:35                direct index ( temp uint)
+0:35                  'dti' ( in 3-component vector of uint)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:36      move second child to first child ( temp 2-component vector of uint)
+0:36        vector swizzle ( temp 2-component vector of uint)
+0:36          u: direct index for structure ( temp 4-component vector of uint)
+0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                Constant:
+0:36                  0 (const uint)
+0:36              direct index ( temp uint)
+0:36                'dti' ( in 3-component vector of uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36        subgroupInclusiveMul ( temp 2-component vector of uint)
+0:36          vector swizzle ( temp 2-component vector of uint)
+0:36            u: direct index for structure ( temp 4-component vector of uint)
+0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                  Constant:
+0:36                    0 (const uint)
+0:36                direct index ( temp uint)
+0:36                  'dti' ( in 3-component vector of uint)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:37      move second child to first child ( temp 3-component vector of uint)
+0:37        vector swizzle ( temp 3-component vector of uint)
+0:37          u: direct index for structure ( temp 4-component vector of uint)
+0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                Constant:
+0:37                  0 (const uint)
+0:37              direct index ( temp uint)
+0:37                'dti' ( in 3-component vector of uint)
+0:37                Constant:
+0:37                  0 (const int)
+0:37            Constant:
+0:37              0 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37            Constant:
+0:37              2 (const int)
+0:37        subgroupInclusiveMul ( temp 3-component vector of uint)
+0:37          vector swizzle ( temp 3-component vector of uint)
+0:37            u: direct index for structure ( temp 4-component vector of uint)
+0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                  Constant:
+0:37                    0 (const uint)
+0:37                direct index ( temp uint)
+0:37                  'dti' ( in 3-component vector of uint)
+0:37                  Constant:
+0:37                    0 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              Constant:
+0:37                2 (const int)
+0:39      move second child to first child ( temp 4-component vector of int)
+0:39        i: direct index for structure ( temp 4-component vector of int)
+0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39              Constant:
+0:39                0 (const uint)
+0:39            direct index ( temp uint)
+0:39              'dti' ( in 3-component vector of uint)
+0:39              Constant:
+0:39                0 (const int)
+0:39          Constant:
+0:39            1 (const int)
+0:39        subgroupInclusiveMul ( temp 4-component vector of int)
+0:39          i: direct index for structure ( temp 4-component vector of int)
+0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39                Constant:
+0:39                  0 (const uint)
+0:39              direct index ( temp uint)
+0:39                'dti' ( in 3-component vector of uint)
+0:39                Constant:
+0:39                  0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:40      move second child to first child ( temp int)
+0:40        direct index ( temp int)
+0:40          i: direct index for structure ( temp 4-component vector of int)
+0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                Constant:
+0:40                  0 (const uint)
+0:40              direct index ( temp uint)
+0:40                'dti' ( in 3-component vector of uint)
+0:40                Constant:
+0:40                  0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        subgroupInclusiveMul ( temp int)
+0:40          direct index ( temp int)
+0:40            i: direct index for structure ( temp 4-component vector of int)
+0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                  Constant:
+0:40                    0 (const uint)
+0:40                direct index ( temp uint)
+0:40                  'dti' ( in 3-component vector of uint)
+0:40                  Constant:
+0:40                    0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:41      move second child to first child ( temp 2-component vector of int)
+0:41        vector swizzle ( temp 2-component vector of int)
+0:41          i: direct index for structure ( temp 4-component vector of int)
+0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                Constant:
+0:41                  0 (const uint)
+0:41              direct index ( temp uint)
+0:41                'dti' ( in 3-component vector of uint)
+0:41                Constant:
+0:41                  0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        subgroupInclusiveMul ( temp 2-component vector of int)
+0:41          vector swizzle ( temp 2-component vector of int)
+0:41            i: direct index for structure ( temp 4-component vector of int)
+0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                  Constant:
+0:41                    0 (const uint)
+0:41                direct index ( temp uint)
+0:41                  'dti' ( in 3-component vector of uint)
+0:41                  Constant:
+0:41                    0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:42      move second child to first child ( temp 3-component vector of int)
+0:42        vector swizzle ( temp 3-component vector of int)
+0:42          i: direct index for structure ( temp 4-component vector of int)
+0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                Constant:
+0:42                  0 (const uint)
+0:42              direct index ( temp uint)
+0:42                'dti' ( in 3-component vector of uint)
+0:42                Constant:
+0:42                  0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        subgroupInclusiveMul ( temp 3-component vector of int)
+0:42          vector swizzle ( temp 3-component vector of int)
+0:42            i: direct index for structure ( temp 4-component vector of int)
+0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                  Constant:
+0:42                    0 (const uint)
+0:42                direct index ( temp uint)
+0:42                  'dti' ( in 3-component vector of uint)
+0:42                  Constant:
+0:42                    0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:44      move second child to first child ( temp 4-component vector of float)
+0:44        f: direct index for structure ( temp 4-component vector of float)
+0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44              Constant:
+0:44                0 (const uint)
+0:44            direct index ( temp uint)
+0:44              'dti' ( in 3-component vector of uint)
+0:44              Constant:
+0:44                0 (const int)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupInclusiveMul ( temp 4-component vector of float)
+0:44          f: direct index for structure ( temp 4-component vector of float)
+0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44                Constant:
+0:44                  0 (const uint)
+0:44              direct index ( temp uint)
+0:44                'dti' ( in 3-component vector of uint)
+0:44                Constant:
+0:44                  0 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:45      move second child to first child ( temp float)
+0:45        direct index ( temp float)
+0:45          f: direct index for structure ( temp 4-component vector of float)
+0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                Constant:
+0:45                  0 (const uint)
+0:45              direct index ( temp uint)
+0:45                'dti' ( in 3-component vector of uint)
+0:45                Constant:
+0:45                  0 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        subgroupInclusiveMul ( temp float)
+0:45          direct index ( temp float)
+0:45            f: direct index for structure ( temp 4-component vector of float)
+0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                  Constant:
+0:45                    0 (const uint)
+0:45                direct index ( temp uint)
+0:45                  'dti' ( in 3-component vector of uint)
+0:45                  Constant:
+0:45                    0 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:46      move second child to first child ( temp 2-component vector of float)
+0:46        vector swizzle ( temp 2-component vector of float)
+0:46          f: direct index for structure ( temp 4-component vector of float)
+0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                Constant:
+0:46                  0 (const uint)
+0:46              direct index ( temp uint)
+0:46                'dti' ( in 3-component vector of uint)
+0:46                Constant:
+0:46                  0 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        subgroupInclusiveMul ( temp 2-component vector of float)
+0:46          vector swizzle ( temp 2-component vector of float)
+0:46            f: direct index for structure ( temp 4-component vector of float)
+0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46                direct index ( temp uint)
+0:46                  'dti' ( in 3-component vector of uint)
+0:46                  Constant:
+0:46                    0 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:47      move second child to first child ( temp 3-component vector of float)
+0:47        vector swizzle ( temp 3-component vector of float)
+0:47          f: direct index for structure ( temp 4-component vector of float)
+0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                Constant:
+0:47                  0 (const uint)
+0:47              direct index ( temp uint)
+0:47                'dti' ( in 3-component vector of uint)
+0:47                Constant:
+0:47                  0 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        subgroupInclusiveMul ( temp 3-component vector of float)
+0:47          vector swizzle ( temp 3-component vector of float)
+0:47            f: direct index for structure ( temp 4-component vector of float)
+0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                  Constant:
+0:47                    0 (const uint)
+0:47                direct index ( temp uint)
+0:47                  'dti' ( in 3-component vector of uint)
+0:47                  Constant:
+0:47                    0 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:49      move second child to first child ( temp 4-component vector of double)
+0:49        d: direct index for structure ( temp 4-component vector of double)
+0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49              Constant:
+0:49                0 (const uint)
+0:49            direct index ( temp uint)
+0:49              'dti' ( in 3-component vector of uint)
+0:49              Constant:
+0:49                0 (const int)
+0:49          Constant:
+0:49            3 (const int)
+0:49        subgroupInclusiveMul ( temp 4-component vector of double)
+0:49          d: direct index for structure ( temp 4-component vector of double)
+0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49                Constant:
+0:49                  0 (const uint)
+0:49              direct index ( temp uint)
+0:49                'dti' ( in 3-component vector of uint)
+0:49                Constant:
+0:49                  0 (const int)
+0:49            Constant:
+0:49              3 (const int)
+0:50      move second child to first child ( temp double)
+0:50        direct index ( temp double)
+0:50          d: direct index for structure ( temp 4-component vector of double)
+0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                Constant:
+0:50                  0 (const uint)
+0:50              direct index ( temp uint)
+0:50                'dti' ( in 3-component vector of uint)
+0:50                Constant:
+0:50                  0 (const int)
+0:50            Constant:
+0:50              3 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        subgroupInclusiveMul ( temp double)
+0:50          direct index ( temp double)
+0:50            d: direct index for structure ( temp 4-component vector of double)
+0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                  Constant:
+0:50                    0 (const uint)
+0:50                direct index ( temp uint)
+0:50                  'dti' ( in 3-component vector of uint)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:51      move second child to first child ( temp 2-component vector of double)
+0:51        vector swizzle ( temp 2-component vector of double)
+0:51          d: direct index for structure ( temp 4-component vector of double)
+0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                Constant:
+0:51                  0 (const uint)
+0:51              direct index ( temp uint)
+0:51                'dti' ( in 3-component vector of uint)
+0:51                Constant:
+0:51                  0 (const int)
+0:51            Constant:
+0:51              3 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        subgroupInclusiveMul ( temp 2-component vector of double)
+0:51          vector swizzle ( temp 2-component vector of double)
+0:51            d: direct index for structure ( temp 4-component vector of double)
+0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                  Constant:
+0:51                    0 (const uint)
+0:51                direct index ( temp uint)
+0:51                  'dti' ( in 3-component vector of uint)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51              Constant:
+0:51                3 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:52      move second child to first child ( temp 3-component vector of double)
+0:52        vector swizzle ( temp 3-component vector of double)
+0:52          d: direct index for structure ( temp 4-component vector of double)
+0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                Constant:
+0:52                  0 (const uint)
+0:52              direct index ( temp uint)
+0:52                'dti' ( in 3-component vector of uint)
+0:52                Constant:
+0:52                  0 (const int)
+0:52            Constant:
+0:52              3 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        subgroupInclusiveMul ( temp 3-component vector of double)
+0:52          vector swizzle ( temp 3-component vector of double)
+0:52            d: direct index for structure ( temp 4-component vector of double)
+0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                  Constant:
+0:52                    0 (const uint)
+0:52                direct index ( temp uint)
+0:52                  'dti' ( in 3-component vector of uint)
+0:52                  Constant:
+0:52                    0 (const int)
+0:52              Constant:
+0:52                3 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:13  Function Definition: CSMain( ( temp void)
+0:13    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:13      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:13  Function Definition: @CSMain(vu3; ( temp void)
+0:13    Function Parameters: 
+0:13      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:14      move second child to first child ( temp 4-component vector of uint)
+0:14        u: direct index for structure ( temp 4-component vector of uint)
+0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14              Constant:
+0:14                0 (const uint)
+0:14            direct index ( temp uint)
+0:14              'dti' ( in 3-component vector of uint)
+0:14              Constant:
+0:14                0 (const int)
+0:14          Constant:
+0:14            0 (const int)
+0:14        subgroupInclusiveAdd ( temp 4-component vector of uint)
+0:14          u: direct index for structure ( temp 4-component vector of uint)
+0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14                Constant:
+0:14                  0 (const uint)
+0:14              direct index ( temp uint)
+0:14                'dti' ( in 3-component vector of uint)
+0:14                Constant:
+0:14                  0 (const int)
+0:14            Constant:
+0:14              0 (const int)
+0:15      move second child to first child ( temp uint)
+0:15        direct index ( temp uint)
+0:15          u: direct index for structure ( temp 4-component vector of uint)
+0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                Constant:
+0:15                  0 (const uint)
+0:15              direct index ( temp uint)
+0:15                'dti' ( in 3-component vector of uint)
+0:15                Constant:
+0:15                  0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const int)
+0:15        subgroupInclusiveAdd ( temp uint)
+0:15          direct index ( temp uint)
+0:15            u: direct index for structure ( temp 4-component vector of uint)
+0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                  Constant:
+0:15                    0 (const uint)
+0:15                direct index ( temp uint)
+0:15                  'dti' ( in 3-component vector of uint)
+0:15                  Constant:
+0:15                    0 (const int)
+0:15              Constant:
+0:15                0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:16      move second child to first child ( temp 2-component vector of uint)
+0:16        vector swizzle ( temp 2-component vector of uint)
+0:16          u: direct index for structure ( temp 4-component vector of uint)
+0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                Constant:
+0:16                  0 (const uint)
+0:16              direct index ( temp uint)
+0:16                'dti' ( in 3-component vector of uint)
+0:16                Constant:
+0:16                  0 (const int)
+0:16            Constant:
+0:16              0 (const int)
+0:16          Sequence
+0:16            Constant:
+0:16              0 (const int)
+0:16            Constant:
+0:16              1 (const int)
+0:16        subgroupInclusiveAdd ( temp 2-component vector of uint)
+0:16          vector swizzle ( temp 2-component vector of uint)
+0:16            u: direct index for structure ( temp 4-component vector of uint)
+0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                  Constant:
+0:16                    0 (const uint)
+0:16                direct index ( temp uint)
+0:16                  'dti' ( in 3-component vector of uint)
+0:16                  Constant:
+0:16                    0 (const int)
+0:16              Constant:
+0:16                0 (const int)
+0:16            Sequence
+0:16              Constant:
+0:16                0 (const int)
+0:16              Constant:
+0:16                1 (const int)
+0:17      move second child to first child ( temp 3-component vector of uint)
+0:17        vector swizzle ( temp 3-component vector of uint)
+0:17          u: direct index for structure ( temp 4-component vector of uint)
+0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                Constant:
+0:17                  0 (const uint)
+0:17              direct index ( temp uint)
+0:17                'dti' ( in 3-component vector of uint)
+0:17                Constant:
+0:17                  0 (const int)
+0:17            Constant:
+0:17              0 (const int)
+0:17          Sequence
+0:17            Constant:
+0:17              0 (const int)
+0:17            Constant:
+0:17              1 (const int)
+0:17            Constant:
+0:17              2 (const int)
+0:17        subgroupInclusiveAdd ( temp 3-component vector of uint)
+0:17          vector swizzle ( temp 3-component vector of uint)
+0:17            u: direct index for structure ( temp 4-component vector of uint)
+0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                  Constant:
+0:17                    0 (const uint)
+0:17                direct index ( temp uint)
+0:17                  'dti' ( in 3-component vector of uint)
+0:17                  Constant:
+0:17                    0 (const int)
+0:17              Constant:
+0:17                0 (const int)
+0:17            Sequence
+0:17              Constant:
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:17              Constant:
+0:17                2 (const int)
+0:19      move second child to first child ( temp 4-component vector of int)
+0:19        i: direct index for structure ( temp 4-component vector of int)
+0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            direct index ( temp uint)
+0:19              'dti' ( in 3-component vector of uint)
+0:19              Constant:
+0:19                0 (const int)
+0:19          Constant:
+0:19            1 (const int)
+0:19        subgroupInclusiveAdd ( temp 4-component vector of int)
+0:19          i: direct index for structure ( temp 4-component vector of int)
+0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19                Constant:
+0:19                  0 (const uint)
+0:19              direct index ( temp uint)
+0:19                'dti' ( in 3-component vector of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:20      move second child to first child ( temp int)
+0:20        direct index ( temp int)
+0:20          i: direct index for structure ( temp 4-component vector of int)
+0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                Constant:
+0:20                  0 (const uint)
+0:20              direct index ( temp uint)
+0:20                'dti' ( in 3-component vector of uint)
+0:20                Constant:
+0:20                  0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        subgroupInclusiveAdd ( temp int)
+0:20          direct index ( temp int)
+0:20            i: direct index for structure ( temp 4-component vector of int)
+0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                  Constant:
+0:20                    0 (const uint)
+0:20                direct index ( temp uint)
+0:20                  'dti' ( in 3-component vector of uint)
+0:20                  Constant:
+0:20                    0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:21      move second child to first child ( temp 2-component vector of int)
+0:21        vector swizzle ( temp 2-component vector of int)
+0:21          i: direct index for structure ( temp 4-component vector of int)
+0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                Constant:
+0:21                  0 (const uint)
+0:21              direct index ( temp uint)
+0:21                'dti' ( in 3-component vector of uint)
+0:21                Constant:
+0:21                  0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupInclusiveAdd ( temp 2-component vector of int)
+0:21          vector swizzle ( temp 2-component vector of int)
+0:21            i: direct index for structure ( temp 4-component vector of int)
+0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                  Constant:
+0:21                    0 (const uint)
+0:21                direct index ( temp uint)
+0:21                  'dti' ( in 3-component vector of uint)
+0:21                  Constant:
+0:21                    0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:22      move second child to first child ( temp 3-component vector of int)
+0:22        vector swizzle ( temp 3-component vector of int)
+0:22          i: direct index for structure ( temp 4-component vector of int)
+0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                Constant:
+0:22                  0 (const uint)
+0:22              direct index ( temp uint)
+0:22                'dti' ( in 3-component vector of uint)
+0:22                Constant:
+0:22                  0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22            Constant:
+0:22              2 (const int)
+0:22        subgroupInclusiveAdd ( temp 3-component vector of int)
+0:22          vector swizzle ( temp 3-component vector of int)
+0:22            i: direct index for structure ( temp 4-component vector of int)
+0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                  Constant:
+0:22                    0 (const uint)
+0:22                direct index ( temp uint)
+0:22                  'dti' ( in 3-component vector of uint)
+0:22                  Constant:
+0:22                    0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:24      move second child to first child ( temp 4-component vector of float)
+0:24        f: direct index for structure ( temp 4-component vector of float)
+0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24              Constant:
+0:24                0 (const uint)
+0:24            direct index ( temp uint)
+0:24              'dti' ( in 3-component vector of uint)
+0:24              Constant:
+0:24                0 (const int)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupInclusiveAdd ( temp 4-component vector of float)
+0:24          f: direct index for structure ( temp 4-component vector of float)
+0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24                Constant:
+0:24                  0 (const uint)
+0:24              direct index ( temp uint)
+0:24                'dti' ( in 3-component vector of uint)
+0:24                Constant:
+0:24                  0 (const int)
+0:24            Constant:
+0:24              2 (const int)
+0:25      move second child to first child ( temp float)
+0:25        direct index ( temp float)
+0:25          f: direct index for structure ( temp 4-component vector of float)
+0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                Constant:
+0:25                  0 (const uint)
+0:25              direct index ( temp uint)
+0:25                'dti' ( in 3-component vector of uint)
+0:25                Constant:
+0:25                  0 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25          Constant:
+0:25            0 (const int)
+0:25        subgroupInclusiveAdd ( temp float)
+0:25          direct index ( temp float)
+0:25            f: direct index for structure ( temp 4-component vector of float)
+0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                  Constant:
+0:25                    0 (const uint)
+0:25                direct index ( temp uint)
+0:25                  'dti' ( in 3-component vector of uint)
+0:25                  Constant:
+0:25                    0 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:26      move second child to first child ( temp 2-component vector of float)
+0:26        vector swizzle ( temp 2-component vector of float)
+0:26          f: direct index for structure ( temp 4-component vector of float)
+0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26              direct index ( temp uint)
+0:26                'dti' ( in 3-component vector of uint)
+0:26                Constant:
+0:26                  0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupInclusiveAdd ( temp 2-component vector of float)
+0:26          vector swizzle ( temp 2-component vector of float)
+0:26            f: direct index for structure ( temp 4-component vector of float)
+0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                  Constant:
+0:26                    0 (const uint)
+0:26                direct index ( temp uint)
+0:26                  'dti' ( in 3-component vector of uint)
+0:26                  Constant:
+0:26                    0 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:27      move second child to first child ( temp 3-component vector of float)
+0:27        vector swizzle ( temp 3-component vector of float)
+0:27          f: direct index for structure ( temp 4-component vector of float)
+0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                Constant:
+0:27                  0 (const uint)
+0:27              direct index ( temp uint)
+0:27                'dti' ( in 3-component vector of uint)
+0:27                Constant:
+0:27                  0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupInclusiveAdd ( temp 3-component vector of float)
+0:27          vector swizzle ( temp 3-component vector of float)
+0:27            f: direct index for structure ( temp 4-component vector of float)
+0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                  Constant:
+0:27                    0 (const uint)
+0:27                direct index ( temp uint)
+0:27                  'dti' ( in 3-component vector of uint)
+0:27                  Constant:
+0:27                    0 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:29      move second child to first child ( temp 4-component vector of double)
+0:29        d: direct index for structure ( temp 4-component vector of double)
+0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29              Constant:
+0:29                0 (const uint)
+0:29            direct index ( temp uint)
+0:29              'dti' ( in 3-component vector of uint)
+0:29              Constant:
+0:29                0 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        subgroupInclusiveAdd ( temp 4-component vector of double)
+0:29          d: direct index for structure ( temp 4-component vector of double)
+0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29                Constant:
+0:29                  0 (const uint)
+0:29              direct index ( temp uint)
+0:29                'dti' ( in 3-component vector of uint)
+0:29                Constant:
+0:29                  0 (const int)
+0:29            Constant:
+0:29              3 (const int)
+0:30      move second child to first child ( temp double)
+0:30        direct index ( temp double)
+0:30          d: direct index for structure ( temp 4-component vector of double)
+0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                Constant:
+0:30                  0 (const uint)
+0:30              direct index ( temp uint)
+0:30                'dti' ( in 3-component vector of uint)
+0:30                Constant:
+0:30                  0 (const int)
+0:30            Constant:
+0:30              3 (const int)
+0:30          Constant:
+0:30            0 (const int)
+0:30        subgroupInclusiveAdd ( temp double)
+0:30          direct index ( temp double)
+0:30            d: direct index for structure ( temp 4-component vector of double)
+0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                  Constant:
+0:30                    0 (const uint)
+0:30                direct index ( temp uint)
+0:30                  'dti' ( in 3-component vector of uint)
+0:30                  Constant:
+0:30                    0 (const int)
+0:30              Constant:
+0:30                3 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:31      move second child to first child ( temp 2-component vector of double)
+0:31        vector swizzle ( temp 2-component vector of double)
+0:31          d: direct index for structure ( temp 4-component vector of double)
+0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                Constant:
+0:31                  0 (const uint)
+0:31              direct index ( temp uint)
+0:31                'dti' ( in 3-component vector of uint)
+0:31                Constant:
+0:31                  0 (const int)
+0:31            Constant:
+0:31              3 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31        subgroupInclusiveAdd ( temp 2-component vector of double)
+0:31          vector swizzle ( temp 2-component vector of double)
+0:31            d: direct index for structure ( temp 4-component vector of double)
+0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                  Constant:
+0:31                    0 (const uint)
+0:31                direct index ( temp uint)
+0:31                  'dti' ( in 3-component vector of uint)
+0:31                  Constant:
+0:31                    0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:32      move second child to first child ( temp 3-component vector of double)
+0:32        vector swizzle ( temp 3-component vector of double)
+0:32          d: direct index for structure ( temp 4-component vector of double)
+0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                Constant:
+0:32                  0 (const uint)
+0:32              direct index ( temp uint)
+0:32                'dti' ( in 3-component vector of uint)
+0:32                Constant:
+0:32                  0 (const int)
+0:32            Constant:
+0:32              3 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32        subgroupInclusiveAdd ( temp 3-component vector of double)
+0:32          vector swizzle ( temp 3-component vector of double)
+0:32            d: direct index for structure ( temp 4-component vector of double)
+0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                  Constant:
+0:32                    0 (const uint)
+0:32                direct index ( temp uint)
+0:32                  'dti' ( in 3-component vector of uint)
+0:32                  Constant:
+0:32                    0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u: direct index for structure ( temp 4-component vector of uint)
+0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34              Constant:
+0:34                0 (const uint)
+0:34            direct index ( temp uint)
+0:34              'dti' ( in 3-component vector of uint)
+0:34              Constant:
+0:34                0 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupInclusiveMul ( temp 4-component vector of uint)
+0:34          u: direct index for structure ( temp 4-component vector of uint)
+0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34                Constant:
+0:34                  0 (const uint)
+0:34              direct index ( temp uint)
+0:34                'dti' ( in 3-component vector of uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:35      move second child to first child ( temp uint)
+0:35        direct index ( temp uint)
+0:35          u: direct index for structure ( temp 4-component vector of uint)
+0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                Constant:
+0:35                  0 (const uint)
+0:35              direct index ( temp uint)
+0:35                'dti' ( in 3-component vector of uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            0 (const int)
+0:35        subgroupInclusiveMul ( temp uint)
+0:35          direct index ( temp uint)
+0:35            u: direct index for structure ( temp 4-component vector of uint)
+0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                  Constant:
+0:35                    0 (const uint)
+0:35                direct index ( temp uint)
+0:35                  'dti' ( in 3-component vector of uint)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:36      move second child to first child ( temp 2-component vector of uint)
+0:36        vector swizzle ( temp 2-component vector of uint)
+0:36          u: direct index for structure ( temp 4-component vector of uint)
+0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                Constant:
+0:36                  0 (const uint)
+0:36              direct index ( temp uint)
+0:36                'dti' ( in 3-component vector of uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36        subgroupInclusiveMul ( temp 2-component vector of uint)
+0:36          vector swizzle ( temp 2-component vector of uint)
+0:36            u: direct index for structure ( temp 4-component vector of uint)
+0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                  Constant:
+0:36                    0 (const uint)
+0:36                direct index ( temp uint)
+0:36                  'dti' ( in 3-component vector of uint)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:37      move second child to first child ( temp 3-component vector of uint)
+0:37        vector swizzle ( temp 3-component vector of uint)
+0:37          u: direct index for structure ( temp 4-component vector of uint)
+0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                Constant:
+0:37                  0 (const uint)
+0:37              direct index ( temp uint)
+0:37                'dti' ( in 3-component vector of uint)
+0:37                Constant:
+0:37                  0 (const int)
+0:37            Constant:
+0:37              0 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37            Constant:
+0:37              2 (const int)
+0:37        subgroupInclusiveMul ( temp 3-component vector of uint)
+0:37          vector swizzle ( temp 3-component vector of uint)
+0:37            u: direct index for structure ( temp 4-component vector of uint)
+0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                  Constant:
+0:37                    0 (const uint)
+0:37                direct index ( temp uint)
+0:37                  'dti' ( in 3-component vector of uint)
+0:37                  Constant:
+0:37                    0 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              Constant:
+0:37                2 (const int)
+0:39      move second child to first child ( temp 4-component vector of int)
+0:39        i: direct index for structure ( temp 4-component vector of int)
+0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39              Constant:
+0:39                0 (const uint)
+0:39            direct index ( temp uint)
+0:39              'dti' ( in 3-component vector of uint)
+0:39              Constant:
+0:39                0 (const int)
+0:39          Constant:
+0:39            1 (const int)
+0:39        subgroupInclusiveMul ( temp 4-component vector of int)
+0:39          i: direct index for structure ( temp 4-component vector of int)
+0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39                Constant:
+0:39                  0 (const uint)
+0:39              direct index ( temp uint)
+0:39                'dti' ( in 3-component vector of uint)
+0:39                Constant:
+0:39                  0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:40      move second child to first child ( temp int)
+0:40        direct index ( temp int)
+0:40          i: direct index for structure ( temp 4-component vector of int)
+0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                Constant:
+0:40                  0 (const uint)
+0:40              direct index ( temp uint)
+0:40                'dti' ( in 3-component vector of uint)
+0:40                Constant:
+0:40                  0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        subgroupInclusiveMul ( temp int)
+0:40          direct index ( temp int)
+0:40            i: direct index for structure ( temp 4-component vector of int)
+0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                  Constant:
+0:40                    0 (const uint)
+0:40                direct index ( temp uint)
+0:40                  'dti' ( in 3-component vector of uint)
+0:40                  Constant:
+0:40                    0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:41      move second child to first child ( temp 2-component vector of int)
+0:41        vector swizzle ( temp 2-component vector of int)
+0:41          i: direct index for structure ( temp 4-component vector of int)
+0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                Constant:
+0:41                  0 (const uint)
+0:41              direct index ( temp uint)
+0:41                'dti' ( in 3-component vector of uint)
+0:41                Constant:
+0:41                  0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        subgroupInclusiveMul ( temp 2-component vector of int)
+0:41          vector swizzle ( temp 2-component vector of int)
+0:41            i: direct index for structure ( temp 4-component vector of int)
+0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                  Constant:
+0:41                    0 (const uint)
+0:41                direct index ( temp uint)
+0:41                  'dti' ( in 3-component vector of uint)
+0:41                  Constant:
+0:41                    0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:42      move second child to first child ( temp 3-component vector of int)
+0:42        vector swizzle ( temp 3-component vector of int)
+0:42          i: direct index for structure ( temp 4-component vector of int)
+0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                Constant:
+0:42                  0 (const uint)
+0:42              direct index ( temp uint)
+0:42                'dti' ( in 3-component vector of uint)
+0:42                Constant:
+0:42                  0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        subgroupInclusiveMul ( temp 3-component vector of int)
+0:42          vector swizzle ( temp 3-component vector of int)
+0:42            i: direct index for structure ( temp 4-component vector of int)
+0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                  Constant:
+0:42                    0 (const uint)
+0:42                direct index ( temp uint)
+0:42                  'dti' ( in 3-component vector of uint)
+0:42                  Constant:
+0:42                    0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:44      move second child to first child ( temp 4-component vector of float)
+0:44        f: direct index for structure ( temp 4-component vector of float)
+0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44              Constant:
+0:44                0 (const uint)
+0:44            direct index ( temp uint)
+0:44              'dti' ( in 3-component vector of uint)
+0:44              Constant:
+0:44                0 (const int)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupInclusiveMul ( temp 4-component vector of float)
+0:44          f: direct index for structure ( temp 4-component vector of float)
+0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44                Constant:
+0:44                  0 (const uint)
+0:44              direct index ( temp uint)
+0:44                'dti' ( in 3-component vector of uint)
+0:44                Constant:
+0:44                  0 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:45      move second child to first child ( temp float)
+0:45        direct index ( temp float)
+0:45          f: direct index for structure ( temp 4-component vector of float)
+0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                Constant:
+0:45                  0 (const uint)
+0:45              direct index ( temp uint)
+0:45                'dti' ( in 3-component vector of uint)
+0:45                Constant:
+0:45                  0 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        subgroupInclusiveMul ( temp float)
+0:45          direct index ( temp float)
+0:45            f: direct index for structure ( temp 4-component vector of float)
+0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                  Constant:
+0:45                    0 (const uint)
+0:45                direct index ( temp uint)
+0:45                  'dti' ( in 3-component vector of uint)
+0:45                  Constant:
+0:45                    0 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:46      move second child to first child ( temp 2-component vector of float)
+0:46        vector swizzle ( temp 2-component vector of float)
+0:46          f: direct index for structure ( temp 4-component vector of float)
+0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                Constant:
+0:46                  0 (const uint)
+0:46              direct index ( temp uint)
+0:46                'dti' ( in 3-component vector of uint)
+0:46                Constant:
+0:46                  0 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        subgroupInclusiveMul ( temp 2-component vector of float)
+0:46          vector swizzle ( temp 2-component vector of float)
+0:46            f: direct index for structure ( temp 4-component vector of float)
+0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46                direct index ( temp uint)
+0:46                  'dti' ( in 3-component vector of uint)
+0:46                  Constant:
+0:46                    0 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:47      move second child to first child ( temp 3-component vector of float)
+0:47        vector swizzle ( temp 3-component vector of float)
+0:47          f: direct index for structure ( temp 4-component vector of float)
+0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                Constant:
+0:47                  0 (const uint)
+0:47              direct index ( temp uint)
+0:47                'dti' ( in 3-component vector of uint)
+0:47                Constant:
+0:47                  0 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        subgroupInclusiveMul ( temp 3-component vector of float)
+0:47          vector swizzle ( temp 3-component vector of float)
+0:47            f: direct index for structure ( temp 4-component vector of float)
+0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                  Constant:
+0:47                    0 (const uint)
+0:47                direct index ( temp uint)
+0:47                  'dti' ( in 3-component vector of uint)
+0:47                  Constant:
+0:47                    0 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:49      move second child to first child ( temp 4-component vector of double)
+0:49        d: direct index for structure ( temp 4-component vector of double)
+0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49              Constant:
+0:49                0 (const uint)
+0:49            direct index ( temp uint)
+0:49              'dti' ( in 3-component vector of uint)
+0:49              Constant:
+0:49                0 (const int)
+0:49          Constant:
+0:49            3 (const int)
+0:49        subgroupInclusiveMul ( temp 4-component vector of double)
+0:49          d: direct index for structure ( temp 4-component vector of double)
+0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49                Constant:
+0:49                  0 (const uint)
+0:49              direct index ( temp uint)
+0:49                'dti' ( in 3-component vector of uint)
+0:49                Constant:
+0:49                  0 (const int)
+0:49            Constant:
+0:49              3 (const int)
+0:50      move second child to first child ( temp double)
+0:50        direct index ( temp double)
+0:50          d: direct index for structure ( temp 4-component vector of double)
+0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                Constant:
+0:50                  0 (const uint)
+0:50              direct index ( temp uint)
+0:50                'dti' ( in 3-component vector of uint)
+0:50                Constant:
+0:50                  0 (const int)
+0:50            Constant:
+0:50              3 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        subgroupInclusiveMul ( temp double)
+0:50          direct index ( temp double)
+0:50            d: direct index for structure ( temp 4-component vector of double)
+0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                  Constant:
+0:50                    0 (const uint)
+0:50                direct index ( temp uint)
+0:50                  'dti' ( in 3-component vector of uint)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:51      move second child to first child ( temp 2-component vector of double)
+0:51        vector swizzle ( temp 2-component vector of double)
+0:51          d: direct index for structure ( temp 4-component vector of double)
+0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                Constant:
+0:51                  0 (const uint)
+0:51              direct index ( temp uint)
+0:51                'dti' ( in 3-component vector of uint)
+0:51                Constant:
+0:51                  0 (const int)
+0:51            Constant:
+0:51              3 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        subgroupInclusiveMul ( temp 2-component vector of double)
+0:51          vector swizzle ( temp 2-component vector of double)
+0:51            d: direct index for structure ( temp 4-component vector of double)
+0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                  Constant:
+0:51                    0 (const uint)
+0:51                direct index ( temp uint)
+0:51                  'dti' ( in 3-component vector of uint)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51              Constant:
+0:51                3 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:52      move second child to first child ( temp 3-component vector of double)
+0:52        vector swizzle ( temp 3-component vector of double)
+0:52          d: direct index for structure ( temp 4-component vector of double)
+0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                Constant:
+0:52                  0 (const uint)
+0:52              direct index ( temp uint)
+0:52                'dti' ( in 3-component vector of uint)
+0:52                Constant:
+0:52                  0 (const int)
+0:52            Constant:
+0:52              3 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        subgroupInclusiveMul ( temp 3-component vector of double)
+0:52          vector swizzle ( temp 3-component vector of double)
+0:52            d: direct index for structure ( temp 4-component vector of double)
+0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                  Constant:
+0:52                    0 (const uint)
+0:52                direct index ( temp uint)
+0:52                  'dti' ( in 3-component vector of uint)
+0:52                  Constant:
+0:52                    0 (const int)
+0:52              Constant:
+0:52                3 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:13  Function Definition: CSMain( ( temp void)
+0:13    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:13      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 358
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformArithmetic
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "CSMain" 353
+                              ExecutionMode 4 LocalSize 32 16 1
+                              Source HLSL 500
+                              Name 4  "CSMain"
+                              Name 11  "@CSMain(vu3;"
+                              Name 10  "dti"
+                              Name 20  "Types"
+                              MemberName 20(Types) 0  "u"
+                              MemberName 20(Types) 1  "i"
+                              MemberName 20(Types) 2  "f"
+                              MemberName 20(Types) 3  "d"
+                              Name 22  "data"
+                              MemberName 22(data) 0  "@data"
+                              Name 24  "data"
+                              Name 351  "dti"
+                              Name 353  "dti"
+                              Name 355  "param"
+                              MemberDecorate 20(Types) 0 Offset 0
+                              MemberDecorate 20(Types) 1 Offset 16
+                              MemberDecorate 20(Types) 2 Offset 32
+                              MemberDecorate 20(Types) 3 Offset 64
+                              Decorate 21 ArrayStride 96
+                              MemberDecorate 22(data) 0 Offset 0
+                              Decorate 22(data) BufferBlock
+                              Decorate 24(data) DescriptorSet 0
+                              Decorate 353(dti) BuiltIn GlobalInvocationId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 3
+               8:             TypePointer Function 7(ivec3)
+               9:             TypeFunction 2 8(ptr)
+              13:             TypeVector 6(int) 4
+              14:             TypeInt 32 1
+              15:             TypeVector 14(int) 4
+              16:             TypeFloat 32
+              17:             TypeVector 16(float) 4
+              18:             TypeFloat 64
+              19:             TypeVector 18(float) 4
+       20(Types):             TypeStruct 13(ivec4) 15(ivec4) 17(fvec4) 19(fvec4)
+              21:             TypeRuntimeArray 20(Types)
+        22(data):             TypeStruct 21
+              23:             TypePointer Uniform 22(data)
+        24(data):     23(ptr) Variable Uniform
+              25:     14(int) Constant 0
+              26:      6(int) Constant 0
+              27:             TypePointer Function 6(int)
+              32:             TypePointer Uniform 13(ivec4)
+              35:      6(int) Constant 3
+              42:             TypePointer Uniform 6(int)
+              51:             TypeVector 6(int) 2
+              72:     14(int) Constant 1
+              75:             TypePointer Uniform 15(ivec4)
+              84:             TypePointer Uniform 14(int)
+              93:             TypeVector 14(int) 2
+             105:             TypeVector 14(int) 3
+             115:     14(int) Constant 2
+             118:             TypePointer Uniform 17(fvec4)
+             127:             TypePointer Uniform 16(float)
+             136:             TypeVector 16(float) 2
+             148:             TypeVector 16(float) 3
+             158:     14(int) Constant 3
+             161:             TypePointer Uniform 19(fvec4)
+             170:             TypePointer Uniform 18(float)
+             179:             TypeVector 18(float) 2
+             191:             TypeVector 18(float) 3
+             352:             TypePointer Input 7(ivec3)
+        353(dti):    352(ptr) Variable Input
+       4(CSMain):           2 Function None 3
+               5:             Label
+        351(dti):      8(ptr) Variable Function
+      355(param):      8(ptr) Variable Function
+             354:    7(ivec3) Load 353(dti)
+                              Store 351(dti) 354
+             356:    7(ivec3) Load 351(dti)
+                              Store 355(param) 356
+             357:           2 FunctionCall 11(@CSMain(vu3;) 355(param)
+                              Return
+                              FunctionEnd
+11(@CSMain(vu3;):           2 Function None 9
+         10(dti):      8(ptr) FunctionParameter
+              12:             Label
+              28:     27(ptr) AccessChain 10(dti) 26
+              29:      6(int) Load 28
+              30:     27(ptr) AccessChain 10(dti) 26
+              31:      6(int) Load 30
+              33:     32(ptr) AccessChain 24(data) 25 31 25
+              34:   13(ivec4) Load 33
+              36:   13(ivec4) GroupNonUniformIAdd 35 InclusiveScan 34
+              37:     32(ptr) AccessChain 24(data) 25 29 25
+                              Store 37 36
+              38:     27(ptr) AccessChain 10(dti) 26
+              39:      6(int) Load 38
+              40:     27(ptr) AccessChain 10(dti) 26
+              41:      6(int) Load 40
+              43:     42(ptr) AccessChain 24(data) 25 41 25 26
+              44:      6(int) Load 43
+              45:      6(int) GroupNonUniformIAdd 35 InclusiveScan 44
+              46:     42(ptr) AccessChain 24(data) 25 39 25 26
+                              Store 46 45
+              47:     27(ptr) AccessChain 10(dti) 26
+              48:      6(int) Load 47
+              49:     27(ptr) AccessChain 10(dti) 26
+              50:      6(int) Load 49
+              52:     32(ptr) AccessChain 24(data) 25 50 25
+              53:   13(ivec4) Load 52
+              54:   51(ivec2) VectorShuffle 53 53 0 1
+              55:   51(ivec2) GroupNonUniformIAdd 35 InclusiveScan 54
+              56:     32(ptr) AccessChain 24(data) 25 48 25
+              57:   13(ivec4) Load 56
+              58:   13(ivec4) VectorShuffle 57 55 4 5 2 3
+                              Store 56 58
+              59:     27(ptr) AccessChain 10(dti) 26
+              60:      6(int) Load 59
+              61:     27(ptr) AccessChain 10(dti) 26
+              62:      6(int) Load 61
+              63:     32(ptr) AccessChain 24(data) 25 62 25
+              64:   13(ivec4) Load 63
+              65:    7(ivec3) VectorShuffle 64 64 0 1 2
+              66:    7(ivec3) GroupNonUniformIAdd 35 InclusiveScan 65
+              67:     32(ptr) AccessChain 24(data) 25 60 25
+              68:   13(ivec4) Load 67
+              69:   13(ivec4) VectorShuffle 68 66 4 5 6 3
+                              Store 67 69
+              70:     27(ptr) AccessChain 10(dti) 26
+              71:      6(int) Load 70
+              73:     27(ptr) AccessChain 10(dti) 26
+              74:      6(int) Load 73
+              76:     75(ptr) AccessChain 24(data) 25 74 72
+              77:   15(ivec4) Load 76
+              78:   15(ivec4) GroupNonUniformIAdd 35 InclusiveScan 77
+              79:     75(ptr) AccessChain 24(data) 25 71 72
+                              Store 79 78
+              80:     27(ptr) AccessChain 10(dti) 26
+              81:      6(int) Load 80
+              82:     27(ptr) AccessChain 10(dti) 26
+              83:      6(int) Load 82
+              85:     84(ptr) AccessChain 24(data) 25 83 72 26
+              86:     14(int) Load 85
+              87:     14(int) GroupNonUniformIAdd 35 InclusiveScan 86
+              88:     84(ptr) AccessChain 24(data) 25 81 72 26
+                              Store 88 87
+              89:     27(ptr) AccessChain 10(dti) 26
+              90:      6(int) Load 89
+              91:     27(ptr) AccessChain 10(dti) 26
+              92:      6(int) Load 91
+              94:     75(ptr) AccessChain 24(data) 25 92 72
+              95:   15(ivec4) Load 94
+              96:   93(ivec2) VectorShuffle 95 95 0 1
+              97:   93(ivec2) GroupNonUniformIAdd 35 InclusiveScan 96
+              98:     75(ptr) AccessChain 24(data) 25 90 72
+              99:   15(ivec4) Load 98
+             100:   15(ivec4) VectorShuffle 99 97 4 5 2 3
+                              Store 98 100
+             101:     27(ptr) AccessChain 10(dti) 26
+             102:      6(int) Load 101
+             103:     27(ptr) AccessChain 10(dti) 26
+             104:      6(int) Load 103
+             106:     75(ptr) AccessChain 24(data) 25 104 72
+             107:   15(ivec4) Load 106
+             108:  105(ivec3) VectorShuffle 107 107 0 1 2
+             109:  105(ivec3) GroupNonUniformIAdd 35 InclusiveScan 108
+             110:     75(ptr) AccessChain 24(data) 25 102 72
+             111:   15(ivec4) Load 110
+             112:   15(ivec4) VectorShuffle 111 109 4 5 6 3
+                              Store 110 112
+             113:     27(ptr) AccessChain 10(dti) 26
+             114:      6(int) Load 113
+             116:     27(ptr) AccessChain 10(dti) 26
+             117:      6(int) Load 116
+             119:    118(ptr) AccessChain 24(data) 25 117 115
+             120:   17(fvec4) Load 119
+             121:   17(fvec4) GroupNonUniformFAdd 35 InclusiveScan 120
+             122:    118(ptr) AccessChain 24(data) 25 114 115
+                              Store 122 121
+             123:     27(ptr) AccessChain 10(dti) 26
+             124:      6(int) Load 123
+             125:     27(ptr) AccessChain 10(dti) 26
+             126:      6(int) Load 125
+             128:    127(ptr) AccessChain 24(data) 25 126 115 26
+             129:   16(float) Load 128
+             130:   16(float) GroupNonUniformFAdd 35 InclusiveScan 129
+             131:    127(ptr) AccessChain 24(data) 25 124 115 26
+                              Store 131 130
+             132:     27(ptr) AccessChain 10(dti) 26
+             133:      6(int) Load 132
+             134:     27(ptr) AccessChain 10(dti) 26
+             135:      6(int) Load 134
+             137:    118(ptr) AccessChain 24(data) 25 135 115
+             138:   17(fvec4) Load 137
+             139:  136(fvec2) VectorShuffle 138 138 0 1
+             140:  136(fvec2) GroupNonUniformFAdd 35 InclusiveScan 139
+             141:    118(ptr) AccessChain 24(data) 25 133 115
+             142:   17(fvec4) Load 141
+             143:   17(fvec4) VectorShuffle 142 140 4 5 2 3
+                              Store 141 143
+             144:     27(ptr) AccessChain 10(dti) 26
+             145:      6(int) Load 144
+             146:     27(ptr) AccessChain 10(dti) 26
+             147:      6(int) Load 146
+             149:    118(ptr) AccessChain 24(data) 25 147 115
+             150:   17(fvec4) Load 149
+             151:  148(fvec3) VectorShuffle 150 150 0 1 2
+             152:  148(fvec3) GroupNonUniformFAdd 35 InclusiveScan 151
+             153:    118(ptr) AccessChain 24(data) 25 145 115
+             154:   17(fvec4) Load 153
+             155:   17(fvec4) VectorShuffle 154 152 4 5 6 3
+                              Store 153 155
+             156:     27(ptr) AccessChain 10(dti) 26
+             157:      6(int) Load 156
+             159:     27(ptr) AccessChain 10(dti) 26
+             160:      6(int) Load 159
+             162:    161(ptr) AccessChain 24(data) 25 160 158
+             163:   19(fvec4) Load 162
+             164:   19(fvec4) GroupNonUniformFAdd 35 InclusiveScan 163
+             165:    161(ptr) AccessChain 24(data) 25 157 158
+                              Store 165 164
+             166:     27(ptr) AccessChain 10(dti) 26
+             167:      6(int) Load 166
+             168:     27(ptr) AccessChain 10(dti) 26
+             169:      6(int) Load 168
+             171:    170(ptr) AccessChain 24(data) 25 169 158 26
+             172:   18(float) Load 171
+             173:   18(float) GroupNonUniformFAdd 35 InclusiveScan 172
+             174:    170(ptr) AccessChain 24(data) 25 167 158 26
+                              Store 174 173
+             175:     27(ptr) AccessChain 10(dti) 26
+             176:      6(int) Load 175
+             177:     27(ptr) AccessChain 10(dti) 26
+             178:      6(int) Load 177
+             180:    161(ptr) AccessChain 24(data) 25 178 158
+             181:   19(fvec4) Load 180
+             182:  179(fvec2) VectorShuffle 181 181 0 1
+             183:  179(fvec2) GroupNonUniformFAdd 35 InclusiveScan 182
+             184:    161(ptr) AccessChain 24(data) 25 176 158
+             185:   19(fvec4) Load 184
+             186:   19(fvec4) VectorShuffle 185 183 4 5 2 3
+                              Store 184 186
+             187:     27(ptr) AccessChain 10(dti) 26
+             188:      6(int) Load 187
+             189:     27(ptr) AccessChain 10(dti) 26
+             190:      6(int) Load 189
+             192:    161(ptr) AccessChain 24(data) 25 190 158
+             193:   19(fvec4) Load 192
+             194:  191(fvec3) VectorShuffle 193 193 0 1 2
+             195:  191(fvec3) GroupNonUniformFAdd 35 InclusiveScan 194
+             196:    161(ptr) AccessChain 24(data) 25 188 158
+             197:   19(fvec4) Load 196
+             198:   19(fvec4) VectorShuffle 197 195 4 5 6 3
+                              Store 196 198
+             199:     27(ptr) AccessChain 10(dti) 26
+             200:      6(int) Load 199
+             201:     27(ptr) AccessChain 10(dti) 26
+             202:      6(int) Load 201
+             203:     32(ptr) AccessChain 24(data) 25 202 25
+             204:   13(ivec4) Load 203
+             205:   13(ivec4) GroupNonUniformIMul 35 InclusiveScan 204
+             206:     32(ptr) AccessChain 24(data) 25 200 25
+                              Store 206 205
+             207:     27(ptr) AccessChain 10(dti) 26
+             208:      6(int) Load 207
+             209:     27(ptr) AccessChain 10(dti) 26
+             210:      6(int) Load 209
+             211:     42(ptr) AccessChain 24(data) 25 210 25 26
+             212:      6(int) Load 211
+             213:      6(int) GroupNonUniformIMul 35 InclusiveScan 212
+             214:     42(ptr) AccessChain 24(data) 25 208 25 26
+                              Store 214 213
+             215:     27(ptr) AccessChain 10(dti) 26
+             216:      6(int) Load 215
+             217:     27(ptr) AccessChain 10(dti) 26
+             218:      6(int) Load 217
+             219:     32(ptr) AccessChain 24(data) 25 218 25
+             220:   13(ivec4) Load 219
+             221:   51(ivec2) VectorShuffle 220 220 0 1
+             222:   51(ivec2) GroupNonUniformIMul 35 InclusiveScan 221
+             223:     32(ptr) AccessChain 24(data) 25 216 25
+             224:   13(ivec4) Load 223
+             225:   13(ivec4) VectorShuffle 224 222 4 5 2 3
+                              Store 223 225
+             226:     27(ptr) AccessChain 10(dti) 26
+             227:      6(int) Load 226
+             228:     27(ptr) AccessChain 10(dti) 26
+             229:      6(int) Load 228
+             230:     32(ptr) AccessChain 24(data) 25 229 25
+             231:   13(ivec4) Load 230
+             232:    7(ivec3) VectorShuffle 231 231 0 1 2
+             233:    7(ivec3) GroupNonUniformIMul 35 InclusiveScan 232
+             234:     32(ptr) AccessChain 24(data) 25 227 25
+             235:   13(ivec4) Load 234
+             236:   13(ivec4) VectorShuffle 235 233 4 5 6 3
+                              Store 234 236
+             237:     27(ptr) AccessChain 10(dti) 26
+             238:      6(int) Load 237
+             239:     27(ptr) AccessChain 10(dti) 26
+             240:      6(int) Load 239
+             241:     75(ptr) AccessChain 24(data) 25 240 72
+             242:   15(ivec4) Load 241
+             243:   15(ivec4) GroupNonUniformIMul 35 InclusiveScan 242
+             244:     75(ptr) AccessChain 24(data) 25 238 72
+                              Store 244 243
+             245:     27(ptr) AccessChain 10(dti) 26
+             246:      6(int) Load 245
+             247:     27(ptr) AccessChain 10(dti) 26
+             248:      6(int) Load 247
+             249:     84(ptr) AccessChain 24(data) 25 248 72 26
+             250:     14(int) Load 249
+             251:     14(int) GroupNonUniformIMul 35 InclusiveScan 250
+             252:     84(ptr) AccessChain 24(data) 25 246 72 26
+                              Store 252 251
+             253:     27(ptr) AccessChain 10(dti) 26
+             254:      6(int) Load 253
+             255:     27(ptr) AccessChain 10(dti) 26
+             256:      6(int) Load 255
+             257:     75(ptr) AccessChain 24(data) 25 256 72
+             258:   15(ivec4) Load 257
+             259:   93(ivec2) VectorShuffle 258 258 0 1
+             260:   93(ivec2) GroupNonUniformIMul 35 InclusiveScan 259
+             261:     75(ptr) AccessChain 24(data) 25 254 72
+             262:   15(ivec4) Load 261
+             263:   15(ivec4) VectorShuffle 262 260 4 5 2 3
+                              Store 261 263
+             264:     27(ptr) AccessChain 10(dti) 26
+             265:      6(int) Load 264
+             266:     27(ptr) AccessChain 10(dti) 26
+             267:      6(int) Load 266
+             268:     75(ptr) AccessChain 24(data) 25 267 72
+             269:   15(ivec4) Load 268
+             270:  105(ivec3) VectorShuffle 269 269 0 1 2
+             271:  105(ivec3) GroupNonUniformIMul 35 InclusiveScan 270
+             272:     75(ptr) AccessChain 24(data) 25 265 72
+             273:   15(ivec4) Load 272
+             274:   15(ivec4) VectorShuffle 273 271 4 5 6 3
+                              Store 272 274
+             275:     27(ptr) AccessChain 10(dti) 26
+             276:      6(int) Load 275
+             277:     27(ptr) AccessChain 10(dti) 26
+             278:      6(int) Load 277
+             279:    118(ptr) AccessChain 24(data) 25 278 115
+             280:   17(fvec4) Load 279
+             281:   17(fvec4) GroupNonUniformFMul 35 InclusiveScan 280
+             282:    118(ptr) AccessChain 24(data) 25 276 115
+                              Store 282 281
+             283:     27(ptr) AccessChain 10(dti) 26
+             284:      6(int) Load 283
+             285:     27(ptr) AccessChain 10(dti) 26
+             286:      6(int) Load 285
+             287:    127(ptr) AccessChain 24(data) 25 286 115 26
+             288:   16(float) Load 287
+             289:   16(float) GroupNonUniformFMul 35 InclusiveScan 288
+             290:    127(ptr) AccessChain 24(data) 25 284 115 26
+                              Store 290 289
+             291:     27(ptr) AccessChain 10(dti) 26
+             292:      6(int) Load 291
+             293:     27(ptr) AccessChain 10(dti) 26
+             294:      6(int) Load 293
+             295:    118(ptr) AccessChain 24(data) 25 294 115
+             296:   17(fvec4) Load 295
+             297:  136(fvec2) VectorShuffle 296 296 0 1
+             298:  136(fvec2) GroupNonUniformFMul 35 InclusiveScan 297
+             299:    118(ptr) AccessChain 24(data) 25 292 115
+             300:   17(fvec4) Load 299
+             301:   17(fvec4) VectorShuffle 300 298 4 5 2 3
+                              Store 299 301
+             302:     27(ptr) AccessChain 10(dti) 26
+             303:      6(int) Load 302
+             304:     27(ptr) AccessChain 10(dti) 26
+             305:      6(int) Load 304
+             306:    118(ptr) AccessChain 24(data) 25 305 115
+             307:   17(fvec4) Load 306
+             308:  148(fvec3) VectorShuffle 307 307 0 1 2
+             309:  148(fvec3) GroupNonUniformFMul 35 InclusiveScan 308
+             310:    118(ptr) AccessChain 24(data) 25 303 115
+             311:   17(fvec4) Load 310
+             312:   17(fvec4) VectorShuffle 311 309 4 5 6 3
+                              Store 310 312
+             313:     27(ptr) AccessChain 10(dti) 26
+             314:      6(int) Load 313
+             315:     27(ptr) AccessChain 10(dti) 26
+             316:      6(int) Load 315
+             317:    161(ptr) AccessChain 24(data) 25 316 158
+             318:   19(fvec4) Load 317
+             319:   19(fvec4) GroupNonUniformFMul 35 InclusiveScan 318
+             320:    161(ptr) AccessChain 24(data) 25 314 158
+                              Store 320 319
+             321:     27(ptr) AccessChain 10(dti) 26
+             322:      6(int) Load 321
+             323:     27(ptr) AccessChain 10(dti) 26
+             324:      6(int) Load 323
+             325:    170(ptr) AccessChain 24(data) 25 324 158 26
+             326:   18(float) Load 325
+             327:   18(float) GroupNonUniformFMul 35 InclusiveScan 326
+             328:    170(ptr) AccessChain 24(data) 25 322 158 26
+                              Store 328 327
+             329:     27(ptr) AccessChain 10(dti) 26
+             330:      6(int) Load 329
+             331:     27(ptr) AccessChain 10(dti) 26
+             332:      6(int) Load 331
+             333:    161(ptr) AccessChain 24(data) 25 332 158
+             334:   19(fvec4) Load 333
+             335:  179(fvec2) VectorShuffle 334 334 0 1
+             336:  179(fvec2) GroupNonUniformFMul 35 InclusiveScan 335
+             337:    161(ptr) AccessChain 24(data) 25 330 158
+             338:   19(fvec4) Load 337
+             339:   19(fvec4) VectorShuffle 338 336 4 5 2 3
+                              Store 337 339
+             340:     27(ptr) AccessChain 10(dti) 26
+             341:      6(int) Load 340
+             342:     27(ptr) AccessChain 10(dti) 26
+             343:      6(int) Load 342
+             344:    161(ptr) AccessChain 24(data) 25 343 158
+             345:   19(fvec4) Load 344
+             346:  191(fvec3) VectorShuffle 345 345 0 1 2
+             347:  191(fvec3) GroupNonUniformFMul 35 InclusiveScan 346
+             348:    161(ptr) AccessChain 24(data) 25 341 158
+             349:   19(fvec4) Load 348
+             350:   19(fvec4) VectorShuffle 349 347 4 5 6 3
+                              Store 348 350
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.wavequad.comp.out b/Test/baseResults/hlsl.wavequad.comp.out
new file mode 100644
index 0000000..79d16d3
--- /dev/null
+++ b/Test/baseResults/hlsl.wavequad.comp.out
@@ -0,0 +1,8027 @@
+hlsl.wavequad.comp
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:13  Function Definition: @CSMain(vu3; ( temp void)
+0:13    Function Parameters: 
+0:13      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:14      move second child to first child ( temp 4-component vector of uint)
+0:14        u: direct index for structure ( temp 4-component vector of uint)
+0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14              Constant:
+0:14                0 (const uint)
+0:14            direct index ( temp uint)
+0:14              'dti' ( in 3-component vector of uint)
+0:14              Constant:
+0:14                0 (const int)
+0:14          Constant:
+0:14            0 (const int)
+0:14        subgroupQuadBroadcast ( temp 4-component vector of uint)
+0:14          u: direct index for structure ( temp 4-component vector of uint)
+0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14                Constant:
+0:14                  0 (const uint)
+0:14              direct index ( temp uint)
+0:14                'dti' ( in 3-component vector of uint)
+0:14                Constant:
+0:14                  0 (const int)
+0:14            Constant:
+0:14              0 (const int)
+0:14          Constant:
+0:14            0 (const uint)
+0:15      move second child to first child ( temp uint)
+0:15        direct index ( temp uint)
+0:15          u: direct index for structure ( temp 4-component vector of uint)
+0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                Constant:
+0:15                  0 (const uint)
+0:15              direct index ( temp uint)
+0:15                'dti' ( in 3-component vector of uint)
+0:15                Constant:
+0:15                  0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const int)
+0:15        subgroupQuadBroadcast ( temp uint)
+0:15          direct index ( temp uint)
+0:15            u: direct index for structure ( temp 4-component vector of uint)
+0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                  Constant:
+0:15                    0 (const uint)
+0:15                direct index ( temp uint)
+0:15                  'dti' ( in 3-component vector of uint)
+0:15                  Constant:
+0:15                    0 (const int)
+0:15              Constant:
+0:15                0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const uint)
+0:16      move second child to first child ( temp 2-component vector of uint)
+0:16        vector swizzle ( temp 2-component vector of uint)
+0:16          u: direct index for structure ( temp 4-component vector of uint)
+0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                Constant:
+0:16                  0 (const uint)
+0:16              direct index ( temp uint)
+0:16                'dti' ( in 3-component vector of uint)
+0:16                Constant:
+0:16                  0 (const int)
+0:16            Constant:
+0:16              0 (const int)
+0:16          Sequence
+0:16            Constant:
+0:16              0 (const int)
+0:16            Constant:
+0:16              1 (const int)
+0:16        subgroupQuadBroadcast ( temp 2-component vector of uint)
+0:16          vector swizzle ( temp 2-component vector of uint)
+0:16            u: direct index for structure ( temp 4-component vector of uint)
+0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                  Constant:
+0:16                    0 (const uint)
+0:16                direct index ( temp uint)
+0:16                  'dti' ( in 3-component vector of uint)
+0:16                  Constant:
+0:16                    0 (const int)
+0:16              Constant:
+0:16                0 (const int)
+0:16            Sequence
+0:16              Constant:
+0:16                0 (const int)
+0:16              Constant:
+0:16                1 (const int)
+0:16          Constant:
+0:16            0 (const uint)
+0:17      move second child to first child ( temp 3-component vector of uint)
+0:17        vector swizzle ( temp 3-component vector of uint)
+0:17          u: direct index for structure ( temp 4-component vector of uint)
+0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                Constant:
+0:17                  0 (const uint)
+0:17              direct index ( temp uint)
+0:17                'dti' ( in 3-component vector of uint)
+0:17                Constant:
+0:17                  0 (const int)
+0:17            Constant:
+0:17              0 (const int)
+0:17          Sequence
+0:17            Constant:
+0:17              0 (const int)
+0:17            Constant:
+0:17              1 (const int)
+0:17            Constant:
+0:17              2 (const int)
+0:17        subgroupQuadBroadcast ( temp 3-component vector of uint)
+0:17          vector swizzle ( temp 3-component vector of uint)
+0:17            u: direct index for structure ( temp 4-component vector of uint)
+0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                  Constant:
+0:17                    0 (const uint)
+0:17                direct index ( temp uint)
+0:17                  'dti' ( in 3-component vector of uint)
+0:17                  Constant:
+0:17                    0 (const int)
+0:17              Constant:
+0:17                0 (const int)
+0:17            Sequence
+0:17              Constant:
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:17              Constant:
+0:17                2 (const int)
+0:17          Constant:
+0:17            0 (const uint)
+0:19      move second child to first child ( temp 4-component vector of int)
+0:19        i: direct index for structure ( temp 4-component vector of int)
+0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            direct index ( temp uint)
+0:19              'dti' ( in 3-component vector of uint)
+0:19              Constant:
+0:19                0 (const int)
+0:19          Constant:
+0:19            1 (const int)
+0:19        subgroupQuadBroadcast ( temp 4-component vector of int)
+0:19          i: direct index for structure ( temp 4-component vector of int)
+0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19                Constant:
+0:19                  0 (const uint)
+0:19              direct index ( temp uint)
+0:19                'dti' ( in 3-component vector of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19          Constant:
+0:19            0 (const uint)
+0:20      move second child to first child ( temp int)
+0:20        direct index ( temp int)
+0:20          i: direct index for structure ( temp 4-component vector of int)
+0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                Constant:
+0:20                  0 (const uint)
+0:20              direct index ( temp uint)
+0:20                'dti' ( in 3-component vector of uint)
+0:20                Constant:
+0:20                  0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        subgroupQuadBroadcast ( temp int)
+0:20          direct index ( temp int)
+0:20            i: direct index for structure ( temp 4-component vector of int)
+0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                  Constant:
+0:20                    0 (const uint)
+0:20                direct index ( temp uint)
+0:20                  'dti' ( in 3-component vector of uint)
+0:20                  Constant:
+0:20                    0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Constant:
+0:20            0 (const uint)
+0:21      move second child to first child ( temp 2-component vector of int)
+0:21        vector swizzle ( temp 2-component vector of int)
+0:21          i: direct index for structure ( temp 4-component vector of int)
+0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                Constant:
+0:21                  0 (const uint)
+0:21              direct index ( temp uint)
+0:21                'dti' ( in 3-component vector of uint)
+0:21                Constant:
+0:21                  0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupQuadBroadcast ( temp 2-component vector of int)
+0:21          vector swizzle ( temp 2-component vector of int)
+0:21            i: direct index for structure ( temp 4-component vector of int)
+0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                  Constant:
+0:21                    0 (const uint)
+0:21                direct index ( temp uint)
+0:21                  'dti' ( in 3-component vector of uint)
+0:21                  Constant:
+0:21                    0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21          Constant:
+0:21            0 (const uint)
+0:22      move second child to first child ( temp 3-component vector of int)
+0:22        vector swizzle ( temp 3-component vector of int)
+0:22          i: direct index for structure ( temp 4-component vector of int)
+0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                Constant:
+0:22                  0 (const uint)
+0:22              direct index ( temp uint)
+0:22                'dti' ( in 3-component vector of uint)
+0:22                Constant:
+0:22                  0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22            Constant:
+0:22              2 (const int)
+0:22        subgroupQuadBroadcast ( temp 3-component vector of int)
+0:22          vector swizzle ( temp 3-component vector of int)
+0:22            i: direct index for structure ( temp 4-component vector of int)
+0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                  Constant:
+0:22                    0 (const uint)
+0:22                direct index ( temp uint)
+0:22                  'dti' ( in 3-component vector of uint)
+0:22                  Constant:
+0:22                    0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:22          Constant:
+0:22            0 (const uint)
+0:24      move second child to first child ( temp 4-component vector of float)
+0:24        f: direct index for structure ( temp 4-component vector of float)
+0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24              Constant:
+0:24                0 (const uint)
+0:24            direct index ( temp uint)
+0:24              'dti' ( in 3-component vector of uint)
+0:24              Constant:
+0:24                0 (const int)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupQuadBroadcast ( temp 4-component vector of float)
+0:24          f: direct index for structure ( temp 4-component vector of float)
+0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24                Constant:
+0:24                  0 (const uint)
+0:24              direct index ( temp uint)
+0:24                'dti' ( in 3-component vector of uint)
+0:24                Constant:
+0:24                  0 (const int)
+0:24            Constant:
+0:24              2 (const int)
+0:24          Constant:
+0:24            0 (const uint)
+0:25      move second child to first child ( temp float)
+0:25        direct index ( temp float)
+0:25          f: direct index for structure ( temp 4-component vector of float)
+0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                Constant:
+0:25                  0 (const uint)
+0:25              direct index ( temp uint)
+0:25                'dti' ( in 3-component vector of uint)
+0:25                Constant:
+0:25                  0 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25          Constant:
+0:25            0 (const int)
+0:25        subgroupQuadBroadcast ( temp float)
+0:25          direct index ( temp float)
+0:25            f: direct index for structure ( temp 4-component vector of float)
+0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                  Constant:
+0:25                    0 (const uint)
+0:25                direct index ( temp uint)
+0:25                  'dti' ( in 3-component vector of uint)
+0:25                  Constant:
+0:25                    0 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:25          Constant:
+0:25            0 (const uint)
+0:26      move second child to first child ( temp 2-component vector of float)
+0:26        vector swizzle ( temp 2-component vector of float)
+0:26          f: direct index for structure ( temp 4-component vector of float)
+0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26              direct index ( temp uint)
+0:26                'dti' ( in 3-component vector of uint)
+0:26                Constant:
+0:26                  0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupQuadBroadcast ( temp 2-component vector of float)
+0:26          vector swizzle ( temp 2-component vector of float)
+0:26            f: direct index for structure ( temp 4-component vector of float)
+0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                  Constant:
+0:26                    0 (const uint)
+0:26                direct index ( temp uint)
+0:26                  'dti' ( in 3-component vector of uint)
+0:26                  Constant:
+0:26                    0 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26          Constant:
+0:26            0 (const uint)
+0:27      move second child to first child ( temp 3-component vector of float)
+0:27        vector swizzle ( temp 3-component vector of float)
+0:27          f: direct index for structure ( temp 4-component vector of float)
+0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                Constant:
+0:27                  0 (const uint)
+0:27              direct index ( temp uint)
+0:27                'dti' ( in 3-component vector of uint)
+0:27                Constant:
+0:27                  0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupQuadBroadcast ( temp 3-component vector of float)
+0:27          vector swizzle ( temp 3-component vector of float)
+0:27            f: direct index for structure ( temp 4-component vector of float)
+0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                  Constant:
+0:27                    0 (const uint)
+0:27                direct index ( temp uint)
+0:27                  'dti' ( in 3-component vector of uint)
+0:27                  Constant:
+0:27                    0 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27          Constant:
+0:27            0 (const uint)
+0:29      move second child to first child ( temp 4-component vector of double)
+0:29        d: direct index for structure ( temp 4-component vector of double)
+0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29              Constant:
+0:29                0 (const uint)
+0:29            direct index ( temp uint)
+0:29              'dti' ( in 3-component vector of uint)
+0:29              Constant:
+0:29                0 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        subgroupQuadBroadcast ( temp 4-component vector of double)
+0:29          d: direct index for structure ( temp 4-component vector of double)
+0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29                Constant:
+0:29                  0 (const uint)
+0:29              direct index ( temp uint)
+0:29                'dti' ( in 3-component vector of uint)
+0:29                Constant:
+0:29                  0 (const int)
+0:29            Constant:
+0:29              3 (const int)
+0:29          Constant:
+0:29            0 (const uint)
+0:30      move second child to first child ( temp double)
+0:30        direct index ( temp double)
+0:30          d: direct index for structure ( temp 4-component vector of double)
+0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                Constant:
+0:30                  0 (const uint)
+0:30              direct index ( temp uint)
+0:30                'dti' ( in 3-component vector of uint)
+0:30                Constant:
+0:30                  0 (const int)
+0:30            Constant:
+0:30              3 (const int)
+0:30          Constant:
+0:30            0 (const int)
+0:30        subgroupQuadBroadcast ( temp double)
+0:30          direct index ( temp double)
+0:30            d: direct index for structure ( temp 4-component vector of double)
+0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                  Constant:
+0:30                    0 (const uint)
+0:30                direct index ( temp uint)
+0:30                  'dti' ( in 3-component vector of uint)
+0:30                  Constant:
+0:30                    0 (const int)
+0:30              Constant:
+0:30                3 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:30          Constant:
+0:30            0 (const uint)
+0:31      move second child to first child ( temp 2-component vector of double)
+0:31        vector swizzle ( temp 2-component vector of double)
+0:31          d: direct index for structure ( temp 4-component vector of double)
+0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                Constant:
+0:31                  0 (const uint)
+0:31              direct index ( temp uint)
+0:31                'dti' ( in 3-component vector of uint)
+0:31                Constant:
+0:31                  0 (const int)
+0:31            Constant:
+0:31              3 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31        subgroupQuadBroadcast ( temp 2-component vector of double)
+0:31          vector swizzle ( temp 2-component vector of double)
+0:31            d: direct index for structure ( temp 4-component vector of double)
+0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                  Constant:
+0:31                    0 (const uint)
+0:31                direct index ( temp uint)
+0:31                  'dti' ( in 3-component vector of uint)
+0:31                  Constant:
+0:31                    0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31          Constant:
+0:31            0 (const uint)
+0:32      move second child to first child ( temp 3-component vector of double)
+0:32        vector swizzle ( temp 3-component vector of double)
+0:32          d: direct index for structure ( temp 4-component vector of double)
+0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                Constant:
+0:32                  0 (const uint)
+0:32              direct index ( temp uint)
+0:32                'dti' ( in 3-component vector of uint)
+0:32                Constant:
+0:32                  0 (const int)
+0:32            Constant:
+0:32              3 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32        subgroupQuadBroadcast ( temp 3-component vector of double)
+0:32          vector swizzle ( temp 3-component vector of double)
+0:32            d: direct index for structure ( temp 4-component vector of double)
+0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                  Constant:
+0:32                    0 (const uint)
+0:32                direct index ( temp uint)
+0:32                  'dti' ( in 3-component vector of uint)
+0:32                  Constant:
+0:32                    0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:32          Constant:
+0:32            0 (const uint)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u: direct index for structure ( temp 4-component vector of uint)
+0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34              Constant:
+0:34                0 (const uint)
+0:34            direct index ( temp uint)
+0:34              'dti' ( in 3-component vector of uint)
+0:34              Constant:
+0:34                0 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupQuadBroadcast ( temp 4-component vector of uint)
+0:34          u: direct index for structure ( temp 4-component vector of uint)
+0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34                Constant:
+0:34                  0 (const uint)
+0:34              direct index ( temp uint)
+0:34                'dti' ( in 3-component vector of uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:35      move second child to first child ( temp uint)
+0:35        direct index ( temp uint)
+0:35          u: direct index for structure ( temp 4-component vector of uint)
+0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                Constant:
+0:35                  0 (const uint)
+0:35              direct index ( temp uint)
+0:35                'dti' ( in 3-component vector of uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            0 (const int)
+0:35        subgroupQuadBroadcast ( temp uint)
+0:35          direct index ( temp uint)
+0:35            u: direct index for structure ( temp 4-component vector of uint)
+0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                  Constant:
+0:35                    0 (const uint)
+0:35                direct index ( temp uint)
+0:35                  'dti' ( in 3-component vector of uint)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            1 (const uint)
+0:36      move second child to first child ( temp 2-component vector of uint)
+0:36        vector swizzle ( temp 2-component vector of uint)
+0:36          u: direct index for structure ( temp 4-component vector of uint)
+0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                Constant:
+0:36                  0 (const uint)
+0:36              direct index ( temp uint)
+0:36                'dti' ( in 3-component vector of uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36        subgroupQuadBroadcast ( temp 2-component vector of uint)
+0:36          vector swizzle ( temp 2-component vector of uint)
+0:36            u: direct index for structure ( temp 4-component vector of uint)
+0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                  Constant:
+0:36                    0 (const uint)
+0:36                direct index ( temp uint)
+0:36                  'dti' ( in 3-component vector of uint)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36          Constant:
+0:36            1 (const uint)
+0:37      move second child to first child ( temp 3-component vector of uint)
+0:37        vector swizzle ( temp 3-component vector of uint)
+0:37          u: direct index for structure ( temp 4-component vector of uint)
+0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                Constant:
+0:37                  0 (const uint)
+0:37              direct index ( temp uint)
+0:37                'dti' ( in 3-component vector of uint)
+0:37                Constant:
+0:37                  0 (const int)
+0:37            Constant:
+0:37              0 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37            Constant:
+0:37              2 (const int)
+0:37        subgroupQuadBroadcast ( temp 3-component vector of uint)
+0:37          vector swizzle ( temp 3-component vector of uint)
+0:37            u: direct index for structure ( temp 4-component vector of uint)
+0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                  Constant:
+0:37                    0 (const uint)
+0:37                direct index ( temp uint)
+0:37                  'dti' ( in 3-component vector of uint)
+0:37                  Constant:
+0:37                    0 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              Constant:
+0:37                2 (const int)
+0:37          Constant:
+0:37            1 (const uint)
+0:39      move second child to first child ( temp 4-component vector of int)
+0:39        i: direct index for structure ( temp 4-component vector of int)
+0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39              Constant:
+0:39                0 (const uint)
+0:39            direct index ( temp uint)
+0:39              'dti' ( in 3-component vector of uint)
+0:39              Constant:
+0:39                0 (const int)
+0:39          Constant:
+0:39            1 (const int)
+0:39        subgroupQuadBroadcast ( temp 4-component vector of int)
+0:39          i: direct index for structure ( temp 4-component vector of int)
+0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39                Constant:
+0:39                  0 (const uint)
+0:39              direct index ( temp uint)
+0:39                'dti' ( in 3-component vector of uint)
+0:39                Constant:
+0:39                  0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Constant:
+0:39            1 (const uint)
+0:40      move second child to first child ( temp int)
+0:40        direct index ( temp int)
+0:40          i: direct index for structure ( temp 4-component vector of int)
+0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                Constant:
+0:40                  0 (const uint)
+0:40              direct index ( temp uint)
+0:40                'dti' ( in 3-component vector of uint)
+0:40                Constant:
+0:40                  0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        subgroupQuadBroadcast ( temp int)
+0:40          direct index ( temp int)
+0:40            i: direct index for structure ( temp 4-component vector of int)
+0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                  Constant:
+0:40                    0 (const uint)
+0:40                direct index ( temp uint)
+0:40                  'dti' ( in 3-component vector of uint)
+0:40                  Constant:
+0:40                    0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Constant:
+0:40            1 (const uint)
+0:41      move second child to first child ( temp 2-component vector of int)
+0:41        vector swizzle ( temp 2-component vector of int)
+0:41          i: direct index for structure ( temp 4-component vector of int)
+0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                Constant:
+0:41                  0 (const uint)
+0:41              direct index ( temp uint)
+0:41                'dti' ( in 3-component vector of uint)
+0:41                Constant:
+0:41                  0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        subgroupQuadBroadcast ( temp 2-component vector of int)
+0:41          vector swizzle ( temp 2-component vector of int)
+0:41            i: direct index for structure ( temp 4-component vector of int)
+0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                  Constant:
+0:41                    0 (const uint)
+0:41                direct index ( temp uint)
+0:41                  'dti' ( in 3-component vector of uint)
+0:41                  Constant:
+0:41                    0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41          Constant:
+0:41            1 (const uint)
+0:42      move second child to first child ( temp 3-component vector of int)
+0:42        vector swizzle ( temp 3-component vector of int)
+0:42          i: direct index for structure ( temp 4-component vector of int)
+0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                Constant:
+0:42                  0 (const uint)
+0:42              direct index ( temp uint)
+0:42                'dti' ( in 3-component vector of uint)
+0:42                Constant:
+0:42                  0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        subgroupQuadBroadcast ( temp 3-component vector of int)
+0:42          vector swizzle ( temp 3-component vector of int)
+0:42            i: direct index for structure ( temp 4-component vector of int)
+0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                  Constant:
+0:42                    0 (const uint)
+0:42                direct index ( temp uint)
+0:42                  'dti' ( in 3-component vector of uint)
+0:42                  Constant:
+0:42                    0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:42          Constant:
+0:42            1 (const uint)
+0:44      move second child to first child ( temp 4-component vector of float)
+0:44        f: direct index for structure ( temp 4-component vector of float)
+0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44              Constant:
+0:44                0 (const uint)
+0:44            direct index ( temp uint)
+0:44              'dti' ( in 3-component vector of uint)
+0:44              Constant:
+0:44                0 (const int)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupQuadBroadcast ( temp 4-component vector of float)
+0:44          f: direct index for structure ( temp 4-component vector of float)
+0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44                Constant:
+0:44                  0 (const uint)
+0:44              direct index ( temp uint)
+0:44                'dti' ( in 3-component vector of uint)
+0:44                Constant:
+0:44                  0 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:44          Constant:
+0:44            1 (const uint)
+0:45      move second child to first child ( temp float)
+0:45        direct index ( temp float)
+0:45          f: direct index for structure ( temp 4-component vector of float)
+0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                Constant:
+0:45                  0 (const uint)
+0:45              direct index ( temp uint)
+0:45                'dti' ( in 3-component vector of uint)
+0:45                Constant:
+0:45                  0 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        subgroupQuadBroadcast ( temp float)
+0:45          direct index ( temp float)
+0:45            f: direct index for structure ( temp 4-component vector of float)
+0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                  Constant:
+0:45                    0 (const uint)
+0:45                direct index ( temp uint)
+0:45                  'dti' ( in 3-component vector of uint)
+0:45                  Constant:
+0:45                    0 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:45          Constant:
+0:45            1 (const uint)
+0:46      move second child to first child ( temp 2-component vector of float)
+0:46        vector swizzle ( temp 2-component vector of float)
+0:46          f: direct index for structure ( temp 4-component vector of float)
+0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                Constant:
+0:46                  0 (const uint)
+0:46              direct index ( temp uint)
+0:46                'dti' ( in 3-component vector of uint)
+0:46                Constant:
+0:46                  0 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        subgroupQuadBroadcast ( temp 2-component vector of float)
+0:46          vector swizzle ( temp 2-component vector of float)
+0:46            f: direct index for structure ( temp 4-component vector of float)
+0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46                direct index ( temp uint)
+0:46                  'dti' ( in 3-component vector of uint)
+0:46                  Constant:
+0:46                    0 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46          Constant:
+0:46            1 (const uint)
+0:47      move second child to first child ( temp 3-component vector of float)
+0:47        vector swizzle ( temp 3-component vector of float)
+0:47          f: direct index for structure ( temp 4-component vector of float)
+0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                Constant:
+0:47                  0 (const uint)
+0:47              direct index ( temp uint)
+0:47                'dti' ( in 3-component vector of uint)
+0:47                Constant:
+0:47                  0 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        subgroupQuadBroadcast ( temp 3-component vector of float)
+0:47          vector swizzle ( temp 3-component vector of float)
+0:47            f: direct index for structure ( temp 4-component vector of float)
+0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                  Constant:
+0:47                    0 (const uint)
+0:47                direct index ( temp uint)
+0:47                  'dti' ( in 3-component vector of uint)
+0:47                  Constant:
+0:47                    0 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47          Constant:
+0:47            1 (const uint)
+0:49      move second child to first child ( temp 4-component vector of double)
+0:49        d: direct index for structure ( temp 4-component vector of double)
+0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49              Constant:
+0:49                0 (const uint)
+0:49            direct index ( temp uint)
+0:49              'dti' ( in 3-component vector of uint)
+0:49              Constant:
+0:49                0 (const int)
+0:49          Constant:
+0:49            3 (const int)
+0:49        subgroupQuadBroadcast ( temp 4-component vector of double)
+0:49          d: direct index for structure ( temp 4-component vector of double)
+0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49                Constant:
+0:49                  0 (const uint)
+0:49              direct index ( temp uint)
+0:49                'dti' ( in 3-component vector of uint)
+0:49                Constant:
+0:49                  0 (const int)
+0:49            Constant:
+0:49              3 (const int)
+0:49          Constant:
+0:49            1 (const uint)
+0:50      move second child to first child ( temp double)
+0:50        direct index ( temp double)
+0:50          d: direct index for structure ( temp 4-component vector of double)
+0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                Constant:
+0:50                  0 (const uint)
+0:50              direct index ( temp uint)
+0:50                'dti' ( in 3-component vector of uint)
+0:50                Constant:
+0:50                  0 (const int)
+0:50            Constant:
+0:50              3 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        subgroupQuadBroadcast ( temp double)
+0:50          direct index ( temp double)
+0:50            d: direct index for structure ( temp 4-component vector of double)
+0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                  Constant:
+0:50                    0 (const uint)
+0:50                direct index ( temp uint)
+0:50                  'dti' ( in 3-component vector of uint)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:50          Constant:
+0:50            1 (const uint)
+0:51      move second child to first child ( temp 2-component vector of double)
+0:51        vector swizzle ( temp 2-component vector of double)
+0:51          d: direct index for structure ( temp 4-component vector of double)
+0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                Constant:
+0:51                  0 (const uint)
+0:51              direct index ( temp uint)
+0:51                'dti' ( in 3-component vector of uint)
+0:51                Constant:
+0:51                  0 (const int)
+0:51            Constant:
+0:51              3 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        subgroupQuadBroadcast ( temp 2-component vector of double)
+0:51          vector swizzle ( temp 2-component vector of double)
+0:51            d: direct index for structure ( temp 4-component vector of double)
+0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                  Constant:
+0:51                    0 (const uint)
+0:51                direct index ( temp uint)
+0:51                  'dti' ( in 3-component vector of uint)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51              Constant:
+0:51                3 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51          Constant:
+0:51            1 (const uint)
+0:52      move second child to first child ( temp 3-component vector of double)
+0:52        vector swizzle ( temp 3-component vector of double)
+0:52          d: direct index for structure ( temp 4-component vector of double)
+0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                Constant:
+0:52                  0 (const uint)
+0:52              direct index ( temp uint)
+0:52                'dti' ( in 3-component vector of uint)
+0:52                Constant:
+0:52                  0 (const int)
+0:52            Constant:
+0:52              3 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        subgroupQuadBroadcast ( temp 3-component vector of double)
+0:52          vector swizzle ( temp 3-component vector of double)
+0:52            d: direct index for structure ( temp 4-component vector of double)
+0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                  Constant:
+0:52                    0 (const uint)
+0:52                direct index ( temp uint)
+0:52                  'dti' ( in 3-component vector of uint)
+0:52                  Constant:
+0:52                    0 (const int)
+0:52              Constant:
+0:52                3 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:52          Constant:
+0:52            1 (const uint)
+0:54      move second child to first child ( temp 4-component vector of uint)
+0:54        u: direct index for structure ( temp 4-component vector of uint)
+0:54          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:54              Constant:
+0:54                0 (const uint)
+0:54            direct index ( temp uint)
+0:54              'dti' ( in 3-component vector of uint)
+0:54              Constant:
+0:54                0 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupQuadBroadcast ( temp 4-component vector of uint)
+0:54          u: direct index for structure ( temp 4-component vector of uint)
+0:54            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:54                Constant:
+0:54                  0 (const uint)
+0:54              direct index ( temp uint)
+0:54                'dti' ( in 3-component vector of uint)
+0:54                Constant:
+0:54                  0 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:54          Constant:
+0:54            2 (const uint)
+0:55      move second child to first child ( temp uint)
+0:55        direct index ( temp uint)
+0:55          u: direct index for structure ( temp 4-component vector of uint)
+0:55            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:55                Constant:
+0:55                  0 (const uint)
+0:55              direct index ( temp uint)
+0:55                'dti' ( in 3-component vector of uint)
+0:55                Constant:
+0:55                  0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          Constant:
+0:55            0 (const int)
+0:55        subgroupQuadBroadcast ( temp uint)
+0:55          direct index ( temp uint)
+0:55            u: direct index for structure ( temp 4-component vector of uint)
+0:55              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:55                  Constant:
+0:55                    0 (const uint)
+0:55                direct index ( temp uint)
+0:55                  'dti' ( in 3-component vector of uint)
+0:55                  Constant:
+0:55                    0 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          Constant:
+0:55            2 (const uint)
+0:56      move second child to first child ( temp 2-component vector of uint)
+0:56        vector swizzle ( temp 2-component vector of uint)
+0:56          u: direct index for structure ( temp 4-component vector of uint)
+0:56            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:56                Constant:
+0:56                  0 (const uint)
+0:56              direct index ( temp uint)
+0:56                'dti' ( in 3-component vector of uint)
+0:56                Constant:
+0:56                  0 (const int)
+0:56            Constant:
+0:56              0 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56        subgroupQuadBroadcast ( temp 2-component vector of uint)
+0:56          vector swizzle ( temp 2-component vector of uint)
+0:56            u: direct index for structure ( temp 4-component vector of uint)
+0:56              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:56                  Constant:
+0:56                    0 (const uint)
+0:56                direct index ( temp uint)
+0:56                  'dti' ( in 3-component vector of uint)
+0:56                  Constant:
+0:56                    0 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56          Constant:
+0:56            2 (const uint)
+0:57      move second child to first child ( temp 3-component vector of uint)
+0:57        vector swizzle ( temp 3-component vector of uint)
+0:57          u: direct index for structure ( temp 4-component vector of uint)
+0:57            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:57                Constant:
+0:57                  0 (const uint)
+0:57              direct index ( temp uint)
+0:57                'dti' ( in 3-component vector of uint)
+0:57                Constant:
+0:57                  0 (const int)
+0:57            Constant:
+0:57              0 (const int)
+0:57          Sequence
+0:57            Constant:
+0:57              0 (const int)
+0:57            Constant:
+0:57              1 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57        subgroupQuadBroadcast ( temp 3-component vector of uint)
+0:57          vector swizzle ( temp 3-component vector of uint)
+0:57            u: direct index for structure ( temp 4-component vector of uint)
+0:57              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:57                  Constant:
+0:57                    0 (const uint)
+0:57                direct index ( temp uint)
+0:57                  'dti' ( in 3-component vector of uint)
+0:57                  Constant:
+0:57                    0 (const int)
+0:57              Constant:
+0:57                0 (const int)
+0:57            Sequence
+0:57              Constant:
+0:57                0 (const int)
+0:57              Constant:
+0:57                1 (const int)
+0:57              Constant:
+0:57                2 (const int)
+0:57          Constant:
+0:57            2 (const uint)
+0:59      move second child to first child ( temp 4-component vector of int)
+0:59        i: direct index for structure ( temp 4-component vector of int)
+0:59          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:59              Constant:
+0:59                0 (const uint)
+0:59            direct index ( temp uint)
+0:59              'dti' ( in 3-component vector of uint)
+0:59              Constant:
+0:59                0 (const int)
+0:59          Constant:
+0:59            1 (const int)
+0:59        subgroupQuadBroadcast ( temp 4-component vector of int)
+0:59          i: direct index for structure ( temp 4-component vector of int)
+0:59            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:59                Constant:
+0:59                  0 (const uint)
+0:59              direct index ( temp uint)
+0:59                'dti' ( in 3-component vector of uint)
+0:59                Constant:
+0:59                  0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:59          Constant:
+0:59            2 (const uint)
+0:60      move second child to first child ( temp int)
+0:60        direct index ( temp int)
+0:60          i: direct index for structure ( temp 4-component vector of int)
+0:60            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:60                Constant:
+0:60                  0 (const uint)
+0:60              direct index ( temp uint)
+0:60                'dti' ( in 3-component vector of uint)
+0:60                Constant:
+0:60                  0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60          Constant:
+0:60            0 (const int)
+0:60        subgroupQuadBroadcast ( temp int)
+0:60          direct index ( temp int)
+0:60            i: direct index for structure ( temp 4-component vector of int)
+0:60              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:60                  Constant:
+0:60                    0 (const uint)
+0:60                direct index ( temp uint)
+0:60                  'dti' ( in 3-component vector of uint)
+0:60                  Constant:
+0:60                    0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60            Constant:
+0:60              0 (const int)
+0:60          Constant:
+0:60            2 (const uint)
+0:61      move second child to first child ( temp 2-component vector of int)
+0:61        vector swizzle ( temp 2-component vector of int)
+0:61          i: direct index for structure ( temp 4-component vector of int)
+0:61            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:61                Constant:
+0:61                  0 (const uint)
+0:61              direct index ( temp uint)
+0:61                'dti' ( in 3-component vector of uint)
+0:61                Constant:
+0:61                  0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61        subgroupQuadBroadcast ( temp 2-component vector of int)
+0:61          vector swizzle ( temp 2-component vector of int)
+0:61            i: direct index for structure ( temp 4-component vector of int)
+0:61              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:61                  Constant:
+0:61                    0 (const uint)
+0:61                direct index ( temp uint)
+0:61                  'dti' ( in 3-component vector of uint)
+0:61                  Constant:
+0:61                    0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61          Constant:
+0:61            2 (const uint)
+0:62      move second child to first child ( temp 3-component vector of int)
+0:62        vector swizzle ( temp 3-component vector of int)
+0:62          i: direct index for structure ( temp 4-component vector of int)
+0:62            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:62                Constant:
+0:62                  0 (const uint)
+0:62              direct index ( temp uint)
+0:62                'dti' ( in 3-component vector of uint)
+0:62                Constant:
+0:62                  0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62          Sequence
+0:62            Constant:
+0:62              0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62            Constant:
+0:62              2 (const int)
+0:62        subgroupQuadBroadcast ( temp 3-component vector of int)
+0:62          vector swizzle ( temp 3-component vector of int)
+0:62            i: direct index for structure ( temp 4-component vector of int)
+0:62              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:62                  Constant:
+0:62                    0 (const uint)
+0:62                direct index ( temp uint)
+0:62                  'dti' ( in 3-component vector of uint)
+0:62                  Constant:
+0:62                    0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62            Sequence
+0:62              Constant:
+0:62                0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62              Constant:
+0:62                2 (const int)
+0:62          Constant:
+0:62            2 (const uint)
+0:64      move second child to first child ( temp 4-component vector of float)
+0:64        f: direct index for structure ( temp 4-component vector of float)
+0:64          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:64              Constant:
+0:64                0 (const uint)
+0:64            direct index ( temp uint)
+0:64              'dti' ( in 3-component vector of uint)
+0:64              Constant:
+0:64                0 (const int)
+0:64          Constant:
+0:64            2 (const int)
+0:64        subgroupQuadBroadcast ( temp 4-component vector of float)
+0:64          f: direct index for structure ( temp 4-component vector of float)
+0:64            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:64                Constant:
+0:64                  0 (const uint)
+0:64              direct index ( temp uint)
+0:64                'dti' ( in 3-component vector of uint)
+0:64                Constant:
+0:64                  0 (const int)
+0:64            Constant:
+0:64              2 (const int)
+0:64          Constant:
+0:64            2 (const uint)
+0:65      move second child to first child ( temp float)
+0:65        direct index ( temp float)
+0:65          f: direct index for structure ( temp 4-component vector of float)
+0:65            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:65                Constant:
+0:65                  0 (const uint)
+0:65              direct index ( temp uint)
+0:65                'dti' ( in 3-component vector of uint)
+0:65                Constant:
+0:65                  0 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65          Constant:
+0:65            0 (const int)
+0:65        subgroupQuadBroadcast ( temp float)
+0:65          direct index ( temp float)
+0:65            f: direct index for structure ( temp 4-component vector of float)
+0:65              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:65                  Constant:
+0:65                    0 (const uint)
+0:65                direct index ( temp uint)
+0:65                  'dti' ( in 3-component vector of uint)
+0:65                  Constant:
+0:65                    0 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:65          Constant:
+0:65            2 (const uint)
+0:66      move second child to first child ( temp 2-component vector of float)
+0:66        vector swizzle ( temp 2-component vector of float)
+0:66          f: direct index for structure ( temp 4-component vector of float)
+0:66            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:66                Constant:
+0:66                  0 (const uint)
+0:66              direct index ( temp uint)
+0:66                'dti' ( in 3-component vector of uint)
+0:66                Constant:
+0:66                  0 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66        subgroupQuadBroadcast ( temp 2-component vector of float)
+0:66          vector swizzle ( temp 2-component vector of float)
+0:66            f: direct index for structure ( temp 4-component vector of float)
+0:66              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:66                  Constant:
+0:66                    0 (const uint)
+0:66                direct index ( temp uint)
+0:66                  'dti' ( in 3-component vector of uint)
+0:66                  Constant:
+0:66                    0 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66          Constant:
+0:66            2 (const uint)
+0:67      move second child to first child ( temp 3-component vector of float)
+0:67        vector swizzle ( temp 3-component vector of float)
+0:67          f: direct index for structure ( temp 4-component vector of float)
+0:67            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:67                Constant:
+0:67                  0 (const uint)
+0:67              direct index ( temp uint)
+0:67                'dti' ( in 3-component vector of uint)
+0:67                Constant:
+0:67                  0 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67          Sequence
+0:67            Constant:
+0:67              0 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67        subgroupQuadBroadcast ( temp 3-component vector of float)
+0:67          vector swizzle ( temp 3-component vector of float)
+0:67            f: direct index for structure ( temp 4-component vector of float)
+0:67              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:67                  Constant:
+0:67                    0 (const uint)
+0:67                direct index ( temp uint)
+0:67                  'dti' ( in 3-component vector of uint)
+0:67                  Constant:
+0:67                    0 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67            Sequence
+0:67              Constant:
+0:67                0 (const int)
+0:67              Constant:
+0:67                1 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67          Constant:
+0:67            2 (const uint)
+0:69      move second child to first child ( temp 4-component vector of double)
+0:69        d: direct index for structure ( temp 4-component vector of double)
+0:69          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:69              Constant:
+0:69                0 (const uint)
+0:69            direct index ( temp uint)
+0:69              'dti' ( in 3-component vector of uint)
+0:69              Constant:
+0:69                0 (const int)
+0:69          Constant:
+0:69            3 (const int)
+0:69        subgroupQuadBroadcast ( temp 4-component vector of double)
+0:69          d: direct index for structure ( temp 4-component vector of double)
+0:69            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:69                Constant:
+0:69                  0 (const uint)
+0:69              direct index ( temp uint)
+0:69                'dti' ( in 3-component vector of uint)
+0:69                Constant:
+0:69                  0 (const int)
+0:69            Constant:
+0:69              3 (const int)
+0:69          Constant:
+0:69            2 (const uint)
+0:70      move second child to first child ( temp double)
+0:70        direct index ( temp double)
+0:70          d: direct index for structure ( temp 4-component vector of double)
+0:70            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:70                Constant:
+0:70                  0 (const uint)
+0:70              direct index ( temp uint)
+0:70                'dti' ( in 3-component vector of uint)
+0:70                Constant:
+0:70                  0 (const int)
+0:70            Constant:
+0:70              3 (const int)
+0:70          Constant:
+0:70            0 (const int)
+0:70        subgroupQuadBroadcast ( temp double)
+0:70          direct index ( temp double)
+0:70            d: direct index for structure ( temp 4-component vector of double)
+0:70              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:70                  Constant:
+0:70                    0 (const uint)
+0:70                direct index ( temp uint)
+0:70                  'dti' ( in 3-component vector of uint)
+0:70                  Constant:
+0:70                    0 (const int)
+0:70              Constant:
+0:70                3 (const int)
+0:70            Constant:
+0:70              0 (const int)
+0:70          Constant:
+0:70            2 (const uint)
+0:71      move second child to first child ( temp 2-component vector of double)
+0:71        vector swizzle ( temp 2-component vector of double)
+0:71          d: direct index for structure ( temp 4-component vector of double)
+0:71            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:71                Constant:
+0:71                  0 (const uint)
+0:71              direct index ( temp uint)
+0:71                'dti' ( in 3-component vector of uint)
+0:71                Constant:
+0:71                  0 (const int)
+0:71            Constant:
+0:71              3 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71        subgroupQuadBroadcast ( temp 2-component vector of double)
+0:71          vector swizzle ( temp 2-component vector of double)
+0:71            d: direct index for structure ( temp 4-component vector of double)
+0:71              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:71                  Constant:
+0:71                    0 (const uint)
+0:71                direct index ( temp uint)
+0:71                  'dti' ( in 3-component vector of uint)
+0:71                  Constant:
+0:71                    0 (const int)
+0:71              Constant:
+0:71                3 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71          Constant:
+0:71            2 (const uint)
+0:72      move second child to first child ( temp 3-component vector of double)
+0:72        vector swizzle ( temp 3-component vector of double)
+0:72          d: direct index for structure ( temp 4-component vector of double)
+0:72            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:72                Constant:
+0:72                  0 (const uint)
+0:72              direct index ( temp uint)
+0:72                'dti' ( in 3-component vector of uint)
+0:72                Constant:
+0:72                  0 (const int)
+0:72            Constant:
+0:72              3 (const int)
+0:72          Sequence
+0:72            Constant:
+0:72              0 (const int)
+0:72            Constant:
+0:72              1 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:72        subgroupQuadBroadcast ( temp 3-component vector of double)
+0:72          vector swizzle ( temp 3-component vector of double)
+0:72            d: direct index for structure ( temp 4-component vector of double)
+0:72              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:72                  Constant:
+0:72                    0 (const uint)
+0:72                direct index ( temp uint)
+0:72                  'dti' ( in 3-component vector of uint)
+0:72                  Constant:
+0:72                    0 (const int)
+0:72              Constant:
+0:72                3 (const int)
+0:72            Sequence
+0:72              Constant:
+0:72                0 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72              Constant:
+0:72                2 (const int)
+0:72          Constant:
+0:72            2 (const uint)
+0:74      move second child to first child ( temp 4-component vector of uint)
+0:74        u: direct index for structure ( temp 4-component vector of uint)
+0:74          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:74              Constant:
+0:74                0 (const uint)
+0:74            direct index ( temp uint)
+0:74              'dti' ( in 3-component vector of uint)
+0:74              Constant:
+0:74                0 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupQuadBroadcast ( temp 4-component vector of uint)
+0:74          u: direct index for structure ( temp 4-component vector of uint)
+0:74            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:74                Constant:
+0:74                  0 (const uint)
+0:74              direct index ( temp uint)
+0:74                'dti' ( in 3-component vector of uint)
+0:74                Constant:
+0:74                  0 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:74          Constant:
+0:74            3 (const uint)
+0:75      move second child to first child ( temp uint)
+0:75        direct index ( temp uint)
+0:75          u: direct index for structure ( temp 4-component vector of uint)
+0:75            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:75                Constant:
+0:75                  0 (const uint)
+0:75              direct index ( temp uint)
+0:75                'dti' ( in 3-component vector of uint)
+0:75                Constant:
+0:75                  0 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:75          Constant:
+0:75            0 (const int)
+0:75        subgroupQuadBroadcast ( temp uint)
+0:75          direct index ( temp uint)
+0:75            u: direct index for structure ( temp 4-component vector of uint)
+0:75              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:75                  Constant:
+0:75                    0 (const uint)
+0:75                direct index ( temp uint)
+0:75                  'dti' ( in 3-component vector of uint)
+0:75                  Constant:
+0:75                    0 (const int)
+0:75              Constant:
+0:75                0 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:75          Constant:
+0:75            3 (const uint)
+0:76      move second child to first child ( temp 2-component vector of uint)
+0:76        vector swizzle ( temp 2-component vector of uint)
+0:76          u: direct index for structure ( temp 4-component vector of uint)
+0:76            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:76                Constant:
+0:76                  0 (const uint)
+0:76              direct index ( temp uint)
+0:76                'dti' ( in 3-component vector of uint)
+0:76                Constant:
+0:76                  0 (const int)
+0:76            Constant:
+0:76              0 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76        subgroupQuadBroadcast ( temp 2-component vector of uint)
+0:76          vector swizzle ( temp 2-component vector of uint)
+0:76            u: direct index for structure ( temp 4-component vector of uint)
+0:76              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:76                  Constant:
+0:76                    0 (const uint)
+0:76                direct index ( temp uint)
+0:76                  'dti' ( in 3-component vector of uint)
+0:76                  Constant:
+0:76                    0 (const int)
+0:76              Constant:
+0:76                0 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76          Constant:
+0:76            3 (const uint)
+0:77      move second child to first child ( temp 3-component vector of uint)
+0:77        vector swizzle ( temp 3-component vector of uint)
+0:77          u: direct index for structure ( temp 4-component vector of uint)
+0:77            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:77                Constant:
+0:77                  0 (const uint)
+0:77              direct index ( temp uint)
+0:77                'dti' ( in 3-component vector of uint)
+0:77                Constant:
+0:77                  0 (const int)
+0:77            Constant:
+0:77              0 (const int)
+0:77          Sequence
+0:77            Constant:
+0:77              0 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77            Constant:
+0:77              2 (const int)
+0:77        subgroupQuadBroadcast ( temp 3-component vector of uint)
+0:77          vector swizzle ( temp 3-component vector of uint)
+0:77            u: direct index for structure ( temp 4-component vector of uint)
+0:77              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:77                  Constant:
+0:77                    0 (const uint)
+0:77                direct index ( temp uint)
+0:77                  'dti' ( in 3-component vector of uint)
+0:77                  Constant:
+0:77                    0 (const int)
+0:77              Constant:
+0:77                0 (const int)
+0:77            Sequence
+0:77              Constant:
+0:77                0 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77              Constant:
+0:77                2 (const int)
+0:77          Constant:
+0:77            3 (const uint)
+0:79      move second child to first child ( temp 4-component vector of int)
+0:79        i: direct index for structure ( temp 4-component vector of int)
+0:79          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:79              Constant:
+0:79                0 (const uint)
+0:79            direct index ( temp uint)
+0:79              'dti' ( in 3-component vector of uint)
+0:79              Constant:
+0:79                0 (const int)
+0:79          Constant:
+0:79            1 (const int)
+0:79        subgroupQuadBroadcast ( temp 4-component vector of int)
+0:79          i: direct index for structure ( temp 4-component vector of int)
+0:79            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:79                Constant:
+0:79                  0 (const uint)
+0:79              direct index ( temp uint)
+0:79                'dti' ( in 3-component vector of uint)
+0:79                Constant:
+0:79                  0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79          Constant:
+0:79            3 (const uint)
+0:80      move second child to first child ( temp int)
+0:80        direct index ( temp int)
+0:80          i: direct index for structure ( temp 4-component vector of int)
+0:80            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:80                Constant:
+0:80                  0 (const uint)
+0:80              direct index ( temp uint)
+0:80                'dti' ( in 3-component vector of uint)
+0:80                Constant:
+0:80                  0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80          Constant:
+0:80            0 (const int)
+0:80        subgroupQuadBroadcast ( temp int)
+0:80          direct index ( temp int)
+0:80            i: direct index for structure ( temp 4-component vector of int)
+0:80              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:80                  Constant:
+0:80                    0 (const uint)
+0:80                direct index ( temp uint)
+0:80                  'dti' ( in 3-component vector of uint)
+0:80                  Constant:
+0:80                    0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80            Constant:
+0:80              0 (const int)
+0:80          Constant:
+0:80            3 (const uint)
+0:81      move second child to first child ( temp 2-component vector of int)
+0:81        vector swizzle ( temp 2-component vector of int)
+0:81          i: direct index for structure ( temp 4-component vector of int)
+0:81            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:81                Constant:
+0:81                  0 (const uint)
+0:81              direct index ( temp uint)
+0:81                'dti' ( in 3-component vector of uint)
+0:81                Constant:
+0:81                  0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81        subgroupQuadBroadcast ( temp 2-component vector of int)
+0:81          vector swizzle ( temp 2-component vector of int)
+0:81            i: direct index for structure ( temp 4-component vector of int)
+0:81              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:81                  Constant:
+0:81                    0 (const uint)
+0:81                direct index ( temp uint)
+0:81                  'dti' ( in 3-component vector of uint)
+0:81                  Constant:
+0:81                    0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81          Constant:
+0:81            3 (const uint)
+0:82      move second child to first child ( temp 3-component vector of int)
+0:82        vector swizzle ( temp 3-component vector of int)
+0:82          i: direct index for structure ( temp 4-component vector of int)
+0:82            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:82                Constant:
+0:82                  0 (const uint)
+0:82              direct index ( temp uint)
+0:82                'dti' ( in 3-component vector of uint)
+0:82                Constant:
+0:82                  0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82          Sequence
+0:82            Constant:
+0:82              0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:82        subgroupQuadBroadcast ( temp 3-component vector of int)
+0:82          vector swizzle ( temp 3-component vector of int)
+0:82            i: direct index for structure ( temp 4-component vector of int)
+0:82              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:82                  Constant:
+0:82                    0 (const uint)
+0:82                direct index ( temp uint)
+0:82                  'dti' ( in 3-component vector of uint)
+0:82                  Constant:
+0:82                    0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82            Sequence
+0:82              Constant:
+0:82                0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82              Constant:
+0:82                2 (const int)
+0:82          Constant:
+0:82            3 (const uint)
+0:84      move second child to first child ( temp 4-component vector of float)
+0:84        f: direct index for structure ( temp 4-component vector of float)
+0:84          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:84              Constant:
+0:84                0 (const uint)
+0:84            direct index ( temp uint)
+0:84              'dti' ( in 3-component vector of uint)
+0:84              Constant:
+0:84                0 (const int)
+0:84          Constant:
+0:84            2 (const int)
+0:84        subgroupQuadBroadcast ( temp 4-component vector of float)
+0:84          f: direct index for structure ( temp 4-component vector of float)
+0:84            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:84                Constant:
+0:84                  0 (const uint)
+0:84              direct index ( temp uint)
+0:84                'dti' ( in 3-component vector of uint)
+0:84                Constant:
+0:84                  0 (const int)
+0:84            Constant:
+0:84              2 (const int)
+0:84          Constant:
+0:84            3 (const uint)
+0:85      move second child to first child ( temp float)
+0:85        direct index ( temp float)
+0:85          f: direct index for structure ( temp 4-component vector of float)
+0:85            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:85                Constant:
+0:85                  0 (const uint)
+0:85              direct index ( temp uint)
+0:85                'dti' ( in 3-component vector of uint)
+0:85                Constant:
+0:85                  0 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85          Constant:
+0:85            0 (const int)
+0:85        subgroupQuadBroadcast ( temp float)
+0:85          direct index ( temp float)
+0:85            f: direct index for structure ( temp 4-component vector of float)
+0:85              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:85                  Constant:
+0:85                    0 (const uint)
+0:85                direct index ( temp uint)
+0:85                  'dti' ( in 3-component vector of uint)
+0:85                  Constant:
+0:85                    0 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85            Constant:
+0:85              0 (const int)
+0:85          Constant:
+0:85            3 (const uint)
+0:86      move second child to first child ( temp 2-component vector of float)
+0:86        vector swizzle ( temp 2-component vector of float)
+0:86          f: direct index for structure ( temp 4-component vector of float)
+0:86            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:86                Constant:
+0:86                  0 (const uint)
+0:86              direct index ( temp uint)
+0:86                'dti' ( in 3-component vector of uint)
+0:86                Constant:
+0:86                  0 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86        subgroupQuadBroadcast ( temp 2-component vector of float)
+0:86          vector swizzle ( temp 2-component vector of float)
+0:86            f: direct index for structure ( temp 4-component vector of float)
+0:86              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:86                  Constant:
+0:86                    0 (const uint)
+0:86                direct index ( temp uint)
+0:86                  'dti' ( in 3-component vector of uint)
+0:86                  Constant:
+0:86                    0 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86          Constant:
+0:86            3 (const uint)
+0:87      move second child to first child ( temp 3-component vector of float)
+0:87        vector swizzle ( temp 3-component vector of float)
+0:87          f: direct index for structure ( temp 4-component vector of float)
+0:87            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:87                Constant:
+0:87                  0 (const uint)
+0:87              direct index ( temp uint)
+0:87                'dti' ( in 3-component vector of uint)
+0:87                Constant:
+0:87                  0 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87          Sequence
+0:87            Constant:
+0:87              0 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87        subgroupQuadBroadcast ( temp 3-component vector of float)
+0:87          vector swizzle ( temp 3-component vector of float)
+0:87            f: direct index for structure ( temp 4-component vector of float)
+0:87              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:87                  Constant:
+0:87                    0 (const uint)
+0:87                direct index ( temp uint)
+0:87                  'dti' ( in 3-component vector of uint)
+0:87                  Constant:
+0:87                    0 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:87            Sequence
+0:87              Constant:
+0:87                0 (const int)
+0:87              Constant:
+0:87                1 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:87          Constant:
+0:87            3 (const uint)
+0:89      move second child to first child ( temp 4-component vector of double)
+0:89        d: direct index for structure ( temp 4-component vector of double)
+0:89          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:89              Constant:
+0:89                0 (const uint)
+0:89            direct index ( temp uint)
+0:89              'dti' ( in 3-component vector of uint)
+0:89              Constant:
+0:89                0 (const int)
+0:89          Constant:
+0:89            3 (const int)
+0:89        subgroupQuadBroadcast ( temp 4-component vector of double)
+0:89          d: direct index for structure ( temp 4-component vector of double)
+0:89            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:89                Constant:
+0:89                  0 (const uint)
+0:89              direct index ( temp uint)
+0:89                'dti' ( in 3-component vector of uint)
+0:89                Constant:
+0:89                  0 (const int)
+0:89            Constant:
+0:89              3 (const int)
+0:89          Constant:
+0:89            3 (const uint)
+0:90      move second child to first child ( temp double)
+0:90        direct index ( temp double)
+0:90          d: direct index for structure ( temp 4-component vector of double)
+0:90            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:90                Constant:
+0:90                  0 (const uint)
+0:90              direct index ( temp uint)
+0:90                'dti' ( in 3-component vector of uint)
+0:90                Constant:
+0:90                  0 (const int)
+0:90            Constant:
+0:90              3 (const int)
+0:90          Constant:
+0:90            0 (const int)
+0:90        subgroupQuadBroadcast ( temp double)
+0:90          direct index ( temp double)
+0:90            d: direct index for structure ( temp 4-component vector of double)
+0:90              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:90                  Constant:
+0:90                    0 (const uint)
+0:90                direct index ( temp uint)
+0:90                  'dti' ( in 3-component vector of uint)
+0:90                  Constant:
+0:90                    0 (const int)
+0:90              Constant:
+0:90                3 (const int)
+0:90            Constant:
+0:90              0 (const int)
+0:90          Constant:
+0:90            3 (const uint)
+0:91      move second child to first child ( temp 2-component vector of double)
+0:91        vector swizzle ( temp 2-component vector of double)
+0:91          d: direct index for structure ( temp 4-component vector of double)
+0:91            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:91                Constant:
+0:91                  0 (const uint)
+0:91              direct index ( temp uint)
+0:91                'dti' ( in 3-component vector of uint)
+0:91                Constant:
+0:91                  0 (const int)
+0:91            Constant:
+0:91              3 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91        subgroupQuadBroadcast ( temp 2-component vector of double)
+0:91          vector swizzle ( temp 2-component vector of double)
+0:91            d: direct index for structure ( temp 4-component vector of double)
+0:91              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:91                  Constant:
+0:91                    0 (const uint)
+0:91                direct index ( temp uint)
+0:91                  'dti' ( in 3-component vector of uint)
+0:91                  Constant:
+0:91                    0 (const int)
+0:91              Constant:
+0:91                3 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91          Constant:
+0:91            3 (const uint)
+0:92      move second child to first child ( temp 3-component vector of double)
+0:92        vector swizzle ( temp 3-component vector of double)
+0:92          d: direct index for structure ( temp 4-component vector of double)
+0:92            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:92                Constant:
+0:92                  0 (const uint)
+0:92              direct index ( temp uint)
+0:92                'dti' ( in 3-component vector of uint)
+0:92                Constant:
+0:92                  0 (const int)
+0:92            Constant:
+0:92              3 (const int)
+0:92          Sequence
+0:92            Constant:
+0:92              0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:92        subgroupQuadBroadcast ( temp 3-component vector of double)
+0:92          vector swizzle ( temp 3-component vector of double)
+0:92            d: direct index for structure ( temp 4-component vector of double)
+0:92              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:92                  Constant:
+0:92                    0 (const uint)
+0:92                direct index ( temp uint)
+0:92                  'dti' ( in 3-component vector of uint)
+0:92                  Constant:
+0:92                    0 (const int)
+0:92              Constant:
+0:92                3 (const int)
+0:92            Sequence
+0:92              Constant:
+0:92                0 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92              Constant:
+0:92                2 (const int)
+0:92          Constant:
+0:92            3 (const uint)
+0:94      move second child to first child ( temp 4-component vector of uint)
+0:94        u: direct index for structure ( temp 4-component vector of uint)
+0:94          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:94              Constant:
+0:94                0 (const uint)
+0:94            direct index ( temp uint)
+0:94              'dti' ( in 3-component vector of uint)
+0:94              Constant:
+0:94                0 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupQuadSwapHorizontal ( temp 4-component vector of uint)
+0:94          u: direct index for structure ( temp 4-component vector of uint)
+0:94            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:94                Constant:
+0:94                  0 (const uint)
+0:94              direct index ( temp uint)
+0:94                'dti' ( in 3-component vector of uint)
+0:94                Constant:
+0:94                  0 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:95      move second child to first child ( temp uint)
+0:95        direct index ( temp uint)
+0:95          u: direct index for structure ( temp 4-component vector of uint)
+0:95            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:95                Constant:
+0:95                  0 (const uint)
+0:95              direct index ( temp uint)
+0:95                'dti' ( in 3-component vector of uint)
+0:95                Constant:
+0:95                  0 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:95          Constant:
+0:95            0 (const int)
+0:95        subgroupQuadSwapHorizontal ( temp uint)
+0:95          direct index ( temp uint)
+0:95            u: direct index for structure ( temp 4-component vector of uint)
+0:95              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:95                  Constant:
+0:95                    0 (const uint)
+0:95                direct index ( temp uint)
+0:95                  'dti' ( in 3-component vector of uint)
+0:95                  Constant:
+0:95                    0 (const int)
+0:95              Constant:
+0:95                0 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:96      move second child to first child ( temp 2-component vector of uint)
+0:96        vector swizzle ( temp 2-component vector of uint)
+0:96          u: direct index for structure ( temp 4-component vector of uint)
+0:96            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:96                Constant:
+0:96                  0 (const uint)
+0:96              direct index ( temp uint)
+0:96                'dti' ( in 3-component vector of uint)
+0:96                Constant:
+0:96                  0 (const int)
+0:96            Constant:
+0:96              0 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96        subgroupQuadSwapHorizontal ( temp 2-component vector of uint)
+0:96          vector swizzle ( temp 2-component vector of uint)
+0:96            u: direct index for structure ( temp 4-component vector of uint)
+0:96              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:96                  Constant:
+0:96                    0 (const uint)
+0:96                direct index ( temp uint)
+0:96                  'dti' ( in 3-component vector of uint)
+0:96                  Constant:
+0:96                    0 (const int)
+0:96              Constant:
+0:96                0 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:97      move second child to first child ( temp 3-component vector of uint)
+0:97        vector swizzle ( temp 3-component vector of uint)
+0:97          u: direct index for structure ( temp 4-component vector of uint)
+0:97            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:97                Constant:
+0:97                  0 (const uint)
+0:97              direct index ( temp uint)
+0:97                'dti' ( in 3-component vector of uint)
+0:97                Constant:
+0:97                  0 (const int)
+0:97            Constant:
+0:97              0 (const int)
+0:97          Sequence
+0:97            Constant:
+0:97              0 (const int)
+0:97            Constant:
+0:97              1 (const int)
+0:97            Constant:
+0:97              2 (const int)
+0:97        subgroupQuadSwapHorizontal ( temp 3-component vector of uint)
+0:97          vector swizzle ( temp 3-component vector of uint)
+0:97            u: direct index for structure ( temp 4-component vector of uint)
+0:97              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:97                  Constant:
+0:97                    0 (const uint)
+0:97                direct index ( temp uint)
+0:97                  'dti' ( in 3-component vector of uint)
+0:97                  Constant:
+0:97                    0 (const int)
+0:97              Constant:
+0:97                0 (const int)
+0:97            Sequence
+0:97              Constant:
+0:97                0 (const int)
+0:97              Constant:
+0:97                1 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:99      move second child to first child ( temp 4-component vector of int)
+0:99        i: direct index for structure ( temp 4-component vector of int)
+0:99          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:99              Constant:
+0:99                0 (const uint)
+0:99            direct index ( temp uint)
+0:99              'dti' ( in 3-component vector of uint)
+0:99              Constant:
+0:99                0 (const int)
+0:99          Constant:
+0:99            1 (const int)
+0:99        subgroupQuadSwapHorizontal ( temp 4-component vector of int)
+0:99          i: direct index for structure ( temp 4-component vector of int)
+0:99            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:99                Constant:
+0:99                  0 (const uint)
+0:99              direct index ( temp uint)
+0:99                'dti' ( in 3-component vector of uint)
+0:99                Constant:
+0:99                  0 (const int)
+0:99            Constant:
+0:99              1 (const int)
+0:100      move second child to first child ( temp int)
+0:100        direct index ( temp int)
+0:100          i: direct index for structure ( temp 4-component vector of int)
+0:100            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:100                Constant:
+0:100                  0 (const uint)
+0:100              direct index ( temp uint)
+0:100                'dti' ( in 3-component vector of uint)
+0:100                Constant:
+0:100                  0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Constant:
+0:100            0 (const int)
+0:100        subgroupQuadSwapHorizontal ( temp int)
+0:100          direct index ( temp int)
+0:100            i: direct index for structure ( temp 4-component vector of int)
+0:100              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:100                  Constant:
+0:100                    0 (const uint)
+0:100                direct index ( temp uint)
+0:100                  'dti' ( in 3-component vector of uint)
+0:100                  Constant:
+0:100                    0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Constant:
+0:100              0 (const int)
+0:101      move second child to first child ( temp 2-component vector of int)
+0:101        vector swizzle ( temp 2-component vector of int)
+0:101          i: direct index for structure ( temp 4-component vector of int)
+0:101            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:101                Constant:
+0:101                  0 (const uint)
+0:101              direct index ( temp uint)
+0:101                'dti' ( in 3-component vector of uint)
+0:101                Constant:
+0:101                  0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101        subgroupQuadSwapHorizontal ( temp 2-component vector of int)
+0:101          vector swizzle ( temp 2-component vector of int)
+0:101            i: direct index for structure ( temp 4-component vector of int)
+0:101              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:101                  Constant:
+0:101                    0 (const uint)
+0:101                direct index ( temp uint)
+0:101                  'dti' ( in 3-component vector of uint)
+0:101                  Constant:
+0:101                    0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:102      move second child to first child ( temp 3-component vector of int)
+0:102        vector swizzle ( temp 3-component vector of int)
+0:102          i: direct index for structure ( temp 4-component vector of int)
+0:102            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:102                Constant:
+0:102                  0 (const uint)
+0:102              direct index ( temp uint)
+0:102                'dti' ( in 3-component vector of uint)
+0:102                Constant:
+0:102                  0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102          Sequence
+0:102            Constant:
+0:102              0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102            Constant:
+0:102              2 (const int)
+0:102        subgroupQuadSwapHorizontal ( temp 3-component vector of int)
+0:102          vector swizzle ( temp 3-component vector of int)
+0:102            i: direct index for structure ( temp 4-component vector of int)
+0:102              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:102                  Constant:
+0:102                    0 (const uint)
+0:102                direct index ( temp uint)
+0:102                  'dti' ( in 3-component vector of uint)
+0:102                  Constant:
+0:102                    0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102            Sequence
+0:102              Constant:
+0:102                0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102              Constant:
+0:102                2 (const int)
+0:104      move second child to first child ( temp 4-component vector of float)
+0:104        f: direct index for structure ( temp 4-component vector of float)
+0:104          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:104              Constant:
+0:104                0 (const uint)
+0:104            direct index ( temp uint)
+0:104              'dti' ( in 3-component vector of uint)
+0:104              Constant:
+0:104                0 (const int)
+0:104          Constant:
+0:104            2 (const int)
+0:104        subgroupQuadSwapHorizontal ( temp 4-component vector of float)
+0:104          f: direct index for structure ( temp 4-component vector of float)
+0:104            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:104                Constant:
+0:104                  0 (const uint)
+0:104              direct index ( temp uint)
+0:104                'dti' ( in 3-component vector of uint)
+0:104                Constant:
+0:104                  0 (const int)
+0:104            Constant:
+0:104              2 (const int)
+0:105      move second child to first child ( temp float)
+0:105        direct index ( temp float)
+0:105          f: direct index for structure ( temp 4-component vector of float)
+0:105            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:105                Constant:
+0:105                  0 (const uint)
+0:105              direct index ( temp uint)
+0:105                'dti' ( in 3-component vector of uint)
+0:105                Constant:
+0:105                  0 (const int)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Constant:
+0:105            0 (const int)
+0:105        subgroupQuadSwapHorizontal ( temp float)
+0:105          direct index ( temp float)
+0:105            f: direct index for structure ( temp 4-component vector of float)
+0:105              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:105                  Constant:
+0:105                    0 (const uint)
+0:105                direct index ( temp uint)
+0:105                  'dti' ( in 3-component vector of uint)
+0:105                  Constant:
+0:105                    0 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Constant:
+0:105              0 (const int)
+0:106      move second child to first child ( temp 2-component vector of float)
+0:106        vector swizzle ( temp 2-component vector of float)
+0:106          f: direct index for structure ( temp 4-component vector of float)
+0:106            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:106                Constant:
+0:106                  0 (const uint)
+0:106              direct index ( temp uint)
+0:106                'dti' ( in 3-component vector of uint)
+0:106                Constant:
+0:106                  0 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106        subgroupQuadSwapHorizontal ( temp 2-component vector of float)
+0:106          vector swizzle ( temp 2-component vector of float)
+0:106            f: direct index for structure ( temp 4-component vector of float)
+0:106              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:106                  Constant:
+0:106                    0 (const uint)
+0:106                direct index ( temp uint)
+0:106                  'dti' ( in 3-component vector of uint)
+0:106                  Constant:
+0:106                    0 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:107      move second child to first child ( temp 3-component vector of float)
+0:107        vector swizzle ( temp 3-component vector of float)
+0:107          f: direct index for structure ( temp 4-component vector of float)
+0:107            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:107                Constant:
+0:107                  0 (const uint)
+0:107              direct index ( temp uint)
+0:107                'dti' ( in 3-component vector of uint)
+0:107                Constant:
+0:107                  0 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107          Sequence
+0:107            Constant:
+0:107              0 (const int)
+0:107            Constant:
+0:107              1 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107        subgroupQuadSwapHorizontal ( temp 3-component vector of float)
+0:107          vector swizzle ( temp 3-component vector of float)
+0:107            f: direct index for structure ( temp 4-component vector of float)
+0:107              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:107                  Constant:
+0:107                    0 (const uint)
+0:107                direct index ( temp uint)
+0:107                  'dti' ( in 3-component vector of uint)
+0:107                  Constant:
+0:107                    0 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:107            Sequence
+0:107              Constant:
+0:107                0 (const int)
+0:107              Constant:
+0:107                1 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:109      move second child to first child ( temp 4-component vector of double)
+0:109        d: direct index for structure ( temp 4-component vector of double)
+0:109          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:109              Constant:
+0:109                0 (const uint)
+0:109            direct index ( temp uint)
+0:109              'dti' ( in 3-component vector of uint)
+0:109              Constant:
+0:109                0 (const int)
+0:109          Constant:
+0:109            3 (const int)
+0:109        subgroupQuadSwapHorizontal ( temp 4-component vector of double)
+0:109          d: direct index for structure ( temp 4-component vector of double)
+0:109            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:109                Constant:
+0:109                  0 (const uint)
+0:109              direct index ( temp uint)
+0:109                'dti' ( in 3-component vector of uint)
+0:109                Constant:
+0:109                  0 (const int)
+0:109            Constant:
+0:109              3 (const int)
+0:110      move second child to first child ( temp double)
+0:110        direct index ( temp double)
+0:110          d: direct index for structure ( temp 4-component vector of double)
+0:110            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:110                Constant:
+0:110                  0 (const uint)
+0:110              direct index ( temp uint)
+0:110                'dti' ( in 3-component vector of uint)
+0:110                Constant:
+0:110                  0 (const int)
+0:110            Constant:
+0:110              3 (const int)
+0:110          Constant:
+0:110            0 (const int)
+0:110        subgroupQuadSwapHorizontal ( temp double)
+0:110          direct index ( temp double)
+0:110            d: direct index for structure ( temp 4-component vector of double)
+0:110              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:110                  Constant:
+0:110                    0 (const uint)
+0:110                direct index ( temp uint)
+0:110                  'dti' ( in 3-component vector of uint)
+0:110                  Constant:
+0:110                    0 (const int)
+0:110              Constant:
+0:110                3 (const int)
+0:110            Constant:
+0:110              0 (const int)
+0:111      move second child to first child ( temp 2-component vector of double)
+0:111        vector swizzle ( temp 2-component vector of double)
+0:111          d: direct index for structure ( temp 4-component vector of double)
+0:111            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:111                Constant:
+0:111                  0 (const uint)
+0:111              direct index ( temp uint)
+0:111                'dti' ( in 3-component vector of uint)
+0:111                Constant:
+0:111                  0 (const int)
+0:111            Constant:
+0:111              3 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111        subgroupQuadSwapHorizontal ( temp 2-component vector of double)
+0:111          vector swizzle ( temp 2-component vector of double)
+0:111            d: direct index for structure ( temp 4-component vector of double)
+0:111              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:111                  Constant:
+0:111                    0 (const uint)
+0:111                direct index ( temp uint)
+0:111                  'dti' ( in 3-component vector of uint)
+0:111                  Constant:
+0:111                    0 (const int)
+0:111              Constant:
+0:111                3 (const int)
+0:111            Sequence
+0:111              Constant:
+0:111                0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:112      move second child to first child ( temp 3-component vector of double)
+0:112        vector swizzle ( temp 3-component vector of double)
+0:112          d: direct index for structure ( temp 4-component vector of double)
+0:112            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:112                Constant:
+0:112                  0 (const uint)
+0:112              direct index ( temp uint)
+0:112                'dti' ( in 3-component vector of uint)
+0:112                Constant:
+0:112                  0 (const int)
+0:112            Constant:
+0:112              3 (const int)
+0:112          Sequence
+0:112            Constant:
+0:112              0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112            Constant:
+0:112              2 (const int)
+0:112        subgroupQuadSwapHorizontal ( temp 3-component vector of double)
+0:112          vector swizzle ( temp 3-component vector of double)
+0:112            d: direct index for structure ( temp 4-component vector of double)
+0:112              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:112                  Constant:
+0:112                    0 (const uint)
+0:112                direct index ( temp uint)
+0:112                  'dti' ( in 3-component vector of uint)
+0:112                  Constant:
+0:112                    0 (const int)
+0:112              Constant:
+0:112                3 (const int)
+0:112            Sequence
+0:112              Constant:
+0:112                0 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112              Constant:
+0:112                2 (const int)
+0:114      move second child to first child ( temp 4-component vector of uint)
+0:114        u: direct index for structure ( temp 4-component vector of uint)
+0:114          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:114              Constant:
+0:114                0 (const uint)
+0:114            direct index ( temp uint)
+0:114              'dti' ( in 3-component vector of uint)
+0:114              Constant:
+0:114                0 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        subgroupQuadSwapVertical ( temp 4-component vector of uint)
+0:114          u: direct index for structure ( temp 4-component vector of uint)
+0:114            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:114                Constant:
+0:114                  0 (const uint)
+0:114              direct index ( temp uint)
+0:114                'dti' ( in 3-component vector of uint)
+0:114                Constant:
+0:114                  0 (const int)
+0:114            Constant:
+0:114              0 (const int)
+0:115      move second child to first child ( temp uint)
+0:115        direct index ( temp uint)
+0:115          u: direct index for structure ( temp 4-component vector of uint)
+0:115            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:115                Constant:
+0:115                  0 (const uint)
+0:115              direct index ( temp uint)
+0:115                'dti' ( in 3-component vector of uint)
+0:115                Constant:
+0:115                  0 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:115          Constant:
+0:115            0 (const int)
+0:115        subgroupQuadSwapVertical ( temp uint)
+0:115          direct index ( temp uint)
+0:115            u: direct index for structure ( temp 4-component vector of uint)
+0:115              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:115                  Constant:
+0:115                    0 (const uint)
+0:115                direct index ( temp uint)
+0:115                  'dti' ( in 3-component vector of uint)
+0:115                  Constant:
+0:115                    0 (const int)
+0:115              Constant:
+0:115                0 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:116      move second child to first child ( temp 2-component vector of uint)
+0:116        vector swizzle ( temp 2-component vector of uint)
+0:116          u: direct index for structure ( temp 4-component vector of uint)
+0:116            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:116                Constant:
+0:116                  0 (const uint)
+0:116              direct index ( temp uint)
+0:116                'dti' ( in 3-component vector of uint)
+0:116                Constant:
+0:116                  0 (const int)
+0:116            Constant:
+0:116              0 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116        subgroupQuadSwapVertical ( temp 2-component vector of uint)
+0:116          vector swizzle ( temp 2-component vector of uint)
+0:116            u: direct index for structure ( temp 4-component vector of uint)
+0:116              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:116                  Constant:
+0:116                    0 (const uint)
+0:116                direct index ( temp uint)
+0:116                  'dti' ( in 3-component vector of uint)
+0:116                  Constant:
+0:116                    0 (const int)
+0:116              Constant:
+0:116                0 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:117      move second child to first child ( temp 3-component vector of uint)
+0:117        vector swizzle ( temp 3-component vector of uint)
+0:117          u: direct index for structure ( temp 4-component vector of uint)
+0:117            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:117                Constant:
+0:117                  0 (const uint)
+0:117              direct index ( temp uint)
+0:117                'dti' ( in 3-component vector of uint)
+0:117                Constant:
+0:117                  0 (const int)
+0:117            Constant:
+0:117              0 (const int)
+0:117          Sequence
+0:117            Constant:
+0:117              0 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117            Constant:
+0:117              2 (const int)
+0:117        subgroupQuadSwapVertical ( temp 3-component vector of uint)
+0:117          vector swizzle ( temp 3-component vector of uint)
+0:117            u: direct index for structure ( temp 4-component vector of uint)
+0:117              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:117                  Constant:
+0:117                    0 (const uint)
+0:117                direct index ( temp uint)
+0:117                  'dti' ( in 3-component vector of uint)
+0:117                  Constant:
+0:117                    0 (const int)
+0:117              Constant:
+0:117                0 (const int)
+0:117            Sequence
+0:117              Constant:
+0:117                0 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117              Constant:
+0:117                2 (const int)
+0:119      move second child to first child ( temp 4-component vector of int)
+0:119        i: direct index for structure ( temp 4-component vector of int)
+0:119          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:119              Constant:
+0:119                0 (const uint)
+0:119            direct index ( temp uint)
+0:119              'dti' ( in 3-component vector of uint)
+0:119              Constant:
+0:119                0 (const int)
+0:119          Constant:
+0:119            1 (const int)
+0:119        subgroupQuadSwapVertical ( temp 4-component vector of int)
+0:119          i: direct index for structure ( temp 4-component vector of int)
+0:119            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:119                Constant:
+0:119                  0 (const uint)
+0:119              direct index ( temp uint)
+0:119                'dti' ( in 3-component vector of uint)
+0:119                Constant:
+0:119                  0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:120      move second child to first child ( temp int)
+0:120        direct index ( temp int)
+0:120          i: direct index for structure ( temp 4-component vector of int)
+0:120            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:120                Constant:
+0:120                  0 (const uint)
+0:120              direct index ( temp uint)
+0:120                'dti' ( in 3-component vector of uint)
+0:120                Constant:
+0:120                  0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120          Constant:
+0:120            0 (const int)
+0:120        subgroupQuadSwapVertical ( temp int)
+0:120          direct index ( temp int)
+0:120            i: direct index for structure ( temp 4-component vector of int)
+0:120              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:120                  Constant:
+0:120                    0 (const uint)
+0:120                direct index ( temp uint)
+0:120                  'dti' ( in 3-component vector of uint)
+0:120                  Constant:
+0:120                    0 (const int)
+0:120              Constant:
+0:120                1 (const int)
+0:120            Constant:
+0:120              0 (const int)
+0:121      move second child to first child ( temp 2-component vector of int)
+0:121        vector swizzle ( temp 2-component vector of int)
+0:121          i: direct index for structure ( temp 4-component vector of int)
+0:121            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:121                Constant:
+0:121                  0 (const uint)
+0:121              direct index ( temp uint)
+0:121                'dti' ( in 3-component vector of uint)
+0:121                Constant:
+0:121                  0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121        subgroupQuadSwapVertical ( temp 2-component vector of int)
+0:121          vector swizzle ( temp 2-component vector of int)
+0:121            i: direct index for structure ( temp 4-component vector of int)
+0:121              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:121                  Constant:
+0:121                    0 (const uint)
+0:121                direct index ( temp uint)
+0:121                  'dti' ( in 3-component vector of uint)
+0:121                  Constant:
+0:121                    0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:122      move second child to first child ( temp 3-component vector of int)
+0:122        vector swizzle ( temp 3-component vector of int)
+0:122          i: direct index for structure ( temp 4-component vector of int)
+0:122            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:122                Constant:
+0:122                  0 (const uint)
+0:122              direct index ( temp uint)
+0:122                'dti' ( in 3-component vector of uint)
+0:122                Constant:
+0:122                  0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122          Sequence
+0:122            Constant:
+0:122              0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122        subgroupQuadSwapVertical ( temp 3-component vector of int)
+0:122          vector swizzle ( temp 3-component vector of int)
+0:122            i: direct index for structure ( temp 4-component vector of int)
+0:122              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:122                  Constant:
+0:122                    0 (const uint)
+0:122                direct index ( temp uint)
+0:122                  'dti' ( in 3-component vector of uint)
+0:122                  Constant:
+0:122                    0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122            Sequence
+0:122              Constant:
+0:122                0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122              Constant:
+0:122                2 (const int)
+0:124      move second child to first child ( temp 4-component vector of float)
+0:124        f: direct index for structure ( temp 4-component vector of float)
+0:124          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:124            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:124              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:124              Constant:
+0:124                0 (const uint)
+0:124            direct index ( temp uint)
+0:124              'dti' ( in 3-component vector of uint)
+0:124              Constant:
+0:124                0 (const int)
+0:124          Constant:
+0:124            2 (const int)
+0:124        subgroupQuadSwapVertical ( temp 4-component vector of float)
+0:124          f: direct index for structure ( temp 4-component vector of float)
+0:124            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:124              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:124                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:124                Constant:
+0:124                  0 (const uint)
+0:124              direct index ( temp uint)
+0:124                'dti' ( in 3-component vector of uint)
+0:124                Constant:
+0:124                  0 (const int)
+0:124            Constant:
+0:124              2 (const int)
+0:125      move second child to first child ( temp float)
+0:125        direct index ( temp float)
+0:125          f: direct index for structure ( temp 4-component vector of float)
+0:125            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:125              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:125                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:125                Constant:
+0:125                  0 (const uint)
+0:125              direct index ( temp uint)
+0:125                'dti' ( in 3-component vector of uint)
+0:125                Constant:
+0:125                  0 (const int)
+0:125            Constant:
+0:125              2 (const int)
+0:125          Constant:
+0:125            0 (const int)
+0:125        subgroupQuadSwapVertical ( temp float)
+0:125          direct index ( temp float)
+0:125            f: direct index for structure ( temp 4-component vector of float)
+0:125              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:125                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:125                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:125                  Constant:
+0:125                    0 (const uint)
+0:125                direct index ( temp uint)
+0:125                  'dti' ( in 3-component vector of uint)
+0:125                  Constant:
+0:125                    0 (const int)
+0:125              Constant:
+0:125                2 (const int)
+0:125            Constant:
+0:125              0 (const int)
+0:126      move second child to first child ( temp 2-component vector of float)
+0:126        vector swizzle ( temp 2-component vector of float)
+0:126          f: direct index for structure ( temp 4-component vector of float)
+0:126            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:126              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:126                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:126                Constant:
+0:126                  0 (const uint)
+0:126              direct index ( temp uint)
+0:126                'dti' ( in 3-component vector of uint)
+0:126                Constant:
+0:126                  0 (const int)
+0:126            Constant:
+0:126              2 (const int)
+0:126          Sequence
+0:126            Constant:
+0:126              0 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126        subgroupQuadSwapVertical ( temp 2-component vector of float)
+0:126          vector swizzle ( temp 2-component vector of float)
+0:126            f: direct index for structure ( temp 4-component vector of float)
+0:126              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:126                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:126                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:126                  Constant:
+0:126                    0 (const uint)
+0:126                direct index ( temp uint)
+0:126                  'dti' ( in 3-component vector of uint)
+0:126                  Constant:
+0:126                    0 (const int)
+0:126              Constant:
+0:126                2 (const int)
+0:126            Sequence
+0:126              Constant:
+0:126                0 (const int)
+0:126              Constant:
+0:126                1 (const int)
+0:127      move second child to first child ( temp 3-component vector of float)
+0:127        vector swizzle ( temp 3-component vector of float)
+0:127          f: direct index for structure ( temp 4-component vector of float)
+0:127            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:127              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:127                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:127                Constant:
+0:127                  0 (const uint)
+0:127              direct index ( temp uint)
+0:127                'dti' ( in 3-component vector of uint)
+0:127                Constant:
+0:127                  0 (const int)
+0:127            Constant:
+0:127              2 (const int)
+0:127          Sequence
+0:127            Constant:
+0:127              0 (const int)
+0:127            Constant:
+0:127              1 (const int)
+0:127            Constant:
+0:127              2 (const int)
+0:127        subgroupQuadSwapVertical ( temp 3-component vector of float)
+0:127          vector swizzle ( temp 3-component vector of float)
+0:127            f: direct index for structure ( temp 4-component vector of float)
+0:127              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:127                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:127                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:127                  Constant:
+0:127                    0 (const uint)
+0:127                direct index ( temp uint)
+0:127                  'dti' ( in 3-component vector of uint)
+0:127                  Constant:
+0:127                    0 (const int)
+0:127              Constant:
+0:127                2 (const int)
+0:127            Sequence
+0:127              Constant:
+0:127                0 (const int)
+0:127              Constant:
+0:127                1 (const int)
+0:127              Constant:
+0:127                2 (const int)
+0:129      move second child to first child ( temp 4-component vector of double)
+0:129        d: direct index for structure ( temp 4-component vector of double)
+0:129          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:129            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:129              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:129              Constant:
+0:129                0 (const uint)
+0:129            direct index ( temp uint)
+0:129              'dti' ( in 3-component vector of uint)
+0:129              Constant:
+0:129                0 (const int)
+0:129          Constant:
+0:129            3 (const int)
+0:129        subgroupQuadSwapVertical ( temp 4-component vector of double)
+0:129          d: direct index for structure ( temp 4-component vector of double)
+0:129            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:129              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:129                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:129                Constant:
+0:129                  0 (const uint)
+0:129              direct index ( temp uint)
+0:129                'dti' ( in 3-component vector of uint)
+0:129                Constant:
+0:129                  0 (const int)
+0:129            Constant:
+0:129              3 (const int)
+0:130      move second child to first child ( temp double)
+0:130        direct index ( temp double)
+0:130          d: direct index for structure ( temp 4-component vector of double)
+0:130            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:130              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:130                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:130                Constant:
+0:130                  0 (const uint)
+0:130              direct index ( temp uint)
+0:130                'dti' ( in 3-component vector of uint)
+0:130                Constant:
+0:130                  0 (const int)
+0:130            Constant:
+0:130              3 (const int)
+0:130          Constant:
+0:130            0 (const int)
+0:130        subgroupQuadSwapVertical ( temp double)
+0:130          direct index ( temp double)
+0:130            d: direct index for structure ( temp 4-component vector of double)
+0:130              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:130                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:130                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:130                  Constant:
+0:130                    0 (const uint)
+0:130                direct index ( temp uint)
+0:130                  'dti' ( in 3-component vector of uint)
+0:130                  Constant:
+0:130                    0 (const int)
+0:130              Constant:
+0:130                3 (const int)
+0:130            Constant:
+0:130              0 (const int)
+0:131      move second child to first child ( temp 2-component vector of double)
+0:131        vector swizzle ( temp 2-component vector of double)
+0:131          d: direct index for structure ( temp 4-component vector of double)
+0:131            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:131              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:131                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:131                Constant:
+0:131                  0 (const uint)
+0:131              direct index ( temp uint)
+0:131                'dti' ( in 3-component vector of uint)
+0:131                Constant:
+0:131                  0 (const int)
+0:131            Constant:
+0:131              3 (const int)
+0:131          Sequence
+0:131            Constant:
+0:131              0 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131        subgroupQuadSwapVertical ( temp 2-component vector of double)
+0:131          vector swizzle ( temp 2-component vector of double)
+0:131            d: direct index for structure ( temp 4-component vector of double)
+0:131              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:131                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:131                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:131                  Constant:
+0:131                    0 (const uint)
+0:131                direct index ( temp uint)
+0:131                  'dti' ( in 3-component vector of uint)
+0:131                  Constant:
+0:131                    0 (const int)
+0:131              Constant:
+0:131                3 (const int)
+0:131            Sequence
+0:131              Constant:
+0:131                0 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:132      move second child to first child ( temp 3-component vector of double)
+0:132        vector swizzle ( temp 3-component vector of double)
+0:132          d: direct index for structure ( temp 4-component vector of double)
+0:132            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:132              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:132                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:132                Constant:
+0:132                  0 (const uint)
+0:132              direct index ( temp uint)
+0:132                'dti' ( in 3-component vector of uint)
+0:132                Constant:
+0:132                  0 (const int)
+0:132            Constant:
+0:132              3 (const int)
+0:132          Sequence
+0:132            Constant:
+0:132              0 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132            Constant:
+0:132              2 (const int)
+0:132        subgroupQuadSwapVertical ( temp 3-component vector of double)
+0:132          vector swizzle ( temp 3-component vector of double)
+0:132            d: direct index for structure ( temp 4-component vector of double)
+0:132              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:132                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:132                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:132                  Constant:
+0:132                    0 (const uint)
+0:132                direct index ( temp uint)
+0:132                  'dti' ( in 3-component vector of uint)
+0:132                  Constant:
+0:132                    0 (const int)
+0:132              Constant:
+0:132                3 (const int)
+0:132            Sequence
+0:132              Constant:
+0:132                0 (const int)
+0:132              Constant:
+0:132                1 (const int)
+0:132              Constant:
+0:132                2 (const int)
+0:13  Function Definition: CSMain( ( temp void)
+0:13    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:13      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:13  Function Definition: @CSMain(vu3; ( temp void)
+0:13    Function Parameters: 
+0:13      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:14      move second child to first child ( temp 4-component vector of uint)
+0:14        u: direct index for structure ( temp 4-component vector of uint)
+0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14              Constant:
+0:14                0 (const uint)
+0:14            direct index ( temp uint)
+0:14              'dti' ( in 3-component vector of uint)
+0:14              Constant:
+0:14                0 (const int)
+0:14          Constant:
+0:14            0 (const int)
+0:14        subgroupQuadBroadcast ( temp 4-component vector of uint)
+0:14          u: direct index for structure ( temp 4-component vector of uint)
+0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14                Constant:
+0:14                  0 (const uint)
+0:14              direct index ( temp uint)
+0:14                'dti' ( in 3-component vector of uint)
+0:14                Constant:
+0:14                  0 (const int)
+0:14            Constant:
+0:14              0 (const int)
+0:14          Constant:
+0:14            0 (const uint)
+0:15      move second child to first child ( temp uint)
+0:15        direct index ( temp uint)
+0:15          u: direct index for structure ( temp 4-component vector of uint)
+0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                Constant:
+0:15                  0 (const uint)
+0:15              direct index ( temp uint)
+0:15                'dti' ( in 3-component vector of uint)
+0:15                Constant:
+0:15                  0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const int)
+0:15        subgroupQuadBroadcast ( temp uint)
+0:15          direct index ( temp uint)
+0:15            u: direct index for structure ( temp 4-component vector of uint)
+0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                  Constant:
+0:15                    0 (const uint)
+0:15                direct index ( temp uint)
+0:15                  'dti' ( in 3-component vector of uint)
+0:15                  Constant:
+0:15                    0 (const int)
+0:15              Constant:
+0:15                0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const uint)
+0:16      move second child to first child ( temp 2-component vector of uint)
+0:16        vector swizzle ( temp 2-component vector of uint)
+0:16          u: direct index for structure ( temp 4-component vector of uint)
+0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                Constant:
+0:16                  0 (const uint)
+0:16              direct index ( temp uint)
+0:16                'dti' ( in 3-component vector of uint)
+0:16                Constant:
+0:16                  0 (const int)
+0:16            Constant:
+0:16              0 (const int)
+0:16          Sequence
+0:16            Constant:
+0:16              0 (const int)
+0:16            Constant:
+0:16              1 (const int)
+0:16        subgroupQuadBroadcast ( temp 2-component vector of uint)
+0:16          vector swizzle ( temp 2-component vector of uint)
+0:16            u: direct index for structure ( temp 4-component vector of uint)
+0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                  Constant:
+0:16                    0 (const uint)
+0:16                direct index ( temp uint)
+0:16                  'dti' ( in 3-component vector of uint)
+0:16                  Constant:
+0:16                    0 (const int)
+0:16              Constant:
+0:16                0 (const int)
+0:16            Sequence
+0:16              Constant:
+0:16                0 (const int)
+0:16              Constant:
+0:16                1 (const int)
+0:16          Constant:
+0:16            0 (const uint)
+0:17      move second child to first child ( temp 3-component vector of uint)
+0:17        vector swizzle ( temp 3-component vector of uint)
+0:17          u: direct index for structure ( temp 4-component vector of uint)
+0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                Constant:
+0:17                  0 (const uint)
+0:17              direct index ( temp uint)
+0:17                'dti' ( in 3-component vector of uint)
+0:17                Constant:
+0:17                  0 (const int)
+0:17            Constant:
+0:17              0 (const int)
+0:17          Sequence
+0:17            Constant:
+0:17              0 (const int)
+0:17            Constant:
+0:17              1 (const int)
+0:17            Constant:
+0:17              2 (const int)
+0:17        subgroupQuadBroadcast ( temp 3-component vector of uint)
+0:17          vector swizzle ( temp 3-component vector of uint)
+0:17            u: direct index for structure ( temp 4-component vector of uint)
+0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                  Constant:
+0:17                    0 (const uint)
+0:17                direct index ( temp uint)
+0:17                  'dti' ( in 3-component vector of uint)
+0:17                  Constant:
+0:17                    0 (const int)
+0:17              Constant:
+0:17                0 (const int)
+0:17            Sequence
+0:17              Constant:
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:17              Constant:
+0:17                2 (const int)
+0:17          Constant:
+0:17            0 (const uint)
+0:19      move second child to first child ( temp 4-component vector of int)
+0:19        i: direct index for structure ( temp 4-component vector of int)
+0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            direct index ( temp uint)
+0:19              'dti' ( in 3-component vector of uint)
+0:19              Constant:
+0:19                0 (const int)
+0:19          Constant:
+0:19            1 (const int)
+0:19        subgroupQuadBroadcast ( temp 4-component vector of int)
+0:19          i: direct index for structure ( temp 4-component vector of int)
+0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19                Constant:
+0:19                  0 (const uint)
+0:19              direct index ( temp uint)
+0:19                'dti' ( in 3-component vector of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:19          Constant:
+0:19            0 (const uint)
+0:20      move second child to first child ( temp int)
+0:20        direct index ( temp int)
+0:20          i: direct index for structure ( temp 4-component vector of int)
+0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                Constant:
+0:20                  0 (const uint)
+0:20              direct index ( temp uint)
+0:20                'dti' ( in 3-component vector of uint)
+0:20                Constant:
+0:20                  0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        subgroupQuadBroadcast ( temp int)
+0:20          direct index ( temp int)
+0:20            i: direct index for structure ( temp 4-component vector of int)
+0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                  Constant:
+0:20                    0 (const uint)
+0:20                direct index ( temp uint)
+0:20                  'dti' ( in 3-component vector of uint)
+0:20                  Constant:
+0:20                    0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:20          Constant:
+0:20            0 (const uint)
+0:21      move second child to first child ( temp 2-component vector of int)
+0:21        vector swizzle ( temp 2-component vector of int)
+0:21          i: direct index for structure ( temp 4-component vector of int)
+0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                Constant:
+0:21                  0 (const uint)
+0:21              direct index ( temp uint)
+0:21                'dti' ( in 3-component vector of uint)
+0:21                Constant:
+0:21                  0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupQuadBroadcast ( temp 2-component vector of int)
+0:21          vector swizzle ( temp 2-component vector of int)
+0:21            i: direct index for structure ( temp 4-component vector of int)
+0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                  Constant:
+0:21                    0 (const uint)
+0:21                direct index ( temp uint)
+0:21                  'dti' ( in 3-component vector of uint)
+0:21                  Constant:
+0:21                    0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21          Constant:
+0:21            0 (const uint)
+0:22      move second child to first child ( temp 3-component vector of int)
+0:22        vector swizzle ( temp 3-component vector of int)
+0:22          i: direct index for structure ( temp 4-component vector of int)
+0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                Constant:
+0:22                  0 (const uint)
+0:22              direct index ( temp uint)
+0:22                'dti' ( in 3-component vector of uint)
+0:22                Constant:
+0:22                  0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22            Constant:
+0:22              2 (const int)
+0:22        subgroupQuadBroadcast ( temp 3-component vector of int)
+0:22          vector swizzle ( temp 3-component vector of int)
+0:22            i: direct index for structure ( temp 4-component vector of int)
+0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                  Constant:
+0:22                    0 (const uint)
+0:22                direct index ( temp uint)
+0:22                  'dti' ( in 3-component vector of uint)
+0:22                  Constant:
+0:22                    0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:22          Constant:
+0:22            0 (const uint)
+0:24      move second child to first child ( temp 4-component vector of float)
+0:24        f: direct index for structure ( temp 4-component vector of float)
+0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24              Constant:
+0:24                0 (const uint)
+0:24            direct index ( temp uint)
+0:24              'dti' ( in 3-component vector of uint)
+0:24              Constant:
+0:24                0 (const int)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupQuadBroadcast ( temp 4-component vector of float)
+0:24          f: direct index for structure ( temp 4-component vector of float)
+0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24                Constant:
+0:24                  0 (const uint)
+0:24              direct index ( temp uint)
+0:24                'dti' ( in 3-component vector of uint)
+0:24                Constant:
+0:24                  0 (const int)
+0:24            Constant:
+0:24              2 (const int)
+0:24          Constant:
+0:24            0 (const uint)
+0:25      move second child to first child ( temp float)
+0:25        direct index ( temp float)
+0:25          f: direct index for structure ( temp 4-component vector of float)
+0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                Constant:
+0:25                  0 (const uint)
+0:25              direct index ( temp uint)
+0:25                'dti' ( in 3-component vector of uint)
+0:25                Constant:
+0:25                  0 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25          Constant:
+0:25            0 (const int)
+0:25        subgroupQuadBroadcast ( temp float)
+0:25          direct index ( temp float)
+0:25            f: direct index for structure ( temp 4-component vector of float)
+0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                  Constant:
+0:25                    0 (const uint)
+0:25                direct index ( temp uint)
+0:25                  'dti' ( in 3-component vector of uint)
+0:25                  Constant:
+0:25                    0 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:25          Constant:
+0:25            0 (const uint)
+0:26      move second child to first child ( temp 2-component vector of float)
+0:26        vector swizzle ( temp 2-component vector of float)
+0:26          f: direct index for structure ( temp 4-component vector of float)
+0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26              direct index ( temp uint)
+0:26                'dti' ( in 3-component vector of uint)
+0:26                Constant:
+0:26                  0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupQuadBroadcast ( temp 2-component vector of float)
+0:26          vector swizzle ( temp 2-component vector of float)
+0:26            f: direct index for structure ( temp 4-component vector of float)
+0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                  Constant:
+0:26                    0 (const uint)
+0:26                direct index ( temp uint)
+0:26                  'dti' ( in 3-component vector of uint)
+0:26                  Constant:
+0:26                    0 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:26          Constant:
+0:26            0 (const uint)
+0:27      move second child to first child ( temp 3-component vector of float)
+0:27        vector swizzle ( temp 3-component vector of float)
+0:27          f: direct index for structure ( temp 4-component vector of float)
+0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                Constant:
+0:27                  0 (const uint)
+0:27              direct index ( temp uint)
+0:27                'dti' ( in 3-component vector of uint)
+0:27                Constant:
+0:27                  0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupQuadBroadcast ( temp 3-component vector of float)
+0:27          vector swizzle ( temp 3-component vector of float)
+0:27            f: direct index for structure ( temp 4-component vector of float)
+0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                  Constant:
+0:27                    0 (const uint)
+0:27                direct index ( temp uint)
+0:27                  'dti' ( in 3-component vector of uint)
+0:27                  Constant:
+0:27                    0 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27          Constant:
+0:27            0 (const uint)
+0:29      move second child to first child ( temp 4-component vector of double)
+0:29        d: direct index for structure ( temp 4-component vector of double)
+0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29              Constant:
+0:29                0 (const uint)
+0:29            direct index ( temp uint)
+0:29              'dti' ( in 3-component vector of uint)
+0:29              Constant:
+0:29                0 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        subgroupQuadBroadcast ( temp 4-component vector of double)
+0:29          d: direct index for structure ( temp 4-component vector of double)
+0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29                Constant:
+0:29                  0 (const uint)
+0:29              direct index ( temp uint)
+0:29                'dti' ( in 3-component vector of uint)
+0:29                Constant:
+0:29                  0 (const int)
+0:29            Constant:
+0:29              3 (const int)
+0:29          Constant:
+0:29            0 (const uint)
+0:30      move second child to first child ( temp double)
+0:30        direct index ( temp double)
+0:30          d: direct index for structure ( temp 4-component vector of double)
+0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                Constant:
+0:30                  0 (const uint)
+0:30              direct index ( temp uint)
+0:30                'dti' ( in 3-component vector of uint)
+0:30                Constant:
+0:30                  0 (const int)
+0:30            Constant:
+0:30              3 (const int)
+0:30          Constant:
+0:30            0 (const int)
+0:30        subgroupQuadBroadcast ( temp double)
+0:30          direct index ( temp double)
+0:30            d: direct index for structure ( temp 4-component vector of double)
+0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                  Constant:
+0:30                    0 (const uint)
+0:30                direct index ( temp uint)
+0:30                  'dti' ( in 3-component vector of uint)
+0:30                  Constant:
+0:30                    0 (const int)
+0:30              Constant:
+0:30                3 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:30          Constant:
+0:30            0 (const uint)
+0:31      move second child to first child ( temp 2-component vector of double)
+0:31        vector swizzle ( temp 2-component vector of double)
+0:31          d: direct index for structure ( temp 4-component vector of double)
+0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                Constant:
+0:31                  0 (const uint)
+0:31              direct index ( temp uint)
+0:31                'dti' ( in 3-component vector of uint)
+0:31                Constant:
+0:31                  0 (const int)
+0:31            Constant:
+0:31              3 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31        subgroupQuadBroadcast ( temp 2-component vector of double)
+0:31          vector swizzle ( temp 2-component vector of double)
+0:31            d: direct index for structure ( temp 4-component vector of double)
+0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                  Constant:
+0:31                    0 (const uint)
+0:31                direct index ( temp uint)
+0:31                  'dti' ( in 3-component vector of uint)
+0:31                  Constant:
+0:31                    0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:31          Constant:
+0:31            0 (const uint)
+0:32      move second child to first child ( temp 3-component vector of double)
+0:32        vector swizzle ( temp 3-component vector of double)
+0:32          d: direct index for structure ( temp 4-component vector of double)
+0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                Constant:
+0:32                  0 (const uint)
+0:32              direct index ( temp uint)
+0:32                'dti' ( in 3-component vector of uint)
+0:32                Constant:
+0:32                  0 (const int)
+0:32            Constant:
+0:32              3 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32        subgroupQuadBroadcast ( temp 3-component vector of double)
+0:32          vector swizzle ( temp 3-component vector of double)
+0:32            d: direct index for structure ( temp 4-component vector of double)
+0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                  Constant:
+0:32                    0 (const uint)
+0:32                direct index ( temp uint)
+0:32                  'dti' ( in 3-component vector of uint)
+0:32                  Constant:
+0:32                    0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:32          Constant:
+0:32            0 (const uint)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u: direct index for structure ( temp 4-component vector of uint)
+0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34              Constant:
+0:34                0 (const uint)
+0:34            direct index ( temp uint)
+0:34              'dti' ( in 3-component vector of uint)
+0:34              Constant:
+0:34                0 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupQuadBroadcast ( temp 4-component vector of uint)
+0:34          u: direct index for structure ( temp 4-component vector of uint)
+0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34                Constant:
+0:34                  0 (const uint)
+0:34              direct index ( temp uint)
+0:34                'dti' ( in 3-component vector of uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:34          Constant:
+0:34            1 (const uint)
+0:35      move second child to first child ( temp uint)
+0:35        direct index ( temp uint)
+0:35          u: direct index for structure ( temp 4-component vector of uint)
+0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                Constant:
+0:35                  0 (const uint)
+0:35              direct index ( temp uint)
+0:35                'dti' ( in 3-component vector of uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            0 (const int)
+0:35        subgroupQuadBroadcast ( temp uint)
+0:35          direct index ( temp uint)
+0:35            u: direct index for structure ( temp 4-component vector of uint)
+0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                  Constant:
+0:35                    0 (const uint)
+0:35                direct index ( temp uint)
+0:35                  'dti' ( in 3-component vector of uint)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            1 (const uint)
+0:36      move second child to first child ( temp 2-component vector of uint)
+0:36        vector swizzle ( temp 2-component vector of uint)
+0:36          u: direct index for structure ( temp 4-component vector of uint)
+0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                Constant:
+0:36                  0 (const uint)
+0:36              direct index ( temp uint)
+0:36                'dti' ( in 3-component vector of uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36        subgroupQuadBroadcast ( temp 2-component vector of uint)
+0:36          vector swizzle ( temp 2-component vector of uint)
+0:36            u: direct index for structure ( temp 4-component vector of uint)
+0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                  Constant:
+0:36                    0 (const uint)
+0:36                direct index ( temp uint)
+0:36                  'dti' ( in 3-component vector of uint)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:36          Constant:
+0:36            1 (const uint)
+0:37      move second child to first child ( temp 3-component vector of uint)
+0:37        vector swizzle ( temp 3-component vector of uint)
+0:37          u: direct index for structure ( temp 4-component vector of uint)
+0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                Constant:
+0:37                  0 (const uint)
+0:37              direct index ( temp uint)
+0:37                'dti' ( in 3-component vector of uint)
+0:37                Constant:
+0:37                  0 (const int)
+0:37            Constant:
+0:37              0 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37            Constant:
+0:37              2 (const int)
+0:37        subgroupQuadBroadcast ( temp 3-component vector of uint)
+0:37          vector swizzle ( temp 3-component vector of uint)
+0:37            u: direct index for structure ( temp 4-component vector of uint)
+0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                  Constant:
+0:37                    0 (const uint)
+0:37                direct index ( temp uint)
+0:37                  'dti' ( in 3-component vector of uint)
+0:37                  Constant:
+0:37                    0 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              Constant:
+0:37                2 (const int)
+0:37          Constant:
+0:37            1 (const uint)
+0:39      move second child to first child ( temp 4-component vector of int)
+0:39        i: direct index for structure ( temp 4-component vector of int)
+0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39              Constant:
+0:39                0 (const uint)
+0:39            direct index ( temp uint)
+0:39              'dti' ( in 3-component vector of uint)
+0:39              Constant:
+0:39                0 (const int)
+0:39          Constant:
+0:39            1 (const int)
+0:39        subgroupQuadBroadcast ( temp 4-component vector of int)
+0:39          i: direct index for structure ( temp 4-component vector of int)
+0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39                Constant:
+0:39                  0 (const uint)
+0:39              direct index ( temp uint)
+0:39                'dti' ( in 3-component vector of uint)
+0:39                Constant:
+0:39                  0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          Constant:
+0:39            1 (const uint)
+0:40      move second child to first child ( temp int)
+0:40        direct index ( temp int)
+0:40          i: direct index for structure ( temp 4-component vector of int)
+0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                Constant:
+0:40                  0 (const uint)
+0:40              direct index ( temp uint)
+0:40                'dti' ( in 3-component vector of uint)
+0:40                Constant:
+0:40                  0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        subgroupQuadBroadcast ( temp int)
+0:40          direct index ( temp int)
+0:40            i: direct index for structure ( temp 4-component vector of int)
+0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                  Constant:
+0:40                    0 (const uint)
+0:40                direct index ( temp uint)
+0:40                  'dti' ( in 3-component vector of uint)
+0:40                  Constant:
+0:40                    0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:40          Constant:
+0:40            1 (const uint)
+0:41      move second child to first child ( temp 2-component vector of int)
+0:41        vector swizzle ( temp 2-component vector of int)
+0:41          i: direct index for structure ( temp 4-component vector of int)
+0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                Constant:
+0:41                  0 (const uint)
+0:41              direct index ( temp uint)
+0:41                'dti' ( in 3-component vector of uint)
+0:41                Constant:
+0:41                  0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        subgroupQuadBroadcast ( temp 2-component vector of int)
+0:41          vector swizzle ( temp 2-component vector of int)
+0:41            i: direct index for structure ( temp 4-component vector of int)
+0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                  Constant:
+0:41                    0 (const uint)
+0:41                direct index ( temp uint)
+0:41                  'dti' ( in 3-component vector of uint)
+0:41                  Constant:
+0:41                    0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41          Constant:
+0:41            1 (const uint)
+0:42      move second child to first child ( temp 3-component vector of int)
+0:42        vector swizzle ( temp 3-component vector of int)
+0:42          i: direct index for structure ( temp 4-component vector of int)
+0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                Constant:
+0:42                  0 (const uint)
+0:42              direct index ( temp uint)
+0:42                'dti' ( in 3-component vector of uint)
+0:42                Constant:
+0:42                  0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        subgroupQuadBroadcast ( temp 3-component vector of int)
+0:42          vector swizzle ( temp 3-component vector of int)
+0:42            i: direct index for structure ( temp 4-component vector of int)
+0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                  Constant:
+0:42                    0 (const uint)
+0:42                direct index ( temp uint)
+0:42                  'dti' ( in 3-component vector of uint)
+0:42                  Constant:
+0:42                    0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:42          Constant:
+0:42            1 (const uint)
+0:44      move second child to first child ( temp 4-component vector of float)
+0:44        f: direct index for structure ( temp 4-component vector of float)
+0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44              Constant:
+0:44                0 (const uint)
+0:44            direct index ( temp uint)
+0:44              'dti' ( in 3-component vector of uint)
+0:44              Constant:
+0:44                0 (const int)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupQuadBroadcast ( temp 4-component vector of float)
+0:44          f: direct index for structure ( temp 4-component vector of float)
+0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44                Constant:
+0:44                  0 (const uint)
+0:44              direct index ( temp uint)
+0:44                'dti' ( in 3-component vector of uint)
+0:44                Constant:
+0:44                  0 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:44          Constant:
+0:44            1 (const uint)
+0:45      move second child to first child ( temp float)
+0:45        direct index ( temp float)
+0:45          f: direct index for structure ( temp 4-component vector of float)
+0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                Constant:
+0:45                  0 (const uint)
+0:45              direct index ( temp uint)
+0:45                'dti' ( in 3-component vector of uint)
+0:45                Constant:
+0:45                  0 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        subgroupQuadBroadcast ( temp float)
+0:45          direct index ( temp float)
+0:45            f: direct index for structure ( temp 4-component vector of float)
+0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                  Constant:
+0:45                    0 (const uint)
+0:45                direct index ( temp uint)
+0:45                  'dti' ( in 3-component vector of uint)
+0:45                  Constant:
+0:45                    0 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:45          Constant:
+0:45            1 (const uint)
+0:46      move second child to first child ( temp 2-component vector of float)
+0:46        vector swizzle ( temp 2-component vector of float)
+0:46          f: direct index for structure ( temp 4-component vector of float)
+0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                Constant:
+0:46                  0 (const uint)
+0:46              direct index ( temp uint)
+0:46                'dti' ( in 3-component vector of uint)
+0:46                Constant:
+0:46                  0 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        subgroupQuadBroadcast ( temp 2-component vector of float)
+0:46          vector swizzle ( temp 2-component vector of float)
+0:46            f: direct index for structure ( temp 4-component vector of float)
+0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46                direct index ( temp uint)
+0:46                  'dti' ( in 3-component vector of uint)
+0:46                  Constant:
+0:46                    0 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:46          Constant:
+0:46            1 (const uint)
+0:47      move second child to first child ( temp 3-component vector of float)
+0:47        vector swizzle ( temp 3-component vector of float)
+0:47          f: direct index for structure ( temp 4-component vector of float)
+0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                Constant:
+0:47                  0 (const uint)
+0:47              direct index ( temp uint)
+0:47                'dti' ( in 3-component vector of uint)
+0:47                Constant:
+0:47                  0 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        subgroupQuadBroadcast ( temp 3-component vector of float)
+0:47          vector swizzle ( temp 3-component vector of float)
+0:47            f: direct index for structure ( temp 4-component vector of float)
+0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                  Constant:
+0:47                    0 (const uint)
+0:47                direct index ( temp uint)
+0:47                  'dti' ( in 3-component vector of uint)
+0:47                  Constant:
+0:47                    0 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47          Constant:
+0:47            1 (const uint)
+0:49      move second child to first child ( temp 4-component vector of double)
+0:49        d: direct index for structure ( temp 4-component vector of double)
+0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49              Constant:
+0:49                0 (const uint)
+0:49            direct index ( temp uint)
+0:49              'dti' ( in 3-component vector of uint)
+0:49              Constant:
+0:49                0 (const int)
+0:49          Constant:
+0:49            3 (const int)
+0:49        subgroupQuadBroadcast ( temp 4-component vector of double)
+0:49          d: direct index for structure ( temp 4-component vector of double)
+0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49                Constant:
+0:49                  0 (const uint)
+0:49              direct index ( temp uint)
+0:49                'dti' ( in 3-component vector of uint)
+0:49                Constant:
+0:49                  0 (const int)
+0:49            Constant:
+0:49              3 (const int)
+0:49          Constant:
+0:49            1 (const uint)
+0:50      move second child to first child ( temp double)
+0:50        direct index ( temp double)
+0:50          d: direct index for structure ( temp 4-component vector of double)
+0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                Constant:
+0:50                  0 (const uint)
+0:50              direct index ( temp uint)
+0:50                'dti' ( in 3-component vector of uint)
+0:50                Constant:
+0:50                  0 (const int)
+0:50            Constant:
+0:50              3 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        subgroupQuadBroadcast ( temp double)
+0:50          direct index ( temp double)
+0:50            d: direct index for structure ( temp 4-component vector of double)
+0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                  Constant:
+0:50                    0 (const uint)
+0:50                direct index ( temp uint)
+0:50                  'dti' ( in 3-component vector of uint)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:50          Constant:
+0:50            1 (const uint)
+0:51      move second child to first child ( temp 2-component vector of double)
+0:51        vector swizzle ( temp 2-component vector of double)
+0:51          d: direct index for structure ( temp 4-component vector of double)
+0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                Constant:
+0:51                  0 (const uint)
+0:51              direct index ( temp uint)
+0:51                'dti' ( in 3-component vector of uint)
+0:51                Constant:
+0:51                  0 (const int)
+0:51            Constant:
+0:51              3 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        subgroupQuadBroadcast ( temp 2-component vector of double)
+0:51          vector swizzle ( temp 2-component vector of double)
+0:51            d: direct index for structure ( temp 4-component vector of double)
+0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                  Constant:
+0:51                    0 (const uint)
+0:51                direct index ( temp uint)
+0:51                  'dti' ( in 3-component vector of uint)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51              Constant:
+0:51                3 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:51          Constant:
+0:51            1 (const uint)
+0:52      move second child to first child ( temp 3-component vector of double)
+0:52        vector swizzle ( temp 3-component vector of double)
+0:52          d: direct index for structure ( temp 4-component vector of double)
+0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                Constant:
+0:52                  0 (const uint)
+0:52              direct index ( temp uint)
+0:52                'dti' ( in 3-component vector of uint)
+0:52                Constant:
+0:52                  0 (const int)
+0:52            Constant:
+0:52              3 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        subgroupQuadBroadcast ( temp 3-component vector of double)
+0:52          vector swizzle ( temp 3-component vector of double)
+0:52            d: direct index for structure ( temp 4-component vector of double)
+0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                  Constant:
+0:52                    0 (const uint)
+0:52                direct index ( temp uint)
+0:52                  'dti' ( in 3-component vector of uint)
+0:52                  Constant:
+0:52                    0 (const int)
+0:52              Constant:
+0:52                3 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:52          Constant:
+0:52            1 (const uint)
+0:54      move second child to first child ( temp 4-component vector of uint)
+0:54        u: direct index for structure ( temp 4-component vector of uint)
+0:54          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:54              Constant:
+0:54                0 (const uint)
+0:54            direct index ( temp uint)
+0:54              'dti' ( in 3-component vector of uint)
+0:54              Constant:
+0:54                0 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupQuadBroadcast ( temp 4-component vector of uint)
+0:54          u: direct index for structure ( temp 4-component vector of uint)
+0:54            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:54                Constant:
+0:54                  0 (const uint)
+0:54              direct index ( temp uint)
+0:54                'dti' ( in 3-component vector of uint)
+0:54                Constant:
+0:54                  0 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:54          Constant:
+0:54            2 (const uint)
+0:55      move second child to first child ( temp uint)
+0:55        direct index ( temp uint)
+0:55          u: direct index for structure ( temp 4-component vector of uint)
+0:55            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:55                Constant:
+0:55                  0 (const uint)
+0:55              direct index ( temp uint)
+0:55                'dti' ( in 3-component vector of uint)
+0:55                Constant:
+0:55                  0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          Constant:
+0:55            0 (const int)
+0:55        subgroupQuadBroadcast ( temp uint)
+0:55          direct index ( temp uint)
+0:55            u: direct index for structure ( temp 4-component vector of uint)
+0:55              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:55                  Constant:
+0:55                    0 (const uint)
+0:55                direct index ( temp uint)
+0:55                  'dti' ( in 3-component vector of uint)
+0:55                  Constant:
+0:55                    0 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          Constant:
+0:55            2 (const uint)
+0:56      move second child to first child ( temp 2-component vector of uint)
+0:56        vector swizzle ( temp 2-component vector of uint)
+0:56          u: direct index for structure ( temp 4-component vector of uint)
+0:56            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:56                Constant:
+0:56                  0 (const uint)
+0:56              direct index ( temp uint)
+0:56                'dti' ( in 3-component vector of uint)
+0:56                Constant:
+0:56                  0 (const int)
+0:56            Constant:
+0:56              0 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56        subgroupQuadBroadcast ( temp 2-component vector of uint)
+0:56          vector swizzle ( temp 2-component vector of uint)
+0:56            u: direct index for structure ( temp 4-component vector of uint)
+0:56              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:56                  Constant:
+0:56                    0 (const uint)
+0:56                direct index ( temp uint)
+0:56                  'dti' ( in 3-component vector of uint)
+0:56                  Constant:
+0:56                    0 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:56          Constant:
+0:56            2 (const uint)
+0:57      move second child to first child ( temp 3-component vector of uint)
+0:57        vector swizzle ( temp 3-component vector of uint)
+0:57          u: direct index for structure ( temp 4-component vector of uint)
+0:57            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:57                Constant:
+0:57                  0 (const uint)
+0:57              direct index ( temp uint)
+0:57                'dti' ( in 3-component vector of uint)
+0:57                Constant:
+0:57                  0 (const int)
+0:57            Constant:
+0:57              0 (const int)
+0:57          Sequence
+0:57            Constant:
+0:57              0 (const int)
+0:57            Constant:
+0:57              1 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57        subgroupQuadBroadcast ( temp 3-component vector of uint)
+0:57          vector swizzle ( temp 3-component vector of uint)
+0:57            u: direct index for structure ( temp 4-component vector of uint)
+0:57              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:57                  Constant:
+0:57                    0 (const uint)
+0:57                direct index ( temp uint)
+0:57                  'dti' ( in 3-component vector of uint)
+0:57                  Constant:
+0:57                    0 (const int)
+0:57              Constant:
+0:57                0 (const int)
+0:57            Sequence
+0:57              Constant:
+0:57                0 (const int)
+0:57              Constant:
+0:57                1 (const int)
+0:57              Constant:
+0:57                2 (const int)
+0:57          Constant:
+0:57            2 (const uint)
+0:59      move second child to first child ( temp 4-component vector of int)
+0:59        i: direct index for structure ( temp 4-component vector of int)
+0:59          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:59              Constant:
+0:59                0 (const uint)
+0:59            direct index ( temp uint)
+0:59              'dti' ( in 3-component vector of uint)
+0:59              Constant:
+0:59                0 (const int)
+0:59          Constant:
+0:59            1 (const int)
+0:59        subgroupQuadBroadcast ( temp 4-component vector of int)
+0:59          i: direct index for structure ( temp 4-component vector of int)
+0:59            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:59                Constant:
+0:59                  0 (const uint)
+0:59              direct index ( temp uint)
+0:59                'dti' ( in 3-component vector of uint)
+0:59                Constant:
+0:59                  0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:59          Constant:
+0:59            2 (const uint)
+0:60      move second child to first child ( temp int)
+0:60        direct index ( temp int)
+0:60          i: direct index for structure ( temp 4-component vector of int)
+0:60            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:60                Constant:
+0:60                  0 (const uint)
+0:60              direct index ( temp uint)
+0:60                'dti' ( in 3-component vector of uint)
+0:60                Constant:
+0:60                  0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60          Constant:
+0:60            0 (const int)
+0:60        subgroupQuadBroadcast ( temp int)
+0:60          direct index ( temp int)
+0:60            i: direct index for structure ( temp 4-component vector of int)
+0:60              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:60                  Constant:
+0:60                    0 (const uint)
+0:60                direct index ( temp uint)
+0:60                  'dti' ( in 3-component vector of uint)
+0:60                  Constant:
+0:60                    0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60            Constant:
+0:60              0 (const int)
+0:60          Constant:
+0:60            2 (const uint)
+0:61      move second child to first child ( temp 2-component vector of int)
+0:61        vector swizzle ( temp 2-component vector of int)
+0:61          i: direct index for structure ( temp 4-component vector of int)
+0:61            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:61                Constant:
+0:61                  0 (const uint)
+0:61              direct index ( temp uint)
+0:61                'dti' ( in 3-component vector of uint)
+0:61                Constant:
+0:61                  0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61        subgroupQuadBroadcast ( temp 2-component vector of int)
+0:61          vector swizzle ( temp 2-component vector of int)
+0:61            i: direct index for structure ( temp 4-component vector of int)
+0:61              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:61                  Constant:
+0:61                    0 (const uint)
+0:61                direct index ( temp uint)
+0:61                  'dti' ( in 3-component vector of uint)
+0:61                  Constant:
+0:61                    0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61          Constant:
+0:61            2 (const uint)
+0:62      move second child to first child ( temp 3-component vector of int)
+0:62        vector swizzle ( temp 3-component vector of int)
+0:62          i: direct index for structure ( temp 4-component vector of int)
+0:62            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:62                Constant:
+0:62                  0 (const uint)
+0:62              direct index ( temp uint)
+0:62                'dti' ( in 3-component vector of uint)
+0:62                Constant:
+0:62                  0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62          Sequence
+0:62            Constant:
+0:62              0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62            Constant:
+0:62              2 (const int)
+0:62        subgroupQuadBroadcast ( temp 3-component vector of int)
+0:62          vector swizzle ( temp 3-component vector of int)
+0:62            i: direct index for structure ( temp 4-component vector of int)
+0:62              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:62                  Constant:
+0:62                    0 (const uint)
+0:62                direct index ( temp uint)
+0:62                  'dti' ( in 3-component vector of uint)
+0:62                  Constant:
+0:62                    0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62            Sequence
+0:62              Constant:
+0:62                0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62              Constant:
+0:62                2 (const int)
+0:62          Constant:
+0:62            2 (const uint)
+0:64      move second child to first child ( temp 4-component vector of float)
+0:64        f: direct index for structure ( temp 4-component vector of float)
+0:64          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:64              Constant:
+0:64                0 (const uint)
+0:64            direct index ( temp uint)
+0:64              'dti' ( in 3-component vector of uint)
+0:64              Constant:
+0:64                0 (const int)
+0:64          Constant:
+0:64            2 (const int)
+0:64        subgroupQuadBroadcast ( temp 4-component vector of float)
+0:64          f: direct index for structure ( temp 4-component vector of float)
+0:64            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:64                Constant:
+0:64                  0 (const uint)
+0:64              direct index ( temp uint)
+0:64                'dti' ( in 3-component vector of uint)
+0:64                Constant:
+0:64                  0 (const int)
+0:64            Constant:
+0:64              2 (const int)
+0:64          Constant:
+0:64            2 (const uint)
+0:65      move second child to first child ( temp float)
+0:65        direct index ( temp float)
+0:65          f: direct index for structure ( temp 4-component vector of float)
+0:65            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:65                Constant:
+0:65                  0 (const uint)
+0:65              direct index ( temp uint)
+0:65                'dti' ( in 3-component vector of uint)
+0:65                Constant:
+0:65                  0 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65          Constant:
+0:65            0 (const int)
+0:65        subgroupQuadBroadcast ( temp float)
+0:65          direct index ( temp float)
+0:65            f: direct index for structure ( temp 4-component vector of float)
+0:65              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:65                  Constant:
+0:65                    0 (const uint)
+0:65                direct index ( temp uint)
+0:65                  'dti' ( in 3-component vector of uint)
+0:65                  Constant:
+0:65                    0 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:65          Constant:
+0:65            2 (const uint)
+0:66      move second child to first child ( temp 2-component vector of float)
+0:66        vector swizzle ( temp 2-component vector of float)
+0:66          f: direct index for structure ( temp 4-component vector of float)
+0:66            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:66                Constant:
+0:66                  0 (const uint)
+0:66              direct index ( temp uint)
+0:66                'dti' ( in 3-component vector of uint)
+0:66                Constant:
+0:66                  0 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66        subgroupQuadBroadcast ( temp 2-component vector of float)
+0:66          vector swizzle ( temp 2-component vector of float)
+0:66            f: direct index for structure ( temp 4-component vector of float)
+0:66              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:66                  Constant:
+0:66                    0 (const uint)
+0:66                direct index ( temp uint)
+0:66                  'dti' ( in 3-component vector of uint)
+0:66                  Constant:
+0:66                    0 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:66          Constant:
+0:66            2 (const uint)
+0:67      move second child to first child ( temp 3-component vector of float)
+0:67        vector swizzle ( temp 3-component vector of float)
+0:67          f: direct index for structure ( temp 4-component vector of float)
+0:67            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:67                Constant:
+0:67                  0 (const uint)
+0:67              direct index ( temp uint)
+0:67                'dti' ( in 3-component vector of uint)
+0:67                Constant:
+0:67                  0 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67          Sequence
+0:67            Constant:
+0:67              0 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67        subgroupQuadBroadcast ( temp 3-component vector of float)
+0:67          vector swizzle ( temp 3-component vector of float)
+0:67            f: direct index for structure ( temp 4-component vector of float)
+0:67              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:67                  Constant:
+0:67                    0 (const uint)
+0:67                direct index ( temp uint)
+0:67                  'dti' ( in 3-component vector of uint)
+0:67                  Constant:
+0:67                    0 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67            Sequence
+0:67              Constant:
+0:67                0 (const int)
+0:67              Constant:
+0:67                1 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67          Constant:
+0:67            2 (const uint)
+0:69      move second child to first child ( temp 4-component vector of double)
+0:69        d: direct index for structure ( temp 4-component vector of double)
+0:69          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:69              Constant:
+0:69                0 (const uint)
+0:69            direct index ( temp uint)
+0:69              'dti' ( in 3-component vector of uint)
+0:69              Constant:
+0:69                0 (const int)
+0:69          Constant:
+0:69            3 (const int)
+0:69        subgroupQuadBroadcast ( temp 4-component vector of double)
+0:69          d: direct index for structure ( temp 4-component vector of double)
+0:69            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:69                Constant:
+0:69                  0 (const uint)
+0:69              direct index ( temp uint)
+0:69                'dti' ( in 3-component vector of uint)
+0:69                Constant:
+0:69                  0 (const int)
+0:69            Constant:
+0:69              3 (const int)
+0:69          Constant:
+0:69            2 (const uint)
+0:70      move second child to first child ( temp double)
+0:70        direct index ( temp double)
+0:70          d: direct index for structure ( temp 4-component vector of double)
+0:70            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:70                Constant:
+0:70                  0 (const uint)
+0:70              direct index ( temp uint)
+0:70                'dti' ( in 3-component vector of uint)
+0:70                Constant:
+0:70                  0 (const int)
+0:70            Constant:
+0:70              3 (const int)
+0:70          Constant:
+0:70            0 (const int)
+0:70        subgroupQuadBroadcast ( temp double)
+0:70          direct index ( temp double)
+0:70            d: direct index for structure ( temp 4-component vector of double)
+0:70              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:70                  Constant:
+0:70                    0 (const uint)
+0:70                direct index ( temp uint)
+0:70                  'dti' ( in 3-component vector of uint)
+0:70                  Constant:
+0:70                    0 (const int)
+0:70              Constant:
+0:70                3 (const int)
+0:70            Constant:
+0:70              0 (const int)
+0:70          Constant:
+0:70            2 (const uint)
+0:71      move second child to first child ( temp 2-component vector of double)
+0:71        vector swizzle ( temp 2-component vector of double)
+0:71          d: direct index for structure ( temp 4-component vector of double)
+0:71            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:71                Constant:
+0:71                  0 (const uint)
+0:71              direct index ( temp uint)
+0:71                'dti' ( in 3-component vector of uint)
+0:71                Constant:
+0:71                  0 (const int)
+0:71            Constant:
+0:71              3 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71        subgroupQuadBroadcast ( temp 2-component vector of double)
+0:71          vector swizzle ( temp 2-component vector of double)
+0:71            d: direct index for structure ( temp 4-component vector of double)
+0:71              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:71                  Constant:
+0:71                    0 (const uint)
+0:71                direct index ( temp uint)
+0:71                  'dti' ( in 3-component vector of uint)
+0:71                  Constant:
+0:71                    0 (const int)
+0:71              Constant:
+0:71                3 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:71          Constant:
+0:71            2 (const uint)
+0:72      move second child to first child ( temp 3-component vector of double)
+0:72        vector swizzle ( temp 3-component vector of double)
+0:72          d: direct index for structure ( temp 4-component vector of double)
+0:72            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:72                Constant:
+0:72                  0 (const uint)
+0:72              direct index ( temp uint)
+0:72                'dti' ( in 3-component vector of uint)
+0:72                Constant:
+0:72                  0 (const int)
+0:72            Constant:
+0:72              3 (const int)
+0:72          Sequence
+0:72            Constant:
+0:72              0 (const int)
+0:72            Constant:
+0:72              1 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:72        subgroupQuadBroadcast ( temp 3-component vector of double)
+0:72          vector swizzle ( temp 3-component vector of double)
+0:72            d: direct index for structure ( temp 4-component vector of double)
+0:72              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:72                  Constant:
+0:72                    0 (const uint)
+0:72                direct index ( temp uint)
+0:72                  'dti' ( in 3-component vector of uint)
+0:72                  Constant:
+0:72                    0 (const int)
+0:72              Constant:
+0:72                3 (const int)
+0:72            Sequence
+0:72              Constant:
+0:72                0 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72              Constant:
+0:72                2 (const int)
+0:72          Constant:
+0:72            2 (const uint)
+0:74      move second child to first child ( temp 4-component vector of uint)
+0:74        u: direct index for structure ( temp 4-component vector of uint)
+0:74          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:74              Constant:
+0:74                0 (const uint)
+0:74            direct index ( temp uint)
+0:74              'dti' ( in 3-component vector of uint)
+0:74              Constant:
+0:74                0 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupQuadBroadcast ( temp 4-component vector of uint)
+0:74          u: direct index for structure ( temp 4-component vector of uint)
+0:74            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:74                Constant:
+0:74                  0 (const uint)
+0:74              direct index ( temp uint)
+0:74                'dti' ( in 3-component vector of uint)
+0:74                Constant:
+0:74                  0 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:74          Constant:
+0:74            3 (const uint)
+0:75      move second child to first child ( temp uint)
+0:75        direct index ( temp uint)
+0:75          u: direct index for structure ( temp 4-component vector of uint)
+0:75            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:75                Constant:
+0:75                  0 (const uint)
+0:75              direct index ( temp uint)
+0:75                'dti' ( in 3-component vector of uint)
+0:75                Constant:
+0:75                  0 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:75          Constant:
+0:75            0 (const int)
+0:75        subgroupQuadBroadcast ( temp uint)
+0:75          direct index ( temp uint)
+0:75            u: direct index for structure ( temp 4-component vector of uint)
+0:75              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:75                  Constant:
+0:75                    0 (const uint)
+0:75                direct index ( temp uint)
+0:75                  'dti' ( in 3-component vector of uint)
+0:75                  Constant:
+0:75                    0 (const int)
+0:75              Constant:
+0:75                0 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:75          Constant:
+0:75            3 (const uint)
+0:76      move second child to first child ( temp 2-component vector of uint)
+0:76        vector swizzle ( temp 2-component vector of uint)
+0:76          u: direct index for structure ( temp 4-component vector of uint)
+0:76            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:76                Constant:
+0:76                  0 (const uint)
+0:76              direct index ( temp uint)
+0:76                'dti' ( in 3-component vector of uint)
+0:76                Constant:
+0:76                  0 (const int)
+0:76            Constant:
+0:76              0 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76        subgroupQuadBroadcast ( temp 2-component vector of uint)
+0:76          vector swizzle ( temp 2-component vector of uint)
+0:76            u: direct index for structure ( temp 4-component vector of uint)
+0:76              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:76                  Constant:
+0:76                    0 (const uint)
+0:76                direct index ( temp uint)
+0:76                  'dti' ( in 3-component vector of uint)
+0:76                  Constant:
+0:76                    0 (const int)
+0:76              Constant:
+0:76                0 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:76          Constant:
+0:76            3 (const uint)
+0:77      move second child to first child ( temp 3-component vector of uint)
+0:77        vector swizzle ( temp 3-component vector of uint)
+0:77          u: direct index for structure ( temp 4-component vector of uint)
+0:77            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:77                Constant:
+0:77                  0 (const uint)
+0:77              direct index ( temp uint)
+0:77                'dti' ( in 3-component vector of uint)
+0:77                Constant:
+0:77                  0 (const int)
+0:77            Constant:
+0:77              0 (const int)
+0:77          Sequence
+0:77            Constant:
+0:77              0 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77            Constant:
+0:77              2 (const int)
+0:77        subgroupQuadBroadcast ( temp 3-component vector of uint)
+0:77          vector swizzle ( temp 3-component vector of uint)
+0:77            u: direct index for structure ( temp 4-component vector of uint)
+0:77              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:77                  Constant:
+0:77                    0 (const uint)
+0:77                direct index ( temp uint)
+0:77                  'dti' ( in 3-component vector of uint)
+0:77                  Constant:
+0:77                    0 (const int)
+0:77              Constant:
+0:77                0 (const int)
+0:77            Sequence
+0:77              Constant:
+0:77                0 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77              Constant:
+0:77                2 (const int)
+0:77          Constant:
+0:77            3 (const uint)
+0:79      move second child to first child ( temp 4-component vector of int)
+0:79        i: direct index for structure ( temp 4-component vector of int)
+0:79          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:79              Constant:
+0:79                0 (const uint)
+0:79            direct index ( temp uint)
+0:79              'dti' ( in 3-component vector of uint)
+0:79              Constant:
+0:79                0 (const int)
+0:79          Constant:
+0:79            1 (const int)
+0:79        subgroupQuadBroadcast ( temp 4-component vector of int)
+0:79          i: direct index for structure ( temp 4-component vector of int)
+0:79            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:79                Constant:
+0:79                  0 (const uint)
+0:79              direct index ( temp uint)
+0:79                'dti' ( in 3-component vector of uint)
+0:79                Constant:
+0:79                  0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:79          Constant:
+0:79            3 (const uint)
+0:80      move second child to first child ( temp int)
+0:80        direct index ( temp int)
+0:80          i: direct index for structure ( temp 4-component vector of int)
+0:80            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:80                Constant:
+0:80                  0 (const uint)
+0:80              direct index ( temp uint)
+0:80                'dti' ( in 3-component vector of uint)
+0:80                Constant:
+0:80                  0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80          Constant:
+0:80            0 (const int)
+0:80        subgroupQuadBroadcast ( temp int)
+0:80          direct index ( temp int)
+0:80            i: direct index for structure ( temp 4-component vector of int)
+0:80              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:80                  Constant:
+0:80                    0 (const uint)
+0:80                direct index ( temp uint)
+0:80                  'dti' ( in 3-component vector of uint)
+0:80                  Constant:
+0:80                    0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80            Constant:
+0:80              0 (const int)
+0:80          Constant:
+0:80            3 (const uint)
+0:81      move second child to first child ( temp 2-component vector of int)
+0:81        vector swizzle ( temp 2-component vector of int)
+0:81          i: direct index for structure ( temp 4-component vector of int)
+0:81            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:81                Constant:
+0:81                  0 (const uint)
+0:81              direct index ( temp uint)
+0:81                'dti' ( in 3-component vector of uint)
+0:81                Constant:
+0:81                  0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81        subgroupQuadBroadcast ( temp 2-component vector of int)
+0:81          vector swizzle ( temp 2-component vector of int)
+0:81            i: direct index for structure ( temp 4-component vector of int)
+0:81              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:81                  Constant:
+0:81                    0 (const uint)
+0:81                direct index ( temp uint)
+0:81                  'dti' ( in 3-component vector of uint)
+0:81                  Constant:
+0:81                    0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81          Constant:
+0:81            3 (const uint)
+0:82      move second child to first child ( temp 3-component vector of int)
+0:82        vector swizzle ( temp 3-component vector of int)
+0:82          i: direct index for structure ( temp 4-component vector of int)
+0:82            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:82                Constant:
+0:82                  0 (const uint)
+0:82              direct index ( temp uint)
+0:82                'dti' ( in 3-component vector of uint)
+0:82                Constant:
+0:82                  0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82          Sequence
+0:82            Constant:
+0:82              0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:82        subgroupQuadBroadcast ( temp 3-component vector of int)
+0:82          vector swizzle ( temp 3-component vector of int)
+0:82            i: direct index for structure ( temp 4-component vector of int)
+0:82              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:82                  Constant:
+0:82                    0 (const uint)
+0:82                direct index ( temp uint)
+0:82                  'dti' ( in 3-component vector of uint)
+0:82                  Constant:
+0:82                    0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82            Sequence
+0:82              Constant:
+0:82                0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82              Constant:
+0:82                2 (const int)
+0:82          Constant:
+0:82            3 (const uint)
+0:84      move second child to first child ( temp 4-component vector of float)
+0:84        f: direct index for structure ( temp 4-component vector of float)
+0:84          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:84              Constant:
+0:84                0 (const uint)
+0:84            direct index ( temp uint)
+0:84              'dti' ( in 3-component vector of uint)
+0:84              Constant:
+0:84                0 (const int)
+0:84          Constant:
+0:84            2 (const int)
+0:84        subgroupQuadBroadcast ( temp 4-component vector of float)
+0:84          f: direct index for structure ( temp 4-component vector of float)
+0:84            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:84                Constant:
+0:84                  0 (const uint)
+0:84              direct index ( temp uint)
+0:84                'dti' ( in 3-component vector of uint)
+0:84                Constant:
+0:84                  0 (const int)
+0:84            Constant:
+0:84              2 (const int)
+0:84          Constant:
+0:84            3 (const uint)
+0:85      move second child to first child ( temp float)
+0:85        direct index ( temp float)
+0:85          f: direct index for structure ( temp 4-component vector of float)
+0:85            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:85                Constant:
+0:85                  0 (const uint)
+0:85              direct index ( temp uint)
+0:85                'dti' ( in 3-component vector of uint)
+0:85                Constant:
+0:85                  0 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85          Constant:
+0:85            0 (const int)
+0:85        subgroupQuadBroadcast ( temp float)
+0:85          direct index ( temp float)
+0:85            f: direct index for structure ( temp 4-component vector of float)
+0:85              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:85                  Constant:
+0:85                    0 (const uint)
+0:85                direct index ( temp uint)
+0:85                  'dti' ( in 3-component vector of uint)
+0:85                  Constant:
+0:85                    0 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85            Constant:
+0:85              0 (const int)
+0:85          Constant:
+0:85            3 (const uint)
+0:86      move second child to first child ( temp 2-component vector of float)
+0:86        vector swizzle ( temp 2-component vector of float)
+0:86          f: direct index for structure ( temp 4-component vector of float)
+0:86            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:86                Constant:
+0:86                  0 (const uint)
+0:86              direct index ( temp uint)
+0:86                'dti' ( in 3-component vector of uint)
+0:86                Constant:
+0:86                  0 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86        subgroupQuadBroadcast ( temp 2-component vector of float)
+0:86          vector swizzle ( temp 2-component vector of float)
+0:86            f: direct index for structure ( temp 4-component vector of float)
+0:86              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:86                  Constant:
+0:86                    0 (const uint)
+0:86                direct index ( temp uint)
+0:86                  'dti' ( in 3-component vector of uint)
+0:86                  Constant:
+0:86                    0 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:86          Constant:
+0:86            3 (const uint)
+0:87      move second child to first child ( temp 3-component vector of float)
+0:87        vector swizzle ( temp 3-component vector of float)
+0:87          f: direct index for structure ( temp 4-component vector of float)
+0:87            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:87                Constant:
+0:87                  0 (const uint)
+0:87              direct index ( temp uint)
+0:87                'dti' ( in 3-component vector of uint)
+0:87                Constant:
+0:87                  0 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87          Sequence
+0:87            Constant:
+0:87              0 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87        subgroupQuadBroadcast ( temp 3-component vector of float)
+0:87          vector swizzle ( temp 3-component vector of float)
+0:87            f: direct index for structure ( temp 4-component vector of float)
+0:87              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:87                  Constant:
+0:87                    0 (const uint)
+0:87                direct index ( temp uint)
+0:87                  'dti' ( in 3-component vector of uint)
+0:87                  Constant:
+0:87                    0 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:87            Sequence
+0:87              Constant:
+0:87                0 (const int)
+0:87              Constant:
+0:87                1 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:87          Constant:
+0:87            3 (const uint)
+0:89      move second child to first child ( temp 4-component vector of double)
+0:89        d: direct index for structure ( temp 4-component vector of double)
+0:89          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:89              Constant:
+0:89                0 (const uint)
+0:89            direct index ( temp uint)
+0:89              'dti' ( in 3-component vector of uint)
+0:89              Constant:
+0:89                0 (const int)
+0:89          Constant:
+0:89            3 (const int)
+0:89        subgroupQuadBroadcast ( temp 4-component vector of double)
+0:89          d: direct index for structure ( temp 4-component vector of double)
+0:89            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:89                Constant:
+0:89                  0 (const uint)
+0:89              direct index ( temp uint)
+0:89                'dti' ( in 3-component vector of uint)
+0:89                Constant:
+0:89                  0 (const int)
+0:89            Constant:
+0:89              3 (const int)
+0:89          Constant:
+0:89            3 (const uint)
+0:90      move second child to first child ( temp double)
+0:90        direct index ( temp double)
+0:90          d: direct index for structure ( temp 4-component vector of double)
+0:90            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:90                Constant:
+0:90                  0 (const uint)
+0:90              direct index ( temp uint)
+0:90                'dti' ( in 3-component vector of uint)
+0:90                Constant:
+0:90                  0 (const int)
+0:90            Constant:
+0:90              3 (const int)
+0:90          Constant:
+0:90            0 (const int)
+0:90        subgroupQuadBroadcast ( temp double)
+0:90          direct index ( temp double)
+0:90            d: direct index for structure ( temp 4-component vector of double)
+0:90              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:90                  Constant:
+0:90                    0 (const uint)
+0:90                direct index ( temp uint)
+0:90                  'dti' ( in 3-component vector of uint)
+0:90                  Constant:
+0:90                    0 (const int)
+0:90              Constant:
+0:90                3 (const int)
+0:90            Constant:
+0:90              0 (const int)
+0:90          Constant:
+0:90            3 (const uint)
+0:91      move second child to first child ( temp 2-component vector of double)
+0:91        vector swizzle ( temp 2-component vector of double)
+0:91          d: direct index for structure ( temp 4-component vector of double)
+0:91            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:91                Constant:
+0:91                  0 (const uint)
+0:91              direct index ( temp uint)
+0:91                'dti' ( in 3-component vector of uint)
+0:91                Constant:
+0:91                  0 (const int)
+0:91            Constant:
+0:91              3 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91        subgroupQuadBroadcast ( temp 2-component vector of double)
+0:91          vector swizzle ( temp 2-component vector of double)
+0:91            d: direct index for structure ( temp 4-component vector of double)
+0:91              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:91                  Constant:
+0:91                    0 (const uint)
+0:91                direct index ( temp uint)
+0:91                  'dti' ( in 3-component vector of uint)
+0:91                  Constant:
+0:91                    0 (const int)
+0:91              Constant:
+0:91                3 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:91          Constant:
+0:91            3 (const uint)
+0:92      move second child to first child ( temp 3-component vector of double)
+0:92        vector swizzle ( temp 3-component vector of double)
+0:92          d: direct index for structure ( temp 4-component vector of double)
+0:92            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:92                Constant:
+0:92                  0 (const uint)
+0:92              direct index ( temp uint)
+0:92                'dti' ( in 3-component vector of uint)
+0:92                Constant:
+0:92                  0 (const int)
+0:92            Constant:
+0:92              3 (const int)
+0:92          Sequence
+0:92            Constant:
+0:92              0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:92        subgroupQuadBroadcast ( temp 3-component vector of double)
+0:92          vector swizzle ( temp 3-component vector of double)
+0:92            d: direct index for structure ( temp 4-component vector of double)
+0:92              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:92                  Constant:
+0:92                    0 (const uint)
+0:92                direct index ( temp uint)
+0:92                  'dti' ( in 3-component vector of uint)
+0:92                  Constant:
+0:92                    0 (const int)
+0:92              Constant:
+0:92                3 (const int)
+0:92            Sequence
+0:92              Constant:
+0:92                0 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92              Constant:
+0:92                2 (const int)
+0:92          Constant:
+0:92            3 (const uint)
+0:94      move second child to first child ( temp 4-component vector of uint)
+0:94        u: direct index for structure ( temp 4-component vector of uint)
+0:94          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:94              Constant:
+0:94                0 (const uint)
+0:94            direct index ( temp uint)
+0:94              'dti' ( in 3-component vector of uint)
+0:94              Constant:
+0:94                0 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupQuadSwapHorizontal ( temp 4-component vector of uint)
+0:94          u: direct index for structure ( temp 4-component vector of uint)
+0:94            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:94                Constant:
+0:94                  0 (const uint)
+0:94              direct index ( temp uint)
+0:94                'dti' ( in 3-component vector of uint)
+0:94                Constant:
+0:94                  0 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:95      move second child to first child ( temp uint)
+0:95        direct index ( temp uint)
+0:95          u: direct index for structure ( temp 4-component vector of uint)
+0:95            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:95                Constant:
+0:95                  0 (const uint)
+0:95              direct index ( temp uint)
+0:95                'dti' ( in 3-component vector of uint)
+0:95                Constant:
+0:95                  0 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:95          Constant:
+0:95            0 (const int)
+0:95        subgroupQuadSwapHorizontal ( temp uint)
+0:95          direct index ( temp uint)
+0:95            u: direct index for structure ( temp 4-component vector of uint)
+0:95              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:95                  Constant:
+0:95                    0 (const uint)
+0:95                direct index ( temp uint)
+0:95                  'dti' ( in 3-component vector of uint)
+0:95                  Constant:
+0:95                    0 (const int)
+0:95              Constant:
+0:95                0 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:96      move second child to first child ( temp 2-component vector of uint)
+0:96        vector swizzle ( temp 2-component vector of uint)
+0:96          u: direct index for structure ( temp 4-component vector of uint)
+0:96            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:96                Constant:
+0:96                  0 (const uint)
+0:96              direct index ( temp uint)
+0:96                'dti' ( in 3-component vector of uint)
+0:96                Constant:
+0:96                  0 (const int)
+0:96            Constant:
+0:96              0 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96        subgroupQuadSwapHorizontal ( temp 2-component vector of uint)
+0:96          vector swizzle ( temp 2-component vector of uint)
+0:96            u: direct index for structure ( temp 4-component vector of uint)
+0:96              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:96                  Constant:
+0:96                    0 (const uint)
+0:96                direct index ( temp uint)
+0:96                  'dti' ( in 3-component vector of uint)
+0:96                  Constant:
+0:96                    0 (const int)
+0:96              Constant:
+0:96                0 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:97      move second child to first child ( temp 3-component vector of uint)
+0:97        vector swizzle ( temp 3-component vector of uint)
+0:97          u: direct index for structure ( temp 4-component vector of uint)
+0:97            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:97                Constant:
+0:97                  0 (const uint)
+0:97              direct index ( temp uint)
+0:97                'dti' ( in 3-component vector of uint)
+0:97                Constant:
+0:97                  0 (const int)
+0:97            Constant:
+0:97              0 (const int)
+0:97          Sequence
+0:97            Constant:
+0:97              0 (const int)
+0:97            Constant:
+0:97              1 (const int)
+0:97            Constant:
+0:97              2 (const int)
+0:97        subgroupQuadSwapHorizontal ( temp 3-component vector of uint)
+0:97          vector swizzle ( temp 3-component vector of uint)
+0:97            u: direct index for structure ( temp 4-component vector of uint)
+0:97              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:97                  Constant:
+0:97                    0 (const uint)
+0:97                direct index ( temp uint)
+0:97                  'dti' ( in 3-component vector of uint)
+0:97                  Constant:
+0:97                    0 (const int)
+0:97              Constant:
+0:97                0 (const int)
+0:97            Sequence
+0:97              Constant:
+0:97                0 (const int)
+0:97              Constant:
+0:97                1 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:99      move second child to first child ( temp 4-component vector of int)
+0:99        i: direct index for structure ( temp 4-component vector of int)
+0:99          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:99              Constant:
+0:99                0 (const uint)
+0:99            direct index ( temp uint)
+0:99              'dti' ( in 3-component vector of uint)
+0:99              Constant:
+0:99                0 (const int)
+0:99          Constant:
+0:99            1 (const int)
+0:99        subgroupQuadSwapHorizontal ( temp 4-component vector of int)
+0:99          i: direct index for structure ( temp 4-component vector of int)
+0:99            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:99                Constant:
+0:99                  0 (const uint)
+0:99              direct index ( temp uint)
+0:99                'dti' ( in 3-component vector of uint)
+0:99                Constant:
+0:99                  0 (const int)
+0:99            Constant:
+0:99              1 (const int)
+0:100      move second child to first child ( temp int)
+0:100        direct index ( temp int)
+0:100          i: direct index for structure ( temp 4-component vector of int)
+0:100            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:100                Constant:
+0:100                  0 (const uint)
+0:100              direct index ( temp uint)
+0:100                'dti' ( in 3-component vector of uint)
+0:100                Constant:
+0:100                  0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Constant:
+0:100            0 (const int)
+0:100        subgroupQuadSwapHorizontal ( temp int)
+0:100          direct index ( temp int)
+0:100            i: direct index for structure ( temp 4-component vector of int)
+0:100              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:100                  Constant:
+0:100                    0 (const uint)
+0:100                direct index ( temp uint)
+0:100                  'dti' ( in 3-component vector of uint)
+0:100                  Constant:
+0:100                    0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Constant:
+0:100              0 (const int)
+0:101      move second child to first child ( temp 2-component vector of int)
+0:101        vector swizzle ( temp 2-component vector of int)
+0:101          i: direct index for structure ( temp 4-component vector of int)
+0:101            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:101                Constant:
+0:101                  0 (const uint)
+0:101              direct index ( temp uint)
+0:101                'dti' ( in 3-component vector of uint)
+0:101                Constant:
+0:101                  0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101        subgroupQuadSwapHorizontal ( temp 2-component vector of int)
+0:101          vector swizzle ( temp 2-component vector of int)
+0:101            i: direct index for structure ( temp 4-component vector of int)
+0:101              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:101                  Constant:
+0:101                    0 (const uint)
+0:101                direct index ( temp uint)
+0:101                  'dti' ( in 3-component vector of uint)
+0:101                  Constant:
+0:101                    0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:102      move second child to first child ( temp 3-component vector of int)
+0:102        vector swizzle ( temp 3-component vector of int)
+0:102          i: direct index for structure ( temp 4-component vector of int)
+0:102            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:102                Constant:
+0:102                  0 (const uint)
+0:102              direct index ( temp uint)
+0:102                'dti' ( in 3-component vector of uint)
+0:102                Constant:
+0:102                  0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102          Sequence
+0:102            Constant:
+0:102              0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102            Constant:
+0:102              2 (const int)
+0:102        subgroupQuadSwapHorizontal ( temp 3-component vector of int)
+0:102          vector swizzle ( temp 3-component vector of int)
+0:102            i: direct index for structure ( temp 4-component vector of int)
+0:102              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:102                  Constant:
+0:102                    0 (const uint)
+0:102                direct index ( temp uint)
+0:102                  'dti' ( in 3-component vector of uint)
+0:102                  Constant:
+0:102                    0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102            Sequence
+0:102              Constant:
+0:102                0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102              Constant:
+0:102                2 (const int)
+0:104      move second child to first child ( temp 4-component vector of float)
+0:104        f: direct index for structure ( temp 4-component vector of float)
+0:104          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:104              Constant:
+0:104                0 (const uint)
+0:104            direct index ( temp uint)
+0:104              'dti' ( in 3-component vector of uint)
+0:104              Constant:
+0:104                0 (const int)
+0:104          Constant:
+0:104            2 (const int)
+0:104        subgroupQuadSwapHorizontal ( temp 4-component vector of float)
+0:104          f: direct index for structure ( temp 4-component vector of float)
+0:104            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:104                Constant:
+0:104                  0 (const uint)
+0:104              direct index ( temp uint)
+0:104                'dti' ( in 3-component vector of uint)
+0:104                Constant:
+0:104                  0 (const int)
+0:104            Constant:
+0:104              2 (const int)
+0:105      move second child to first child ( temp float)
+0:105        direct index ( temp float)
+0:105          f: direct index for structure ( temp 4-component vector of float)
+0:105            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:105                Constant:
+0:105                  0 (const uint)
+0:105              direct index ( temp uint)
+0:105                'dti' ( in 3-component vector of uint)
+0:105                Constant:
+0:105                  0 (const int)
+0:105            Constant:
+0:105              2 (const int)
+0:105          Constant:
+0:105            0 (const int)
+0:105        subgroupQuadSwapHorizontal ( temp float)
+0:105          direct index ( temp float)
+0:105            f: direct index for structure ( temp 4-component vector of float)
+0:105              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:105                  Constant:
+0:105                    0 (const uint)
+0:105                direct index ( temp uint)
+0:105                  'dti' ( in 3-component vector of uint)
+0:105                  Constant:
+0:105                    0 (const int)
+0:105              Constant:
+0:105                2 (const int)
+0:105            Constant:
+0:105              0 (const int)
+0:106      move second child to first child ( temp 2-component vector of float)
+0:106        vector swizzle ( temp 2-component vector of float)
+0:106          f: direct index for structure ( temp 4-component vector of float)
+0:106            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:106                Constant:
+0:106                  0 (const uint)
+0:106              direct index ( temp uint)
+0:106                'dti' ( in 3-component vector of uint)
+0:106                Constant:
+0:106                  0 (const int)
+0:106            Constant:
+0:106              2 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106        subgroupQuadSwapHorizontal ( temp 2-component vector of float)
+0:106          vector swizzle ( temp 2-component vector of float)
+0:106            f: direct index for structure ( temp 4-component vector of float)
+0:106              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:106                  Constant:
+0:106                    0 (const uint)
+0:106                direct index ( temp uint)
+0:106                  'dti' ( in 3-component vector of uint)
+0:106                  Constant:
+0:106                    0 (const int)
+0:106              Constant:
+0:106                2 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:107      move second child to first child ( temp 3-component vector of float)
+0:107        vector swizzle ( temp 3-component vector of float)
+0:107          f: direct index for structure ( temp 4-component vector of float)
+0:107            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:107                Constant:
+0:107                  0 (const uint)
+0:107              direct index ( temp uint)
+0:107                'dti' ( in 3-component vector of uint)
+0:107                Constant:
+0:107                  0 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107          Sequence
+0:107            Constant:
+0:107              0 (const int)
+0:107            Constant:
+0:107              1 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107        subgroupQuadSwapHorizontal ( temp 3-component vector of float)
+0:107          vector swizzle ( temp 3-component vector of float)
+0:107            f: direct index for structure ( temp 4-component vector of float)
+0:107              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:107                  Constant:
+0:107                    0 (const uint)
+0:107                direct index ( temp uint)
+0:107                  'dti' ( in 3-component vector of uint)
+0:107                  Constant:
+0:107                    0 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:107            Sequence
+0:107              Constant:
+0:107                0 (const int)
+0:107              Constant:
+0:107                1 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:109      move second child to first child ( temp 4-component vector of double)
+0:109        d: direct index for structure ( temp 4-component vector of double)
+0:109          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:109              Constant:
+0:109                0 (const uint)
+0:109            direct index ( temp uint)
+0:109              'dti' ( in 3-component vector of uint)
+0:109              Constant:
+0:109                0 (const int)
+0:109          Constant:
+0:109            3 (const int)
+0:109        subgroupQuadSwapHorizontal ( temp 4-component vector of double)
+0:109          d: direct index for structure ( temp 4-component vector of double)
+0:109            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:109                Constant:
+0:109                  0 (const uint)
+0:109              direct index ( temp uint)
+0:109                'dti' ( in 3-component vector of uint)
+0:109                Constant:
+0:109                  0 (const int)
+0:109            Constant:
+0:109              3 (const int)
+0:110      move second child to first child ( temp double)
+0:110        direct index ( temp double)
+0:110          d: direct index for structure ( temp 4-component vector of double)
+0:110            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:110                Constant:
+0:110                  0 (const uint)
+0:110              direct index ( temp uint)
+0:110                'dti' ( in 3-component vector of uint)
+0:110                Constant:
+0:110                  0 (const int)
+0:110            Constant:
+0:110              3 (const int)
+0:110          Constant:
+0:110            0 (const int)
+0:110        subgroupQuadSwapHorizontal ( temp double)
+0:110          direct index ( temp double)
+0:110            d: direct index for structure ( temp 4-component vector of double)
+0:110              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:110                  Constant:
+0:110                    0 (const uint)
+0:110                direct index ( temp uint)
+0:110                  'dti' ( in 3-component vector of uint)
+0:110                  Constant:
+0:110                    0 (const int)
+0:110              Constant:
+0:110                3 (const int)
+0:110            Constant:
+0:110              0 (const int)
+0:111      move second child to first child ( temp 2-component vector of double)
+0:111        vector swizzle ( temp 2-component vector of double)
+0:111          d: direct index for structure ( temp 4-component vector of double)
+0:111            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:111                Constant:
+0:111                  0 (const uint)
+0:111              direct index ( temp uint)
+0:111                'dti' ( in 3-component vector of uint)
+0:111                Constant:
+0:111                  0 (const int)
+0:111            Constant:
+0:111              3 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111        subgroupQuadSwapHorizontal ( temp 2-component vector of double)
+0:111          vector swizzle ( temp 2-component vector of double)
+0:111            d: direct index for structure ( temp 4-component vector of double)
+0:111              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:111                  Constant:
+0:111                    0 (const uint)
+0:111                direct index ( temp uint)
+0:111                  'dti' ( in 3-component vector of uint)
+0:111                  Constant:
+0:111                    0 (const int)
+0:111              Constant:
+0:111                3 (const int)
+0:111            Sequence
+0:111              Constant:
+0:111                0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:112      move second child to first child ( temp 3-component vector of double)
+0:112        vector swizzle ( temp 3-component vector of double)
+0:112          d: direct index for structure ( temp 4-component vector of double)
+0:112            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:112                Constant:
+0:112                  0 (const uint)
+0:112              direct index ( temp uint)
+0:112                'dti' ( in 3-component vector of uint)
+0:112                Constant:
+0:112                  0 (const int)
+0:112            Constant:
+0:112              3 (const int)
+0:112          Sequence
+0:112            Constant:
+0:112              0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112            Constant:
+0:112              2 (const int)
+0:112        subgroupQuadSwapHorizontal ( temp 3-component vector of double)
+0:112          vector swizzle ( temp 3-component vector of double)
+0:112            d: direct index for structure ( temp 4-component vector of double)
+0:112              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:112                  Constant:
+0:112                    0 (const uint)
+0:112                direct index ( temp uint)
+0:112                  'dti' ( in 3-component vector of uint)
+0:112                  Constant:
+0:112                    0 (const int)
+0:112              Constant:
+0:112                3 (const int)
+0:112            Sequence
+0:112              Constant:
+0:112                0 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112              Constant:
+0:112                2 (const int)
+0:114      move second child to first child ( temp 4-component vector of uint)
+0:114        u: direct index for structure ( temp 4-component vector of uint)
+0:114          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:114              Constant:
+0:114                0 (const uint)
+0:114            direct index ( temp uint)
+0:114              'dti' ( in 3-component vector of uint)
+0:114              Constant:
+0:114                0 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        subgroupQuadSwapVertical ( temp 4-component vector of uint)
+0:114          u: direct index for structure ( temp 4-component vector of uint)
+0:114            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:114                Constant:
+0:114                  0 (const uint)
+0:114              direct index ( temp uint)
+0:114                'dti' ( in 3-component vector of uint)
+0:114                Constant:
+0:114                  0 (const int)
+0:114            Constant:
+0:114              0 (const int)
+0:115      move second child to first child ( temp uint)
+0:115        direct index ( temp uint)
+0:115          u: direct index for structure ( temp 4-component vector of uint)
+0:115            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:115                Constant:
+0:115                  0 (const uint)
+0:115              direct index ( temp uint)
+0:115                'dti' ( in 3-component vector of uint)
+0:115                Constant:
+0:115                  0 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:115          Constant:
+0:115            0 (const int)
+0:115        subgroupQuadSwapVertical ( temp uint)
+0:115          direct index ( temp uint)
+0:115            u: direct index for structure ( temp 4-component vector of uint)
+0:115              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:115                  Constant:
+0:115                    0 (const uint)
+0:115                direct index ( temp uint)
+0:115                  'dti' ( in 3-component vector of uint)
+0:115                  Constant:
+0:115                    0 (const int)
+0:115              Constant:
+0:115                0 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:116      move second child to first child ( temp 2-component vector of uint)
+0:116        vector swizzle ( temp 2-component vector of uint)
+0:116          u: direct index for structure ( temp 4-component vector of uint)
+0:116            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:116                Constant:
+0:116                  0 (const uint)
+0:116              direct index ( temp uint)
+0:116                'dti' ( in 3-component vector of uint)
+0:116                Constant:
+0:116                  0 (const int)
+0:116            Constant:
+0:116              0 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116        subgroupQuadSwapVertical ( temp 2-component vector of uint)
+0:116          vector swizzle ( temp 2-component vector of uint)
+0:116            u: direct index for structure ( temp 4-component vector of uint)
+0:116              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:116                  Constant:
+0:116                    0 (const uint)
+0:116                direct index ( temp uint)
+0:116                  'dti' ( in 3-component vector of uint)
+0:116                  Constant:
+0:116                    0 (const int)
+0:116              Constant:
+0:116                0 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:117      move second child to first child ( temp 3-component vector of uint)
+0:117        vector swizzle ( temp 3-component vector of uint)
+0:117          u: direct index for structure ( temp 4-component vector of uint)
+0:117            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:117                Constant:
+0:117                  0 (const uint)
+0:117              direct index ( temp uint)
+0:117                'dti' ( in 3-component vector of uint)
+0:117                Constant:
+0:117                  0 (const int)
+0:117            Constant:
+0:117              0 (const int)
+0:117          Sequence
+0:117            Constant:
+0:117              0 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117            Constant:
+0:117              2 (const int)
+0:117        subgroupQuadSwapVertical ( temp 3-component vector of uint)
+0:117          vector swizzle ( temp 3-component vector of uint)
+0:117            u: direct index for structure ( temp 4-component vector of uint)
+0:117              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:117                  Constant:
+0:117                    0 (const uint)
+0:117                direct index ( temp uint)
+0:117                  'dti' ( in 3-component vector of uint)
+0:117                  Constant:
+0:117                    0 (const int)
+0:117              Constant:
+0:117                0 (const int)
+0:117            Sequence
+0:117              Constant:
+0:117                0 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117              Constant:
+0:117                2 (const int)
+0:119      move second child to first child ( temp 4-component vector of int)
+0:119        i: direct index for structure ( temp 4-component vector of int)
+0:119          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:119              Constant:
+0:119                0 (const uint)
+0:119            direct index ( temp uint)
+0:119              'dti' ( in 3-component vector of uint)
+0:119              Constant:
+0:119                0 (const int)
+0:119          Constant:
+0:119            1 (const int)
+0:119        subgroupQuadSwapVertical ( temp 4-component vector of int)
+0:119          i: direct index for structure ( temp 4-component vector of int)
+0:119            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:119                Constant:
+0:119                  0 (const uint)
+0:119              direct index ( temp uint)
+0:119                'dti' ( in 3-component vector of uint)
+0:119                Constant:
+0:119                  0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:120      move second child to first child ( temp int)
+0:120        direct index ( temp int)
+0:120          i: direct index for structure ( temp 4-component vector of int)
+0:120            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:120                Constant:
+0:120                  0 (const uint)
+0:120              direct index ( temp uint)
+0:120                'dti' ( in 3-component vector of uint)
+0:120                Constant:
+0:120                  0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120          Constant:
+0:120            0 (const int)
+0:120        subgroupQuadSwapVertical ( temp int)
+0:120          direct index ( temp int)
+0:120            i: direct index for structure ( temp 4-component vector of int)
+0:120              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:120                  Constant:
+0:120                    0 (const uint)
+0:120                direct index ( temp uint)
+0:120                  'dti' ( in 3-component vector of uint)
+0:120                  Constant:
+0:120                    0 (const int)
+0:120              Constant:
+0:120                1 (const int)
+0:120            Constant:
+0:120              0 (const int)
+0:121      move second child to first child ( temp 2-component vector of int)
+0:121        vector swizzle ( temp 2-component vector of int)
+0:121          i: direct index for structure ( temp 4-component vector of int)
+0:121            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:121                Constant:
+0:121                  0 (const uint)
+0:121              direct index ( temp uint)
+0:121                'dti' ( in 3-component vector of uint)
+0:121                Constant:
+0:121                  0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121        subgroupQuadSwapVertical ( temp 2-component vector of int)
+0:121          vector swizzle ( temp 2-component vector of int)
+0:121            i: direct index for structure ( temp 4-component vector of int)
+0:121              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:121                  Constant:
+0:121                    0 (const uint)
+0:121                direct index ( temp uint)
+0:121                  'dti' ( in 3-component vector of uint)
+0:121                  Constant:
+0:121                    0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:122      move second child to first child ( temp 3-component vector of int)
+0:122        vector swizzle ( temp 3-component vector of int)
+0:122          i: direct index for structure ( temp 4-component vector of int)
+0:122            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:122                Constant:
+0:122                  0 (const uint)
+0:122              direct index ( temp uint)
+0:122                'dti' ( in 3-component vector of uint)
+0:122                Constant:
+0:122                  0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122          Sequence
+0:122            Constant:
+0:122              0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122        subgroupQuadSwapVertical ( temp 3-component vector of int)
+0:122          vector swizzle ( temp 3-component vector of int)
+0:122            i: direct index for structure ( temp 4-component vector of int)
+0:122              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:122                  Constant:
+0:122                    0 (const uint)
+0:122                direct index ( temp uint)
+0:122                  'dti' ( in 3-component vector of uint)
+0:122                  Constant:
+0:122                    0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122            Sequence
+0:122              Constant:
+0:122                0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122              Constant:
+0:122                2 (const int)
+0:124      move second child to first child ( temp 4-component vector of float)
+0:124        f: direct index for structure ( temp 4-component vector of float)
+0:124          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:124            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:124              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:124              Constant:
+0:124                0 (const uint)
+0:124            direct index ( temp uint)
+0:124              'dti' ( in 3-component vector of uint)
+0:124              Constant:
+0:124                0 (const int)
+0:124          Constant:
+0:124            2 (const int)
+0:124        subgroupQuadSwapVertical ( temp 4-component vector of float)
+0:124          f: direct index for structure ( temp 4-component vector of float)
+0:124            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:124              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:124                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:124                Constant:
+0:124                  0 (const uint)
+0:124              direct index ( temp uint)
+0:124                'dti' ( in 3-component vector of uint)
+0:124                Constant:
+0:124                  0 (const int)
+0:124            Constant:
+0:124              2 (const int)
+0:125      move second child to first child ( temp float)
+0:125        direct index ( temp float)
+0:125          f: direct index for structure ( temp 4-component vector of float)
+0:125            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:125              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:125                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:125                Constant:
+0:125                  0 (const uint)
+0:125              direct index ( temp uint)
+0:125                'dti' ( in 3-component vector of uint)
+0:125                Constant:
+0:125                  0 (const int)
+0:125            Constant:
+0:125              2 (const int)
+0:125          Constant:
+0:125            0 (const int)
+0:125        subgroupQuadSwapVertical ( temp float)
+0:125          direct index ( temp float)
+0:125            f: direct index for structure ( temp 4-component vector of float)
+0:125              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:125                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:125                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:125                  Constant:
+0:125                    0 (const uint)
+0:125                direct index ( temp uint)
+0:125                  'dti' ( in 3-component vector of uint)
+0:125                  Constant:
+0:125                    0 (const int)
+0:125              Constant:
+0:125                2 (const int)
+0:125            Constant:
+0:125              0 (const int)
+0:126      move second child to first child ( temp 2-component vector of float)
+0:126        vector swizzle ( temp 2-component vector of float)
+0:126          f: direct index for structure ( temp 4-component vector of float)
+0:126            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:126              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:126                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:126                Constant:
+0:126                  0 (const uint)
+0:126              direct index ( temp uint)
+0:126                'dti' ( in 3-component vector of uint)
+0:126                Constant:
+0:126                  0 (const int)
+0:126            Constant:
+0:126              2 (const int)
+0:126          Sequence
+0:126            Constant:
+0:126              0 (const int)
+0:126            Constant:
+0:126              1 (const int)
+0:126        subgroupQuadSwapVertical ( temp 2-component vector of float)
+0:126          vector swizzle ( temp 2-component vector of float)
+0:126            f: direct index for structure ( temp 4-component vector of float)
+0:126              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:126                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:126                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:126                  Constant:
+0:126                    0 (const uint)
+0:126                direct index ( temp uint)
+0:126                  'dti' ( in 3-component vector of uint)
+0:126                  Constant:
+0:126                    0 (const int)
+0:126              Constant:
+0:126                2 (const int)
+0:126            Sequence
+0:126              Constant:
+0:126                0 (const int)
+0:126              Constant:
+0:126                1 (const int)
+0:127      move second child to first child ( temp 3-component vector of float)
+0:127        vector swizzle ( temp 3-component vector of float)
+0:127          f: direct index for structure ( temp 4-component vector of float)
+0:127            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:127              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:127                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:127                Constant:
+0:127                  0 (const uint)
+0:127              direct index ( temp uint)
+0:127                'dti' ( in 3-component vector of uint)
+0:127                Constant:
+0:127                  0 (const int)
+0:127            Constant:
+0:127              2 (const int)
+0:127          Sequence
+0:127            Constant:
+0:127              0 (const int)
+0:127            Constant:
+0:127              1 (const int)
+0:127            Constant:
+0:127              2 (const int)
+0:127        subgroupQuadSwapVertical ( temp 3-component vector of float)
+0:127          vector swizzle ( temp 3-component vector of float)
+0:127            f: direct index for structure ( temp 4-component vector of float)
+0:127              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:127                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:127                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:127                  Constant:
+0:127                    0 (const uint)
+0:127                direct index ( temp uint)
+0:127                  'dti' ( in 3-component vector of uint)
+0:127                  Constant:
+0:127                    0 (const int)
+0:127              Constant:
+0:127                2 (const int)
+0:127            Sequence
+0:127              Constant:
+0:127                0 (const int)
+0:127              Constant:
+0:127                1 (const int)
+0:127              Constant:
+0:127                2 (const int)
+0:129      move second child to first child ( temp 4-component vector of double)
+0:129        d: direct index for structure ( temp 4-component vector of double)
+0:129          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:129            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:129              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:129              Constant:
+0:129                0 (const uint)
+0:129            direct index ( temp uint)
+0:129              'dti' ( in 3-component vector of uint)
+0:129              Constant:
+0:129                0 (const int)
+0:129          Constant:
+0:129            3 (const int)
+0:129        subgroupQuadSwapVertical ( temp 4-component vector of double)
+0:129          d: direct index for structure ( temp 4-component vector of double)
+0:129            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:129              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:129                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:129                Constant:
+0:129                  0 (const uint)
+0:129              direct index ( temp uint)
+0:129                'dti' ( in 3-component vector of uint)
+0:129                Constant:
+0:129                  0 (const int)
+0:129            Constant:
+0:129              3 (const int)
+0:130      move second child to first child ( temp double)
+0:130        direct index ( temp double)
+0:130          d: direct index for structure ( temp 4-component vector of double)
+0:130            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:130              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:130                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:130                Constant:
+0:130                  0 (const uint)
+0:130              direct index ( temp uint)
+0:130                'dti' ( in 3-component vector of uint)
+0:130                Constant:
+0:130                  0 (const int)
+0:130            Constant:
+0:130              3 (const int)
+0:130          Constant:
+0:130            0 (const int)
+0:130        subgroupQuadSwapVertical ( temp double)
+0:130          direct index ( temp double)
+0:130            d: direct index for structure ( temp 4-component vector of double)
+0:130              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:130                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:130                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:130                  Constant:
+0:130                    0 (const uint)
+0:130                direct index ( temp uint)
+0:130                  'dti' ( in 3-component vector of uint)
+0:130                  Constant:
+0:130                    0 (const int)
+0:130              Constant:
+0:130                3 (const int)
+0:130            Constant:
+0:130              0 (const int)
+0:131      move second child to first child ( temp 2-component vector of double)
+0:131        vector swizzle ( temp 2-component vector of double)
+0:131          d: direct index for structure ( temp 4-component vector of double)
+0:131            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:131              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:131                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:131                Constant:
+0:131                  0 (const uint)
+0:131              direct index ( temp uint)
+0:131                'dti' ( in 3-component vector of uint)
+0:131                Constant:
+0:131                  0 (const int)
+0:131            Constant:
+0:131              3 (const int)
+0:131          Sequence
+0:131            Constant:
+0:131              0 (const int)
+0:131            Constant:
+0:131              1 (const int)
+0:131        subgroupQuadSwapVertical ( temp 2-component vector of double)
+0:131          vector swizzle ( temp 2-component vector of double)
+0:131            d: direct index for structure ( temp 4-component vector of double)
+0:131              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:131                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:131                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:131                  Constant:
+0:131                    0 (const uint)
+0:131                direct index ( temp uint)
+0:131                  'dti' ( in 3-component vector of uint)
+0:131                  Constant:
+0:131                    0 (const int)
+0:131              Constant:
+0:131                3 (const int)
+0:131            Sequence
+0:131              Constant:
+0:131                0 (const int)
+0:131              Constant:
+0:131                1 (const int)
+0:132      move second child to first child ( temp 3-component vector of double)
+0:132        vector swizzle ( temp 3-component vector of double)
+0:132          d: direct index for structure ( temp 4-component vector of double)
+0:132            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:132              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:132                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:132                Constant:
+0:132                  0 (const uint)
+0:132              direct index ( temp uint)
+0:132                'dti' ( in 3-component vector of uint)
+0:132                Constant:
+0:132                  0 (const int)
+0:132            Constant:
+0:132              3 (const int)
+0:132          Sequence
+0:132            Constant:
+0:132              0 (const int)
+0:132            Constant:
+0:132              1 (const int)
+0:132            Constant:
+0:132              2 (const int)
+0:132        subgroupQuadSwapVertical ( temp 3-component vector of double)
+0:132          vector swizzle ( temp 3-component vector of double)
+0:132            d: direct index for structure ( temp 4-component vector of double)
+0:132              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:132                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:132                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:132                  Constant:
+0:132                    0 (const uint)
+0:132                direct index ( temp uint)
+0:132                  'dti' ( in 3-component vector of uint)
+0:132                  Constant:
+0:132                    0 (const int)
+0:132              Constant:
+0:132                3 (const int)
+0:132            Sequence
+0:132              Constant:
+0:132                0 (const int)
+0:132              Constant:
+0:132                1 (const int)
+0:132              Constant:
+0:132                2 (const int)
+0:13  Function Definition: CSMain( ( temp void)
+0:13    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:13      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 968
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformQuad
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "CSMain" 963
+                              ExecutionMode 4 LocalSize 32 16 1
+                              Source HLSL 500
+                              Name 4  "CSMain"
+                              Name 11  "@CSMain(vu3;"
+                              Name 10  "dti"
+                              Name 20  "Types"
+                              MemberName 20(Types) 0  "u"
+                              MemberName 20(Types) 1  "i"
+                              MemberName 20(Types) 2  "f"
+                              MemberName 20(Types) 3  "d"
+                              Name 22  "data"
+                              MemberName 22(data) 0  "@data"
+                              Name 24  "data"
+                              Name 961  "dti"
+                              Name 963  "dti"
+                              Name 965  "param"
+                              MemberDecorate 20(Types) 0 Offset 0
+                              MemberDecorate 20(Types) 1 Offset 16
+                              MemberDecorate 20(Types) 2 Offset 32
+                              MemberDecorate 20(Types) 3 Offset 64
+                              Decorate 21 ArrayStride 96
+                              MemberDecorate 22(data) 0 Offset 0
+                              Decorate 22(data) BufferBlock
+                              Decorate 24(data) DescriptorSet 0
+                              Decorate 963(dti) BuiltIn GlobalInvocationId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 3
+               8:             TypePointer Function 7(ivec3)
+               9:             TypeFunction 2 8(ptr)
+              13:             TypeVector 6(int) 4
+              14:             TypeInt 32 1
+              15:             TypeVector 14(int) 4
+              16:             TypeFloat 32
+              17:             TypeVector 16(float) 4
+              18:             TypeFloat 64
+              19:             TypeVector 18(float) 4
+       20(Types):             TypeStruct 13(ivec4) 15(ivec4) 17(fvec4) 19(fvec4)
+              21:             TypeRuntimeArray 20(Types)
+        22(data):             TypeStruct 21
+              23:             TypePointer Uniform 22(data)
+        24(data):     23(ptr) Variable Uniform
+              25:     14(int) Constant 0
+              26:      6(int) Constant 0
+              27:             TypePointer Function 6(int)
+              32:             TypePointer Uniform 13(ivec4)
+              35:      6(int) Constant 3
+              42:             TypePointer Uniform 6(int)
+              51:             TypeVector 6(int) 2
+              72:     14(int) Constant 1
+              75:             TypePointer Uniform 15(ivec4)
+              84:             TypePointer Uniform 14(int)
+              93:             TypeVector 14(int) 2
+             105:             TypeVector 14(int) 3
+             115:     14(int) Constant 2
+             118:             TypePointer Uniform 17(fvec4)
+             127:             TypePointer Uniform 16(float)
+             136:             TypeVector 16(float) 2
+             148:             TypeVector 16(float) 3
+             158:     14(int) Constant 3
+             161:             TypePointer Uniform 19(fvec4)
+             170:             TypePointer Uniform 18(float)
+             179:             TypeVector 18(float) 2
+             191:             TypeVector 18(float) 3
+             205:      6(int) Constant 1
+             358:      6(int) Constant 2
+             962:             TypePointer Input 7(ivec3)
+        963(dti):    962(ptr) Variable Input
+       4(CSMain):           2 Function None 3
+               5:             Label
+        961(dti):      8(ptr) Variable Function
+      965(param):      8(ptr) Variable Function
+             964:    7(ivec3) Load 963(dti)
+                              Store 961(dti) 964
+             966:    7(ivec3) Load 961(dti)
+                              Store 965(param) 966
+             967:           2 FunctionCall 11(@CSMain(vu3;) 965(param)
+                              Return
+                              FunctionEnd
+11(@CSMain(vu3;):           2 Function None 9
+         10(dti):      8(ptr) FunctionParameter
+              12:             Label
+              28:     27(ptr) AccessChain 10(dti) 26
+              29:      6(int) Load 28
+              30:     27(ptr) AccessChain 10(dti) 26
+              31:      6(int) Load 30
+              33:     32(ptr) AccessChain 24(data) 25 31 25
+              34:   13(ivec4) Load 33
+              36:   13(ivec4) GroupNonUniformQuadBroadcast 35 34 26
+              37:     32(ptr) AccessChain 24(data) 25 29 25
+                              Store 37 36
+              38:     27(ptr) AccessChain 10(dti) 26
+              39:      6(int) Load 38
+              40:     27(ptr) AccessChain 10(dti) 26
+              41:      6(int) Load 40
+              43:     42(ptr) AccessChain 24(data) 25 41 25 26
+              44:      6(int) Load 43
+              45:      6(int) GroupNonUniformQuadBroadcast 35 44 26
+              46:     42(ptr) AccessChain 24(data) 25 39 25 26
+                              Store 46 45
+              47:     27(ptr) AccessChain 10(dti) 26
+              48:      6(int) Load 47
+              49:     27(ptr) AccessChain 10(dti) 26
+              50:      6(int) Load 49
+              52:     32(ptr) AccessChain 24(data) 25 50 25
+              53:   13(ivec4) Load 52
+              54:   51(ivec2) VectorShuffle 53 53 0 1
+              55:   51(ivec2) GroupNonUniformQuadBroadcast 35 54 26
+              56:     32(ptr) AccessChain 24(data) 25 48 25
+              57:   13(ivec4) Load 56
+              58:   13(ivec4) VectorShuffle 57 55 4 5 2 3
+                              Store 56 58
+              59:     27(ptr) AccessChain 10(dti) 26
+              60:      6(int) Load 59
+              61:     27(ptr) AccessChain 10(dti) 26
+              62:      6(int) Load 61
+              63:     32(ptr) AccessChain 24(data) 25 62 25
+              64:   13(ivec4) Load 63
+              65:    7(ivec3) VectorShuffle 64 64 0 1 2
+              66:    7(ivec3) GroupNonUniformQuadBroadcast 35 65 26
+              67:     32(ptr) AccessChain 24(data) 25 60 25
+              68:   13(ivec4) Load 67
+              69:   13(ivec4) VectorShuffle 68 66 4 5 6 3
+                              Store 67 69
+              70:     27(ptr) AccessChain 10(dti) 26
+              71:      6(int) Load 70
+              73:     27(ptr) AccessChain 10(dti) 26
+              74:      6(int) Load 73
+              76:     75(ptr) AccessChain 24(data) 25 74 72
+              77:   15(ivec4) Load 76
+              78:   15(ivec4) GroupNonUniformQuadBroadcast 35 77 26
+              79:     75(ptr) AccessChain 24(data) 25 71 72
+                              Store 79 78
+              80:     27(ptr) AccessChain 10(dti) 26
+              81:      6(int) Load 80
+              82:     27(ptr) AccessChain 10(dti) 26
+              83:      6(int) Load 82
+              85:     84(ptr) AccessChain 24(data) 25 83 72 26
+              86:     14(int) Load 85
+              87:     14(int) GroupNonUniformQuadBroadcast 35 86 26
+              88:     84(ptr) AccessChain 24(data) 25 81 72 26
+                              Store 88 87
+              89:     27(ptr) AccessChain 10(dti) 26
+              90:      6(int) Load 89
+              91:     27(ptr) AccessChain 10(dti) 26
+              92:      6(int) Load 91
+              94:     75(ptr) AccessChain 24(data) 25 92 72
+              95:   15(ivec4) Load 94
+              96:   93(ivec2) VectorShuffle 95 95 0 1
+              97:   93(ivec2) GroupNonUniformQuadBroadcast 35 96 26
+              98:     75(ptr) AccessChain 24(data) 25 90 72
+              99:   15(ivec4) Load 98
+             100:   15(ivec4) VectorShuffle 99 97 4 5 2 3
+                              Store 98 100
+             101:     27(ptr) AccessChain 10(dti) 26
+             102:      6(int) Load 101
+             103:     27(ptr) AccessChain 10(dti) 26
+             104:      6(int) Load 103
+             106:     75(ptr) AccessChain 24(data) 25 104 72
+             107:   15(ivec4) Load 106
+             108:  105(ivec3) VectorShuffle 107 107 0 1 2
+             109:  105(ivec3) GroupNonUniformQuadBroadcast 35 108 26
+             110:     75(ptr) AccessChain 24(data) 25 102 72
+             111:   15(ivec4) Load 110
+             112:   15(ivec4) VectorShuffle 111 109 4 5 6 3
+                              Store 110 112
+             113:     27(ptr) AccessChain 10(dti) 26
+             114:      6(int) Load 113
+             116:     27(ptr) AccessChain 10(dti) 26
+             117:      6(int) Load 116
+             119:    118(ptr) AccessChain 24(data) 25 117 115
+             120:   17(fvec4) Load 119
+             121:   17(fvec4) GroupNonUniformQuadBroadcast 35 120 26
+             122:    118(ptr) AccessChain 24(data) 25 114 115
+                              Store 122 121
+             123:     27(ptr) AccessChain 10(dti) 26
+             124:      6(int) Load 123
+             125:     27(ptr) AccessChain 10(dti) 26
+             126:      6(int) Load 125
+             128:    127(ptr) AccessChain 24(data) 25 126 115 26
+             129:   16(float) Load 128
+             130:   16(float) GroupNonUniformQuadBroadcast 35 129 26
+             131:    127(ptr) AccessChain 24(data) 25 124 115 26
+                              Store 131 130
+             132:     27(ptr) AccessChain 10(dti) 26
+             133:      6(int) Load 132
+             134:     27(ptr) AccessChain 10(dti) 26
+             135:      6(int) Load 134
+             137:    118(ptr) AccessChain 24(data) 25 135 115
+             138:   17(fvec4) Load 137
+             139:  136(fvec2) VectorShuffle 138 138 0 1
+             140:  136(fvec2) GroupNonUniformQuadBroadcast 35 139 26
+             141:    118(ptr) AccessChain 24(data) 25 133 115
+             142:   17(fvec4) Load 141
+             143:   17(fvec4) VectorShuffle 142 140 4 5 2 3
+                              Store 141 143
+             144:     27(ptr) AccessChain 10(dti) 26
+             145:      6(int) Load 144
+             146:     27(ptr) AccessChain 10(dti) 26
+             147:      6(int) Load 146
+             149:    118(ptr) AccessChain 24(data) 25 147 115
+             150:   17(fvec4) Load 149
+             151:  148(fvec3) VectorShuffle 150 150 0 1 2
+             152:  148(fvec3) GroupNonUniformQuadBroadcast 35 151 26
+             153:    118(ptr) AccessChain 24(data) 25 145 115
+             154:   17(fvec4) Load 153
+             155:   17(fvec4) VectorShuffle 154 152 4 5 6 3
+                              Store 153 155
+             156:     27(ptr) AccessChain 10(dti) 26
+             157:      6(int) Load 156
+             159:     27(ptr) AccessChain 10(dti) 26
+             160:      6(int) Load 159
+             162:    161(ptr) AccessChain 24(data) 25 160 158
+             163:   19(fvec4) Load 162
+             164:   19(fvec4) GroupNonUniformQuadBroadcast 35 163 26
+             165:    161(ptr) AccessChain 24(data) 25 157 158
+                              Store 165 164
+             166:     27(ptr) AccessChain 10(dti) 26
+             167:      6(int) Load 166
+             168:     27(ptr) AccessChain 10(dti) 26
+             169:      6(int) Load 168
+             171:    170(ptr) AccessChain 24(data) 25 169 158 26
+             172:   18(float) Load 171
+             173:   18(float) GroupNonUniformQuadBroadcast 35 172 26
+             174:    170(ptr) AccessChain 24(data) 25 167 158 26
+                              Store 174 173
+             175:     27(ptr) AccessChain 10(dti) 26
+             176:      6(int) Load 175
+             177:     27(ptr) AccessChain 10(dti) 26
+             178:      6(int) Load 177
+             180:    161(ptr) AccessChain 24(data) 25 178 158
+             181:   19(fvec4) Load 180
+             182:  179(fvec2) VectorShuffle 181 181 0 1
+             183:  179(fvec2) GroupNonUniformQuadBroadcast 35 182 26
+             184:    161(ptr) AccessChain 24(data) 25 176 158
+             185:   19(fvec4) Load 184
+             186:   19(fvec4) VectorShuffle 185 183 4 5 2 3
+                              Store 184 186
+             187:     27(ptr) AccessChain 10(dti) 26
+             188:      6(int) Load 187
+             189:     27(ptr) AccessChain 10(dti) 26
+             190:      6(int) Load 189
+             192:    161(ptr) AccessChain 24(data) 25 190 158
+             193:   19(fvec4) Load 192
+             194:  191(fvec3) VectorShuffle 193 193 0 1 2
+             195:  191(fvec3) GroupNonUniformQuadBroadcast 35 194 26
+             196:    161(ptr) AccessChain 24(data) 25 188 158
+             197:   19(fvec4) Load 196
+             198:   19(fvec4) VectorShuffle 197 195 4 5 6 3
+                              Store 196 198
+             199:     27(ptr) AccessChain 10(dti) 26
+             200:      6(int) Load 199
+             201:     27(ptr) AccessChain 10(dti) 26
+             202:      6(int) Load 201
+             203:     32(ptr) AccessChain 24(data) 25 202 25
+             204:   13(ivec4) Load 203
+             206:   13(ivec4) GroupNonUniformQuadBroadcast 35 204 205
+             207:     32(ptr) AccessChain 24(data) 25 200 25
+                              Store 207 206
+             208:     27(ptr) AccessChain 10(dti) 26
+             209:      6(int) Load 208
+             210:     27(ptr) AccessChain 10(dti) 26
+             211:      6(int) Load 210
+             212:     42(ptr) AccessChain 24(data) 25 211 25 26
+             213:      6(int) Load 212
+             214:      6(int) GroupNonUniformQuadBroadcast 35 213 205
+             215:     42(ptr) AccessChain 24(data) 25 209 25 26
+                              Store 215 214
+             216:     27(ptr) AccessChain 10(dti) 26
+             217:      6(int) Load 216
+             218:     27(ptr) AccessChain 10(dti) 26
+             219:      6(int) Load 218
+             220:     32(ptr) AccessChain 24(data) 25 219 25
+             221:   13(ivec4) Load 220
+             222:   51(ivec2) VectorShuffle 221 221 0 1
+             223:   51(ivec2) GroupNonUniformQuadBroadcast 35 222 205
+             224:     32(ptr) AccessChain 24(data) 25 217 25
+             225:   13(ivec4) Load 224
+             226:   13(ivec4) VectorShuffle 225 223 4 5 2 3
+                              Store 224 226
+             227:     27(ptr) AccessChain 10(dti) 26
+             228:      6(int) Load 227
+             229:     27(ptr) AccessChain 10(dti) 26
+             230:      6(int) Load 229
+             231:     32(ptr) AccessChain 24(data) 25 230 25
+             232:   13(ivec4) Load 231
+             233:    7(ivec3) VectorShuffle 232 232 0 1 2
+             234:    7(ivec3) GroupNonUniformQuadBroadcast 35 233 205
+             235:     32(ptr) AccessChain 24(data) 25 228 25
+             236:   13(ivec4) Load 235
+             237:   13(ivec4) VectorShuffle 236 234 4 5 6 3
+                              Store 235 237
+             238:     27(ptr) AccessChain 10(dti) 26
+             239:      6(int) Load 238
+             240:     27(ptr) AccessChain 10(dti) 26
+             241:      6(int) Load 240
+             242:     75(ptr) AccessChain 24(data) 25 241 72
+             243:   15(ivec4) Load 242
+             244:   15(ivec4) GroupNonUniformQuadBroadcast 35 243 205
+             245:     75(ptr) AccessChain 24(data) 25 239 72
+                              Store 245 244
+             246:     27(ptr) AccessChain 10(dti) 26
+             247:      6(int) Load 246
+             248:     27(ptr) AccessChain 10(dti) 26
+             249:      6(int) Load 248
+             250:     84(ptr) AccessChain 24(data) 25 249 72 26
+             251:     14(int) Load 250
+             252:     14(int) GroupNonUniformQuadBroadcast 35 251 205
+             253:     84(ptr) AccessChain 24(data) 25 247 72 26
+                              Store 253 252
+             254:     27(ptr) AccessChain 10(dti) 26
+             255:      6(int) Load 254
+             256:     27(ptr) AccessChain 10(dti) 26
+             257:      6(int) Load 256
+             258:     75(ptr) AccessChain 24(data) 25 257 72
+             259:   15(ivec4) Load 258
+             260:   93(ivec2) VectorShuffle 259 259 0 1
+             261:   93(ivec2) GroupNonUniformQuadBroadcast 35 260 205
+             262:     75(ptr) AccessChain 24(data) 25 255 72
+             263:   15(ivec4) Load 262
+             264:   15(ivec4) VectorShuffle 263 261 4 5 2 3
+                              Store 262 264
+             265:     27(ptr) AccessChain 10(dti) 26
+             266:      6(int) Load 265
+             267:     27(ptr) AccessChain 10(dti) 26
+             268:      6(int) Load 267
+             269:     75(ptr) AccessChain 24(data) 25 268 72
+             270:   15(ivec4) Load 269
+             271:  105(ivec3) VectorShuffle 270 270 0 1 2
+             272:  105(ivec3) GroupNonUniformQuadBroadcast 35 271 205
+             273:     75(ptr) AccessChain 24(data) 25 266 72
+             274:   15(ivec4) Load 273
+             275:   15(ivec4) VectorShuffle 274 272 4 5 6 3
+                              Store 273 275
+             276:     27(ptr) AccessChain 10(dti) 26
+             277:      6(int) Load 276
+             278:     27(ptr) AccessChain 10(dti) 26
+             279:      6(int) Load 278
+             280:    118(ptr) AccessChain 24(data) 25 279 115
+             281:   17(fvec4) Load 280
+             282:   17(fvec4) GroupNonUniformQuadBroadcast 35 281 205
+             283:    118(ptr) AccessChain 24(data) 25 277 115
+                              Store 283 282
+             284:     27(ptr) AccessChain 10(dti) 26
+             285:      6(int) Load 284
+             286:     27(ptr) AccessChain 10(dti) 26
+             287:      6(int) Load 286
+             288:    127(ptr) AccessChain 24(data) 25 287 115 26
+             289:   16(float) Load 288
+             290:   16(float) GroupNonUniformQuadBroadcast 35 289 205
+             291:    127(ptr) AccessChain 24(data) 25 285 115 26
+                              Store 291 290
+             292:     27(ptr) AccessChain 10(dti) 26
+             293:      6(int) Load 292
+             294:     27(ptr) AccessChain 10(dti) 26
+             295:      6(int) Load 294
+             296:    118(ptr) AccessChain 24(data) 25 295 115
+             297:   17(fvec4) Load 296
+             298:  136(fvec2) VectorShuffle 297 297 0 1
+             299:  136(fvec2) GroupNonUniformQuadBroadcast 35 298 205
+             300:    118(ptr) AccessChain 24(data) 25 293 115
+             301:   17(fvec4) Load 300
+             302:   17(fvec4) VectorShuffle 301 299 4 5 2 3
+                              Store 300 302
+             303:     27(ptr) AccessChain 10(dti) 26
+             304:      6(int) Load 303
+             305:     27(ptr) AccessChain 10(dti) 26
+             306:      6(int) Load 305
+             307:    118(ptr) AccessChain 24(data) 25 306 115
+             308:   17(fvec4) Load 307
+             309:  148(fvec3) VectorShuffle 308 308 0 1 2
+             310:  148(fvec3) GroupNonUniformQuadBroadcast 35 309 205
+             311:    118(ptr) AccessChain 24(data) 25 304 115
+             312:   17(fvec4) Load 311
+             313:   17(fvec4) VectorShuffle 312 310 4 5 6 3
+                              Store 311 313
+             314:     27(ptr) AccessChain 10(dti) 26
+             315:      6(int) Load 314
+             316:     27(ptr) AccessChain 10(dti) 26
+             317:      6(int) Load 316
+             318:    161(ptr) AccessChain 24(data) 25 317 158
+             319:   19(fvec4) Load 318
+             320:   19(fvec4) GroupNonUniformQuadBroadcast 35 319 205
+             321:    161(ptr) AccessChain 24(data) 25 315 158
+                              Store 321 320
+             322:     27(ptr) AccessChain 10(dti) 26
+             323:      6(int) Load 322
+             324:     27(ptr) AccessChain 10(dti) 26
+             325:      6(int) Load 324
+             326:    170(ptr) AccessChain 24(data) 25 325 158 26
+             327:   18(float) Load 326
+             328:   18(float) GroupNonUniformQuadBroadcast 35 327 205
+             329:    170(ptr) AccessChain 24(data) 25 323 158 26
+                              Store 329 328
+             330:     27(ptr) AccessChain 10(dti) 26
+             331:      6(int) Load 330
+             332:     27(ptr) AccessChain 10(dti) 26
+             333:      6(int) Load 332
+             334:    161(ptr) AccessChain 24(data) 25 333 158
+             335:   19(fvec4) Load 334
+             336:  179(fvec2) VectorShuffle 335 335 0 1
+             337:  179(fvec2) GroupNonUniformQuadBroadcast 35 336 205
+             338:    161(ptr) AccessChain 24(data) 25 331 158
+             339:   19(fvec4) Load 338
+             340:   19(fvec4) VectorShuffle 339 337 4 5 2 3
+                              Store 338 340
+             341:     27(ptr) AccessChain 10(dti) 26
+             342:      6(int) Load 341
+             343:     27(ptr) AccessChain 10(dti) 26
+             344:      6(int) Load 343
+             345:    161(ptr) AccessChain 24(data) 25 344 158
+             346:   19(fvec4) Load 345
+             347:  191(fvec3) VectorShuffle 346 346 0 1 2
+             348:  191(fvec3) GroupNonUniformQuadBroadcast 35 347 205
+             349:    161(ptr) AccessChain 24(data) 25 342 158
+             350:   19(fvec4) Load 349
+             351:   19(fvec4) VectorShuffle 350 348 4 5 6 3
+                              Store 349 351
+             352:     27(ptr) AccessChain 10(dti) 26
+             353:      6(int) Load 352
+             354:     27(ptr) AccessChain 10(dti) 26
+             355:      6(int) Load 354
+             356:     32(ptr) AccessChain 24(data) 25 355 25
+             357:   13(ivec4) Load 356
+             359:   13(ivec4) GroupNonUniformQuadBroadcast 35 357 358
+             360:     32(ptr) AccessChain 24(data) 25 353 25
+                              Store 360 359
+             361:     27(ptr) AccessChain 10(dti) 26
+             362:      6(int) Load 361
+             363:     27(ptr) AccessChain 10(dti) 26
+             364:      6(int) Load 363
+             365:     42(ptr) AccessChain 24(data) 25 364 25 26
+             366:      6(int) Load 365
+             367:      6(int) GroupNonUniformQuadBroadcast 35 366 358
+             368:     42(ptr) AccessChain 24(data) 25 362 25 26
+                              Store 368 367
+             369:     27(ptr) AccessChain 10(dti) 26
+             370:      6(int) Load 369
+             371:     27(ptr) AccessChain 10(dti) 26
+             372:      6(int) Load 371
+             373:     32(ptr) AccessChain 24(data) 25 372 25
+             374:   13(ivec4) Load 373
+             375:   51(ivec2) VectorShuffle 374 374 0 1
+             376:   51(ivec2) GroupNonUniformQuadBroadcast 35 375 358
+             377:     32(ptr) AccessChain 24(data) 25 370 25
+             378:   13(ivec4) Load 377
+             379:   13(ivec4) VectorShuffle 378 376 4 5 2 3
+                              Store 377 379
+             380:     27(ptr) AccessChain 10(dti) 26
+             381:      6(int) Load 380
+             382:     27(ptr) AccessChain 10(dti) 26
+             383:      6(int) Load 382
+             384:     32(ptr) AccessChain 24(data) 25 383 25
+             385:   13(ivec4) Load 384
+             386:    7(ivec3) VectorShuffle 385 385 0 1 2
+             387:    7(ivec3) GroupNonUniformQuadBroadcast 35 386 358
+             388:     32(ptr) AccessChain 24(data) 25 381 25
+             389:   13(ivec4) Load 388
+             390:   13(ivec4) VectorShuffle 389 387 4 5 6 3
+                              Store 388 390
+             391:     27(ptr) AccessChain 10(dti) 26
+             392:      6(int) Load 391
+             393:     27(ptr) AccessChain 10(dti) 26
+             394:      6(int) Load 393
+             395:     75(ptr) AccessChain 24(data) 25 394 72
+             396:   15(ivec4) Load 395
+             397:   15(ivec4) GroupNonUniformQuadBroadcast 35 396 358
+             398:     75(ptr) AccessChain 24(data) 25 392 72
+                              Store 398 397
+             399:     27(ptr) AccessChain 10(dti) 26
+             400:      6(int) Load 399
+             401:     27(ptr) AccessChain 10(dti) 26
+             402:      6(int) Load 401
+             403:     84(ptr) AccessChain 24(data) 25 402 72 26
+             404:     14(int) Load 403
+             405:     14(int) GroupNonUniformQuadBroadcast 35 404 358
+             406:     84(ptr) AccessChain 24(data) 25 400 72 26
+                              Store 406 405
+             407:     27(ptr) AccessChain 10(dti) 26
+             408:      6(int) Load 407
+             409:     27(ptr) AccessChain 10(dti) 26
+             410:      6(int) Load 409
+             411:     75(ptr) AccessChain 24(data) 25 410 72
+             412:   15(ivec4) Load 411
+             413:   93(ivec2) VectorShuffle 412 412 0 1
+             414:   93(ivec2) GroupNonUniformQuadBroadcast 35 413 358
+             415:     75(ptr) AccessChain 24(data) 25 408 72
+             416:   15(ivec4) Load 415
+             417:   15(ivec4) VectorShuffle 416 414 4 5 2 3
+                              Store 415 417
+             418:     27(ptr) AccessChain 10(dti) 26
+             419:      6(int) Load 418
+             420:     27(ptr) AccessChain 10(dti) 26
+             421:      6(int) Load 420
+             422:     75(ptr) AccessChain 24(data) 25 421 72
+             423:   15(ivec4) Load 422
+             424:  105(ivec3) VectorShuffle 423 423 0 1 2
+             425:  105(ivec3) GroupNonUniformQuadBroadcast 35 424 358
+             426:     75(ptr) AccessChain 24(data) 25 419 72
+             427:   15(ivec4) Load 426
+             428:   15(ivec4) VectorShuffle 427 425 4 5 6 3
+                              Store 426 428
+             429:     27(ptr) AccessChain 10(dti) 26
+             430:      6(int) Load 429
+             431:     27(ptr) AccessChain 10(dti) 26
+             432:      6(int) Load 431
+             433:    118(ptr) AccessChain 24(data) 25 432 115
+             434:   17(fvec4) Load 433
+             435:   17(fvec4) GroupNonUniformQuadBroadcast 35 434 358
+             436:    118(ptr) AccessChain 24(data) 25 430 115
+                              Store 436 435
+             437:     27(ptr) AccessChain 10(dti) 26
+             438:      6(int) Load 437
+             439:     27(ptr) AccessChain 10(dti) 26
+             440:      6(int) Load 439
+             441:    127(ptr) AccessChain 24(data) 25 440 115 26
+             442:   16(float) Load 441
+             443:   16(float) GroupNonUniformQuadBroadcast 35 442 358
+             444:    127(ptr) AccessChain 24(data) 25 438 115 26
+                              Store 444 443
+             445:     27(ptr) AccessChain 10(dti) 26
+             446:      6(int) Load 445
+             447:     27(ptr) AccessChain 10(dti) 26
+             448:      6(int) Load 447
+             449:    118(ptr) AccessChain 24(data) 25 448 115
+             450:   17(fvec4) Load 449
+             451:  136(fvec2) VectorShuffle 450 450 0 1
+             452:  136(fvec2) GroupNonUniformQuadBroadcast 35 451 358
+             453:    118(ptr) AccessChain 24(data) 25 446 115
+             454:   17(fvec4) Load 453
+             455:   17(fvec4) VectorShuffle 454 452 4 5 2 3
+                              Store 453 455
+             456:     27(ptr) AccessChain 10(dti) 26
+             457:      6(int) Load 456
+             458:     27(ptr) AccessChain 10(dti) 26
+             459:      6(int) Load 458
+             460:    118(ptr) AccessChain 24(data) 25 459 115
+             461:   17(fvec4) Load 460
+             462:  148(fvec3) VectorShuffle 461 461 0 1 2
+             463:  148(fvec3) GroupNonUniformQuadBroadcast 35 462 358
+             464:    118(ptr) AccessChain 24(data) 25 457 115
+             465:   17(fvec4) Load 464
+             466:   17(fvec4) VectorShuffle 465 463 4 5 6 3
+                              Store 464 466
+             467:     27(ptr) AccessChain 10(dti) 26
+             468:      6(int) Load 467
+             469:     27(ptr) AccessChain 10(dti) 26
+             470:      6(int) Load 469
+             471:    161(ptr) AccessChain 24(data) 25 470 158
+             472:   19(fvec4) Load 471
+             473:   19(fvec4) GroupNonUniformQuadBroadcast 35 472 358
+             474:    161(ptr) AccessChain 24(data) 25 468 158
+                              Store 474 473
+             475:     27(ptr) AccessChain 10(dti) 26
+             476:      6(int) Load 475
+             477:     27(ptr) AccessChain 10(dti) 26
+             478:      6(int) Load 477
+             479:    170(ptr) AccessChain 24(data) 25 478 158 26
+             480:   18(float) Load 479
+             481:   18(float) GroupNonUniformQuadBroadcast 35 480 358
+             482:    170(ptr) AccessChain 24(data) 25 476 158 26
+                              Store 482 481
+             483:     27(ptr) AccessChain 10(dti) 26
+             484:      6(int) Load 483
+             485:     27(ptr) AccessChain 10(dti) 26
+             486:      6(int) Load 485
+             487:    161(ptr) AccessChain 24(data) 25 486 158
+             488:   19(fvec4) Load 487
+             489:  179(fvec2) VectorShuffle 488 488 0 1
+             490:  179(fvec2) GroupNonUniformQuadBroadcast 35 489 358
+             491:    161(ptr) AccessChain 24(data) 25 484 158
+             492:   19(fvec4) Load 491
+             493:   19(fvec4) VectorShuffle 492 490 4 5 2 3
+                              Store 491 493
+             494:     27(ptr) AccessChain 10(dti) 26
+             495:      6(int) Load 494
+             496:     27(ptr) AccessChain 10(dti) 26
+             497:      6(int) Load 496
+             498:    161(ptr) AccessChain 24(data) 25 497 158
+             499:   19(fvec4) Load 498
+             500:  191(fvec3) VectorShuffle 499 499 0 1 2
+             501:  191(fvec3) GroupNonUniformQuadBroadcast 35 500 358
+             502:    161(ptr) AccessChain 24(data) 25 495 158
+             503:   19(fvec4) Load 502
+             504:   19(fvec4) VectorShuffle 503 501 4 5 6 3
+                              Store 502 504
+             505:     27(ptr) AccessChain 10(dti) 26
+             506:      6(int) Load 505
+             507:     27(ptr) AccessChain 10(dti) 26
+             508:      6(int) Load 507
+             509:     32(ptr) AccessChain 24(data) 25 508 25
+             510:   13(ivec4) Load 509
+             511:   13(ivec4) GroupNonUniformQuadBroadcast 35 510 35
+             512:     32(ptr) AccessChain 24(data) 25 506 25
+                              Store 512 511
+             513:     27(ptr) AccessChain 10(dti) 26
+             514:      6(int) Load 513
+             515:     27(ptr) AccessChain 10(dti) 26
+             516:      6(int) Load 515
+             517:     42(ptr) AccessChain 24(data) 25 516 25 26
+             518:      6(int) Load 517
+             519:      6(int) GroupNonUniformQuadBroadcast 35 518 35
+             520:     42(ptr) AccessChain 24(data) 25 514 25 26
+                              Store 520 519
+             521:     27(ptr) AccessChain 10(dti) 26
+             522:      6(int) Load 521
+             523:     27(ptr) AccessChain 10(dti) 26
+             524:      6(int) Load 523
+             525:     32(ptr) AccessChain 24(data) 25 524 25
+             526:   13(ivec4) Load 525
+             527:   51(ivec2) VectorShuffle 526 526 0 1
+             528:   51(ivec2) GroupNonUniformQuadBroadcast 35 527 35
+             529:     32(ptr) AccessChain 24(data) 25 522 25
+             530:   13(ivec4) Load 529
+             531:   13(ivec4) VectorShuffle 530 528 4 5 2 3
+                              Store 529 531
+             532:     27(ptr) AccessChain 10(dti) 26
+             533:      6(int) Load 532
+             534:     27(ptr) AccessChain 10(dti) 26
+             535:      6(int) Load 534
+             536:     32(ptr) AccessChain 24(data) 25 535 25
+             537:   13(ivec4) Load 536
+             538:    7(ivec3) VectorShuffle 537 537 0 1 2
+             539:    7(ivec3) GroupNonUniformQuadBroadcast 35 538 35
+             540:     32(ptr) AccessChain 24(data) 25 533 25
+             541:   13(ivec4) Load 540
+             542:   13(ivec4) VectorShuffle 541 539 4 5 6 3
+                              Store 540 542
+             543:     27(ptr) AccessChain 10(dti) 26
+             544:      6(int) Load 543
+             545:     27(ptr) AccessChain 10(dti) 26
+             546:      6(int) Load 545
+             547:     75(ptr) AccessChain 24(data) 25 546 72
+             548:   15(ivec4) Load 547
+             549:   15(ivec4) GroupNonUniformQuadBroadcast 35 548 35
+             550:     75(ptr) AccessChain 24(data) 25 544 72
+                              Store 550 549
+             551:     27(ptr) AccessChain 10(dti) 26
+             552:      6(int) Load 551
+             553:     27(ptr) AccessChain 10(dti) 26
+             554:      6(int) Load 553
+             555:     84(ptr) AccessChain 24(data) 25 554 72 26
+             556:     14(int) Load 555
+             557:     14(int) GroupNonUniformQuadBroadcast 35 556 35
+             558:     84(ptr) AccessChain 24(data) 25 552 72 26
+                              Store 558 557
+             559:     27(ptr) AccessChain 10(dti) 26
+             560:      6(int) Load 559
+             561:     27(ptr) AccessChain 10(dti) 26
+             562:      6(int) Load 561
+             563:     75(ptr) AccessChain 24(data) 25 562 72
+             564:   15(ivec4) Load 563
+             565:   93(ivec2) VectorShuffle 564 564 0 1
+             566:   93(ivec2) GroupNonUniformQuadBroadcast 35 565 35
+             567:     75(ptr) AccessChain 24(data) 25 560 72
+             568:   15(ivec4) Load 567
+             569:   15(ivec4) VectorShuffle 568 566 4 5 2 3
+                              Store 567 569
+             570:     27(ptr) AccessChain 10(dti) 26
+             571:      6(int) Load 570
+             572:     27(ptr) AccessChain 10(dti) 26
+             573:      6(int) Load 572
+             574:     75(ptr) AccessChain 24(data) 25 573 72
+             575:   15(ivec4) Load 574
+             576:  105(ivec3) VectorShuffle 575 575 0 1 2
+             577:  105(ivec3) GroupNonUniformQuadBroadcast 35 576 35
+             578:     75(ptr) AccessChain 24(data) 25 571 72
+             579:   15(ivec4) Load 578
+             580:   15(ivec4) VectorShuffle 579 577 4 5 6 3
+                              Store 578 580
+             581:     27(ptr) AccessChain 10(dti) 26
+             582:      6(int) Load 581
+             583:     27(ptr) AccessChain 10(dti) 26
+             584:      6(int) Load 583
+             585:    118(ptr) AccessChain 24(data) 25 584 115
+             586:   17(fvec4) Load 585
+             587:   17(fvec4) GroupNonUniformQuadBroadcast 35 586 35
+             588:    118(ptr) AccessChain 24(data) 25 582 115
+                              Store 588 587
+             589:     27(ptr) AccessChain 10(dti) 26
+             590:      6(int) Load 589
+             591:     27(ptr) AccessChain 10(dti) 26
+             592:      6(int) Load 591
+             593:    127(ptr) AccessChain 24(data) 25 592 115 26
+             594:   16(float) Load 593
+             595:   16(float) GroupNonUniformQuadBroadcast 35 594 35
+             596:    127(ptr) AccessChain 24(data) 25 590 115 26
+                              Store 596 595
+             597:     27(ptr) AccessChain 10(dti) 26
+             598:      6(int) Load 597
+             599:     27(ptr) AccessChain 10(dti) 26
+             600:      6(int) Load 599
+             601:    118(ptr) AccessChain 24(data) 25 600 115
+             602:   17(fvec4) Load 601
+             603:  136(fvec2) VectorShuffle 602 602 0 1
+             604:  136(fvec2) GroupNonUniformQuadBroadcast 35 603 35
+             605:    118(ptr) AccessChain 24(data) 25 598 115
+             606:   17(fvec4) Load 605
+             607:   17(fvec4) VectorShuffle 606 604 4 5 2 3
+                              Store 605 607
+             608:     27(ptr) AccessChain 10(dti) 26
+             609:      6(int) Load 608
+             610:     27(ptr) AccessChain 10(dti) 26
+             611:      6(int) Load 610
+             612:    118(ptr) AccessChain 24(data) 25 611 115
+             613:   17(fvec4) Load 612
+             614:  148(fvec3) VectorShuffle 613 613 0 1 2
+             615:  148(fvec3) GroupNonUniformQuadBroadcast 35 614 35
+             616:    118(ptr) AccessChain 24(data) 25 609 115
+             617:   17(fvec4) Load 616
+             618:   17(fvec4) VectorShuffle 617 615 4 5 6 3
+                              Store 616 618
+             619:     27(ptr) AccessChain 10(dti) 26
+             620:      6(int) Load 619
+             621:     27(ptr) AccessChain 10(dti) 26
+             622:      6(int) Load 621
+             623:    161(ptr) AccessChain 24(data) 25 622 158
+             624:   19(fvec4) Load 623
+             625:   19(fvec4) GroupNonUniformQuadBroadcast 35 624 35
+             626:    161(ptr) AccessChain 24(data) 25 620 158
+                              Store 626 625
+             627:     27(ptr) AccessChain 10(dti) 26
+             628:      6(int) Load 627
+             629:     27(ptr) AccessChain 10(dti) 26
+             630:      6(int) Load 629
+             631:    170(ptr) AccessChain 24(data) 25 630 158 26
+             632:   18(float) Load 631
+             633:   18(float) GroupNonUniformQuadBroadcast 35 632 35
+             634:    170(ptr) AccessChain 24(data) 25 628 158 26
+                              Store 634 633
+             635:     27(ptr) AccessChain 10(dti) 26
+             636:      6(int) Load 635
+             637:     27(ptr) AccessChain 10(dti) 26
+             638:      6(int) Load 637
+             639:    161(ptr) AccessChain 24(data) 25 638 158
+             640:   19(fvec4) Load 639
+             641:  179(fvec2) VectorShuffle 640 640 0 1
+             642:  179(fvec2) GroupNonUniformQuadBroadcast 35 641 35
+             643:    161(ptr) AccessChain 24(data) 25 636 158
+             644:   19(fvec4) Load 643
+             645:   19(fvec4) VectorShuffle 644 642 4 5 2 3
+                              Store 643 645
+             646:     27(ptr) AccessChain 10(dti) 26
+             647:      6(int) Load 646
+             648:     27(ptr) AccessChain 10(dti) 26
+             649:      6(int) Load 648
+             650:    161(ptr) AccessChain 24(data) 25 649 158
+             651:   19(fvec4) Load 650
+             652:  191(fvec3) VectorShuffle 651 651 0 1 2
+             653:  191(fvec3) GroupNonUniformQuadBroadcast 35 652 35
+             654:    161(ptr) AccessChain 24(data) 25 647 158
+             655:   19(fvec4) Load 654
+             656:   19(fvec4) VectorShuffle 655 653 4 5 6 3
+                              Store 654 656
+             657:     27(ptr) AccessChain 10(dti) 26
+             658:      6(int) Load 657
+             659:     27(ptr) AccessChain 10(dti) 26
+             660:      6(int) Load 659
+             661:     32(ptr) AccessChain 24(data) 25 660 25
+             662:   13(ivec4) Load 661
+             663:   13(ivec4) GroupNonUniformQuadSwap 35 662 26
+             664:     32(ptr) AccessChain 24(data) 25 658 25
+                              Store 664 663
+             665:     27(ptr) AccessChain 10(dti) 26
+             666:      6(int) Load 665
+             667:     27(ptr) AccessChain 10(dti) 26
+             668:      6(int) Load 667
+             669:     42(ptr) AccessChain 24(data) 25 668 25 26
+             670:      6(int) Load 669
+             671:      6(int) GroupNonUniformQuadSwap 35 670 26
+             672:     42(ptr) AccessChain 24(data) 25 666 25 26
+                              Store 672 671
+             673:     27(ptr) AccessChain 10(dti) 26
+             674:      6(int) Load 673
+             675:     27(ptr) AccessChain 10(dti) 26
+             676:      6(int) Load 675
+             677:     32(ptr) AccessChain 24(data) 25 676 25
+             678:   13(ivec4) Load 677
+             679:   51(ivec2) VectorShuffle 678 678 0 1
+             680:   51(ivec2) GroupNonUniformQuadSwap 35 679 26
+             681:     32(ptr) AccessChain 24(data) 25 674 25
+             682:   13(ivec4) Load 681
+             683:   13(ivec4) VectorShuffle 682 680 4 5 2 3
+                              Store 681 683
+             684:     27(ptr) AccessChain 10(dti) 26
+             685:      6(int) Load 684
+             686:     27(ptr) AccessChain 10(dti) 26
+             687:      6(int) Load 686
+             688:     32(ptr) AccessChain 24(data) 25 687 25
+             689:   13(ivec4) Load 688
+             690:    7(ivec3) VectorShuffle 689 689 0 1 2
+             691:    7(ivec3) GroupNonUniformQuadSwap 35 690 26
+             692:     32(ptr) AccessChain 24(data) 25 685 25
+             693:   13(ivec4) Load 692
+             694:   13(ivec4) VectorShuffle 693 691 4 5 6 3
+                              Store 692 694
+             695:     27(ptr) AccessChain 10(dti) 26
+             696:      6(int) Load 695
+             697:     27(ptr) AccessChain 10(dti) 26
+             698:      6(int) Load 697
+             699:     75(ptr) AccessChain 24(data) 25 698 72
+             700:   15(ivec4) Load 699
+             701:   15(ivec4) GroupNonUniformQuadSwap 35 700 26
+             702:     75(ptr) AccessChain 24(data) 25 696 72
+                              Store 702 701
+             703:     27(ptr) AccessChain 10(dti) 26
+             704:      6(int) Load 703
+             705:     27(ptr) AccessChain 10(dti) 26
+             706:      6(int) Load 705
+             707:     84(ptr) AccessChain 24(data) 25 706 72 26
+             708:     14(int) Load 707
+             709:     14(int) GroupNonUniformQuadSwap 35 708 26
+             710:     84(ptr) AccessChain 24(data) 25 704 72 26
+                              Store 710 709
+             711:     27(ptr) AccessChain 10(dti) 26
+             712:      6(int) Load 711
+             713:     27(ptr) AccessChain 10(dti) 26
+             714:      6(int) Load 713
+             715:     75(ptr) AccessChain 24(data) 25 714 72
+             716:   15(ivec4) Load 715
+             717:   93(ivec2) VectorShuffle 716 716 0 1
+             718:   93(ivec2) GroupNonUniformQuadSwap 35 717 26
+             719:     75(ptr) AccessChain 24(data) 25 712 72
+             720:   15(ivec4) Load 719
+             721:   15(ivec4) VectorShuffle 720 718 4 5 2 3
+                              Store 719 721
+             722:     27(ptr) AccessChain 10(dti) 26
+             723:      6(int) Load 722
+             724:     27(ptr) AccessChain 10(dti) 26
+             725:      6(int) Load 724
+             726:     75(ptr) AccessChain 24(data) 25 725 72
+             727:   15(ivec4) Load 726
+             728:  105(ivec3) VectorShuffle 727 727 0 1 2
+             729:  105(ivec3) GroupNonUniformQuadSwap 35 728 26
+             730:     75(ptr) AccessChain 24(data) 25 723 72
+             731:   15(ivec4) Load 730
+             732:   15(ivec4) VectorShuffle 731 729 4 5 6 3
+                              Store 730 732
+             733:     27(ptr) AccessChain 10(dti) 26
+             734:      6(int) Load 733
+             735:     27(ptr) AccessChain 10(dti) 26
+             736:      6(int) Load 735
+             737:    118(ptr) AccessChain 24(data) 25 736 115
+             738:   17(fvec4) Load 737
+             739:   17(fvec4) GroupNonUniformQuadSwap 35 738 26
+             740:    118(ptr) AccessChain 24(data) 25 734 115
+                              Store 740 739
+             741:     27(ptr) AccessChain 10(dti) 26
+             742:      6(int) Load 741
+             743:     27(ptr) AccessChain 10(dti) 26
+             744:      6(int) Load 743
+             745:    127(ptr) AccessChain 24(data) 25 744 115 26
+             746:   16(float) Load 745
+             747:   16(float) GroupNonUniformQuadSwap 35 746 26
+             748:    127(ptr) AccessChain 24(data) 25 742 115 26
+                              Store 748 747
+             749:     27(ptr) AccessChain 10(dti) 26
+             750:      6(int) Load 749
+             751:     27(ptr) AccessChain 10(dti) 26
+             752:      6(int) Load 751
+             753:    118(ptr) AccessChain 24(data) 25 752 115
+             754:   17(fvec4) Load 753
+             755:  136(fvec2) VectorShuffle 754 754 0 1
+             756:  136(fvec2) GroupNonUniformQuadSwap 35 755 26
+             757:    118(ptr) AccessChain 24(data) 25 750 115
+             758:   17(fvec4) Load 757
+             759:   17(fvec4) VectorShuffle 758 756 4 5 2 3
+                              Store 757 759
+             760:     27(ptr) AccessChain 10(dti) 26
+             761:      6(int) Load 760
+             762:     27(ptr) AccessChain 10(dti) 26
+             763:      6(int) Load 762
+             764:    118(ptr) AccessChain 24(data) 25 763 115
+             765:   17(fvec4) Load 764
+             766:  148(fvec3) VectorShuffle 765 765 0 1 2
+             767:  148(fvec3) GroupNonUniformQuadSwap 35 766 26
+             768:    118(ptr) AccessChain 24(data) 25 761 115
+             769:   17(fvec4) Load 768
+             770:   17(fvec4) VectorShuffle 769 767 4 5 6 3
+                              Store 768 770
+             771:     27(ptr) AccessChain 10(dti) 26
+             772:      6(int) Load 771
+             773:     27(ptr) AccessChain 10(dti) 26
+             774:      6(int) Load 773
+             775:    161(ptr) AccessChain 24(data) 25 774 158
+             776:   19(fvec4) Load 775
+             777:   19(fvec4) GroupNonUniformQuadSwap 35 776 26
+             778:    161(ptr) AccessChain 24(data) 25 772 158
+                              Store 778 777
+             779:     27(ptr) AccessChain 10(dti) 26
+             780:      6(int) Load 779
+             781:     27(ptr) AccessChain 10(dti) 26
+             782:      6(int) Load 781
+             783:    170(ptr) AccessChain 24(data) 25 782 158 26
+             784:   18(float) Load 783
+             785:   18(float) GroupNonUniformQuadSwap 35 784 26
+             786:    170(ptr) AccessChain 24(data) 25 780 158 26
+                              Store 786 785
+             787:     27(ptr) AccessChain 10(dti) 26
+             788:      6(int) Load 787
+             789:     27(ptr) AccessChain 10(dti) 26
+             790:      6(int) Load 789
+             791:    161(ptr) AccessChain 24(data) 25 790 158
+             792:   19(fvec4) Load 791
+             793:  179(fvec2) VectorShuffle 792 792 0 1
+             794:  179(fvec2) GroupNonUniformQuadSwap 35 793 26
+             795:    161(ptr) AccessChain 24(data) 25 788 158
+             796:   19(fvec4) Load 795
+             797:   19(fvec4) VectorShuffle 796 794 4 5 2 3
+                              Store 795 797
+             798:     27(ptr) AccessChain 10(dti) 26
+             799:      6(int) Load 798
+             800:     27(ptr) AccessChain 10(dti) 26
+             801:      6(int) Load 800
+             802:    161(ptr) AccessChain 24(data) 25 801 158
+             803:   19(fvec4) Load 802
+             804:  191(fvec3) VectorShuffle 803 803 0 1 2
+             805:  191(fvec3) GroupNonUniformQuadSwap 35 804 26
+             806:    161(ptr) AccessChain 24(data) 25 799 158
+             807:   19(fvec4) Load 806
+             808:   19(fvec4) VectorShuffle 807 805 4 5 6 3
+                              Store 806 808
+             809:     27(ptr) AccessChain 10(dti) 26
+             810:      6(int) Load 809
+             811:     27(ptr) AccessChain 10(dti) 26
+             812:      6(int) Load 811
+             813:     32(ptr) AccessChain 24(data) 25 812 25
+             814:   13(ivec4) Load 813
+             815:   13(ivec4) GroupNonUniformQuadSwap 35 814 205
+             816:     32(ptr) AccessChain 24(data) 25 810 25
+                              Store 816 815
+             817:     27(ptr) AccessChain 10(dti) 26
+             818:      6(int) Load 817
+             819:     27(ptr) AccessChain 10(dti) 26
+             820:      6(int) Load 819
+             821:     42(ptr) AccessChain 24(data) 25 820 25 26
+             822:      6(int) Load 821
+             823:      6(int) GroupNonUniformQuadSwap 35 822 205
+             824:     42(ptr) AccessChain 24(data) 25 818 25 26
+                              Store 824 823
+             825:     27(ptr) AccessChain 10(dti) 26
+             826:      6(int) Load 825
+             827:     27(ptr) AccessChain 10(dti) 26
+             828:      6(int) Load 827
+             829:     32(ptr) AccessChain 24(data) 25 828 25
+             830:   13(ivec4) Load 829
+             831:   51(ivec2) VectorShuffle 830 830 0 1
+             832:   51(ivec2) GroupNonUniformQuadSwap 35 831 205
+             833:     32(ptr) AccessChain 24(data) 25 826 25
+             834:   13(ivec4) Load 833
+             835:   13(ivec4) VectorShuffle 834 832 4 5 2 3
+                              Store 833 835
+             836:     27(ptr) AccessChain 10(dti) 26
+             837:      6(int) Load 836
+             838:     27(ptr) AccessChain 10(dti) 26
+             839:      6(int) Load 838
+             840:     32(ptr) AccessChain 24(data) 25 839 25
+             841:   13(ivec4) Load 840
+             842:    7(ivec3) VectorShuffle 841 841 0 1 2
+             843:    7(ivec3) GroupNonUniformQuadSwap 35 842 205
+             844:     32(ptr) AccessChain 24(data) 25 837 25
+             845:   13(ivec4) Load 844
+             846:   13(ivec4) VectorShuffle 845 843 4 5 6 3
+                              Store 844 846
+             847:     27(ptr) AccessChain 10(dti) 26
+             848:      6(int) Load 847
+             849:     27(ptr) AccessChain 10(dti) 26
+             850:      6(int) Load 849
+             851:     75(ptr) AccessChain 24(data) 25 850 72
+             852:   15(ivec4) Load 851
+             853:   15(ivec4) GroupNonUniformQuadSwap 35 852 205
+             854:     75(ptr) AccessChain 24(data) 25 848 72
+                              Store 854 853
+             855:     27(ptr) AccessChain 10(dti) 26
+             856:      6(int) Load 855
+             857:     27(ptr) AccessChain 10(dti) 26
+             858:      6(int) Load 857
+             859:     84(ptr) AccessChain 24(data) 25 858 72 26
+             860:     14(int) Load 859
+             861:     14(int) GroupNonUniformQuadSwap 35 860 205
+             862:     84(ptr) AccessChain 24(data) 25 856 72 26
+                              Store 862 861
+             863:     27(ptr) AccessChain 10(dti) 26
+             864:      6(int) Load 863
+             865:     27(ptr) AccessChain 10(dti) 26
+             866:      6(int) Load 865
+             867:     75(ptr) AccessChain 24(data) 25 866 72
+             868:   15(ivec4) Load 867
+             869:   93(ivec2) VectorShuffle 868 868 0 1
+             870:   93(ivec2) GroupNonUniformQuadSwap 35 869 205
+             871:     75(ptr) AccessChain 24(data) 25 864 72
+             872:   15(ivec4) Load 871
+             873:   15(ivec4) VectorShuffle 872 870 4 5 2 3
+                              Store 871 873
+             874:     27(ptr) AccessChain 10(dti) 26
+             875:      6(int) Load 874
+             876:     27(ptr) AccessChain 10(dti) 26
+             877:      6(int) Load 876
+             878:     75(ptr) AccessChain 24(data) 25 877 72
+             879:   15(ivec4) Load 878
+             880:  105(ivec3) VectorShuffle 879 879 0 1 2
+             881:  105(ivec3) GroupNonUniformQuadSwap 35 880 205
+             882:     75(ptr) AccessChain 24(data) 25 875 72
+             883:   15(ivec4) Load 882
+             884:   15(ivec4) VectorShuffle 883 881 4 5 6 3
+                              Store 882 884
+             885:     27(ptr) AccessChain 10(dti) 26
+             886:      6(int) Load 885
+             887:     27(ptr) AccessChain 10(dti) 26
+             888:      6(int) Load 887
+             889:    118(ptr) AccessChain 24(data) 25 888 115
+             890:   17(fvec4) Load 889
+             891:   17(fvec4) GroupNonUniformQuadSwap 35 890 205
+             892:    118(ptr) AccessChain 24(data) 25 886 115
+                              Store 892 891
+             893:     27(ptr) AccessChain 10(dti) 26
+             894:      6(int) Load 893
+             895:     27(ptr) AccessChain 10(dti) 26
+             896:      6(int) Load 895
+             897:    127(ptr) AccessChain 24(data) 25 896 115 26
+             898:   16(float) Load 897
+             899:   16(float) GroupNonUniformQuadSwap 35 898 205
+             900:    127(ptr) AccessChain 24(data) 25 894 115 26
+                              Store 900 899
+             901:     27(ptr) AccessChain 10(dti) 26
+             902:      6(int) Load 901
+             903:     27(ptr) AccessChain 10(dti) 26
+             904:      6(int) Load 903
+             905:    118(ptr) AccessChain 24(data) 25 904 115
+             906:   17(fvec4) Load 905
+             907:  136(fvec2) VectorShuffle 906 906 0 1
+             908:  136(fvec2) GroupNonUniformQuadSwap 35 907 205
+             909:    118(ptr) AccessChain 24(data) 25 902 115
+             910:   17(fvec4) Load 909
+             911:   17(fvec4) VectorShuffle 910 908 4 5 2 3
+                              Store 909 911
+             912:     27(ptr) AccessChain 10(dti) 26
+             913:      6(int) Load 912
+             914:     27(ptr) AccessChain 10(dti) 26
+             915:      6(int) Load 914
+             916:    118(ptr) AccessChain 24(data) 25 915 115
+             917:   17(fvec4) Load 916
+             918:  148(fvec3) VectorShuffle 917 917 0 1 2
+             919:  148(fvec3) GroupNonUniformQuadSwap 35 918 205
+             920:    118(ptr) AccessChain 24(data) 25 913 115
+             921:   17(fvec4) Load 920
+             922:   17(fvec4) VectorShuffle 921 919 4 5 6 3
+                              Store 920 922
+             923:     27(ptr) AccessChain 10(dti) 26
+             924:      6(int) Load 923
+             925:     27(ptr) AccessChain 10(dti) 26
+             926:      6(int) Load 925
+             927:    161(ptr) AccessChain 24(data) 25 926 158
+             928:   19(fvec4) Load 927
+             929:   19(fvec4) GroupNonUniformQuadSwap 35 928 205
+             930:    161(ptr) AccessChain 24(data) 25 924 158
+                              Store 930 929
+             931:     27(ptr) AccessChain 10(dti) 26
+             932:      6(int) Load 931
+             933:     27(ptr) AccessChain 10(dti) 26
+             934:      6(int) Load 933
+             935:    170(ptr) AccessChain 24(data) 25 934 158 26
+             936:   18(float) Load 935
+             937:   18(float) GroupNonUniformQuadSwap 35 936 205
+             938:    170(ptr) AccessChain 24(data) 25 932 158 26
+                              Store 938 937
+             939:     27(ptr) AccessChain 10(dti) 26
+             940:      6(int) Load 939
+             941:     27(ptr) AccessChain 10(dti) 26
+             942:      6(int) Load 941
+             943:    161(ptr) AccessChain 24(data) 25 942 158
+             944:   19(fvec4) Load 943
+             945:  179(fvec2) VectorShuffle 944 944 0 1
+             946:  179(fvec2) GroupNonUniformQuadSwap 35 945 205
+             947:    161(ptr) AccessChain 24(data) 25 940 158
+             948:   19(fvec4) Load 947
+             949:   19(fvec4) VectorShuffle 948 946 4 5 2 3
+                              Store 947 949
+             950:     27(ptr) AccessChain 10(dti) 26
+             951:      6(int) Load 950
+             952:     27(ptr) AccessChain 10(dti) 26
+             953:      6(int) Load 952
+             954:    161(ptr) AccessChain 24(data) 25 953 158
+             955:   19(fvec4) Load 954
+             956:  191(fvec3) VectorShuffle 955 955 0 1 2
+             957:  191(fvec3) GroupNonUniformQuadSwap 35 956 205
+             958:    161(ptr) AccessChain 24(data) 25 951 158
+             959:   19(fvec4) Load 958
+             960:   19(fvec4) VectorShuffle 959 957 4 5 6 3
+                              Store 958 960
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.wavequery.comp.out b/Test/baseResults/hlsl.wavequery.comp.out
new file mode 100644
index 0000000..4d3fac1
--- /dev/null
+++ b/Test/baseResults/hlsl.wavequery.comp.out
@@ -0,0 +1,116 @@
+hlsl.wavequery.comp
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:5  Function Definition: @CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:6      move second child to first child ( temp uint)
+0:6        indirect index (layout( row_major std430) buffer uint)
+0:6          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:6            Constant:
+0:6              0 (const uint)
+0:6          '@gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:6        Test condition and select ( temp uint)
+0:6          Condition
+0:6          subgroupElect ( temp bool)
+0:6          true case
+0:6          '@gl_SubgroupSize' ( in uint unknown built-in variable)
+0:6          false case
+0:6          Constant:
+0:6            0 (const uint)
+0:5  Function Definition: CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:5      Function Call: @CSMain( ( temp void)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:5  Function Definition: @CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:6      move second child to first child ( temp uint)
+0:6        indirect index (layout( row_major std430) buffer uint)
+0:6          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:6            Constant:
+0:6              0 (const uint)
+0:6          '@gl_SubgroupInvocationID' ( in uint unknown built-in variable)
+0:6        Test condition and select ( temp uint)
+0:6          Condition
+0:6          subgroupElect ( temp bool)
+0:6          true case
+0:6          '@gl_SubgroupSize' ( in uint unknown built-in variable)
+0:6          false case
+0:6          Constant:
+0:6            0 (const uint)
+0:5  Function Definition: CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:5      Function Call: @CSMain( ( temp void)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 28
+
+                              Capability Shader
+                              Capability GroupNonUniform
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "CSMain" 16 21
+                              ExecutionMode 4 LocalSize 32 16 1
+                              Source HLSL 500
+                              Name 4  "CSMain"
+                              Name 6  "@CSMain("
+                              Name 10  "data"
+                              MemberName 10(data) 0  "@data"
+                              Name 12  "data"
+                              Name 16  "@gl_SubgroupInvocationID"
+                              Name 21  "@gl_SubgroupSize"
+                              Decorate 9 ArrayStride 4
+                              MemberDecorate 10(data) 0 Offset 0
+                              Decorate 10(data) BufferBlock
+                              Decorate 12(data) DescriptorSet 0
+                              Decorate 16(@gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 21(@gl_SubgroupSize) BuiltIn SubgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               8:             TypeInt 32 0
+               9:             TypeRuntimeArray 8(int)
+        10(data):             TypeStruct 9
+              11:             TypePointer Uniform 10(data)
+        12(data):     11(ptr) Variable Uniform
+              13:             TypeInt 32 1
+              14:     13(int) Constant 0
+              15:             TypePointer Input 8(int)
+16(@gl_SubgroupInvocationID):     15(ptr) Variable Input
+              18:             TypeBool
+              19:      8(int) Constant 3
+21(@gl_SubgroupSize):     15(ptr) Variable Input
+              23:      8(int) Constant 0
+              25:             TypePointer Uniform 8(int)
+       4(CSMain):           2 Function None 3
+               5:             Label
+              27:           2 FunctionCall 6(@CSMain()
+                              Return
+                              FunctionEnd
+     6(@CSMain():           2 Function None 3
+               7:             Label
+              17:      8(int) Load 16(@gl_SubgroupInvocationID)
+              20:    18(bool) GroupNonUniformElect 19
+              22:      8(int) Load 21(@gl_SubgroupSize)
+              24:      8(int) Select 20 22 23
+              26:     25(ptr) AccessChain 12(data) 14 17
+                              Store 26 24
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.wavequery.frag.out b/Test/baseResults/hlsl.wavequery.frag.out
new file mode 100644
index 0000000..9da82e1
--- /dev/null
+++ b/Test/baseResults/hlsl.wavequery.frag.out
@@ -0,0 +1,124 @@
+hlsl.wavequery.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:2  Function Definition: @PixelShaderFunction( ( temp 4-component vector of float)
+0:2    Function Parameters: 
+0:?     Sequence
+0:3      Test condition and select ( temp void)
+0:3        Condition
+0:3        '@gl_HelperInvocation' ( in bool HelperInvocation)
+0:3        true case
+0:?         Sequence
+0:5          Branch: Return with expression
+0:?             Constant:
+0:?               1.000000
+0:?               2.000000
+0:?               3.000000
+0:?               4.000000
+0:3        false case
+0:?         Sequence
+0:9          Branch: Return with expression
+0:?             Constant:
+0:?               4.000000
+0:?               3.000000
+0:?               2.000000
+0:?               1.000000
+0:2  Function Definition: PixelShaderFunction( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2        Function Call: @PixelShaderFunction( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:2  Function Definition: @PixelShaderFunction( ( temp 4-component vector of float)
+0:2    Function Parameters: 
+0:?     Sequence
+0:3      Test condition and select ( temp void)
+0:3        Condition
+0:3        '@gl_HelperInvocation' ( in bool HelperInvocation)
+0:3        true case
+0:?         Sequence
+0:5          Branch: Return with expression
+0:?             Constant:
+0:?               1.000000
+0:?               2.000000
+0:?               3.000000
+0:?               4.000000
+0:3        false case
+0:?         Sequence
+0:9          Branch: Return with expression
+0:?             Constant:
+0:?               4.000000
+0:?               3.000000
+0:?               2.000000
+0:?               1.000000
+0:2  Function Definition: PixelShaderFunction( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2        Function Call: @PixelShaderFunction( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 30
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "PixelShaderFunction" 13 28
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "PixelShaderFunction"
+                              Name 9  "@PixelShaderFunction("
+                              Name 13  "@gl_HelperInvocation"
+                              Name 28  "@entryPointOutput"
+                              Decorate 13(@gl_HelperInvocation) BuiltIn HelperInvocation
+                              Decorate 28(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypeFunction 7(fvec4)
+              11:             TypeBool
+              12:             TypePointer Input 11(bool)
+13(@gl_HelperInvocation):     12(ptr) Variable Input
+              17:    6(float) Constant 1065353216
+              18:    6(float) Constant 1073741824
+              19:    6(float) Constant 1077936128
+              20:    6(float) Constant 1082130432
+              21:    7(fvec4) ConstantComposite 17 18 19 20
+              24:    7(fvec4) ConstantComposite 20 19 18 17
+              27:             TypePointer Output 7(fvec4)
+28(@entryPointOutput):     27(ptr) Variable Output
+4(PixelShaderFunction):           2 Function None 3
+               5:             Label
+              29:    7(fvec4) FunctionCall 9(@PixelShaderFunction()
+                              Store 28(@entryPointOutput) 29
+                              Return
+                              FunctionEnd
+9(@PixelShaderFunction():    7(fvec4) Function None 8
+              10:             Label
+              14:    11(bool) Load 13(@gl_HelperInvocation)
+                              SelectionMerge 16 None
+                              BranchConditional 14 15 23
+              15:               Label
+                                ReturnValue 21
+              23:               Label
+                                ReturnValue 24
+              16:             Label
+              26:    7(fvec4) Undef
+                              ReturnValue 26
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.wavereduction.comp.out b/Test/baseResults/hlsl.wavereduction.comp.out
new file mode 100644
index 0000000..0227f66
--- /dev/null
+++ b/Test/baseResults/hlsl.wavereduction.comp.out
@@ -0,0 +1,7133 @@
+hlsl.wavereduction.comp
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:13  Function Definition: @CSMain(vu3; ( temp void)
+0:13    Function Parameters: 
+0:13      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:14      move second child to first child ( temp 4-component vector of uint)
+0:14        u: direct index for structure ( temp 4-component vector of uint)
+0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14              Constant:
+0:14                0 (const uint)
+0:14            direct index ( temp uint)
+0:14              'dti' ( in 3-component vector of uint)
+0:14              Constant:
+0:14                0 (const int)
+0:14          Constant:
+0:14            0 (const int)
+0:14        subgroupAdd ( temp 4-component vector of uint)
+0:14          u: direct index for structure ( temp 4-component vector of uint)
+0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14                Constant:
+0:14                  0 (const uint)
+0:14              direct index ( temp uint)
+0:14                'dti' ( in 3-component vector of uint)
+0:14                Constant:
+0:14                  0 (const int)
+0:14            Constant:
+0:14              0 (const int)
+0:15      move second child to first child ( temp uint)
+0:15        direct index ( temp uint)
+0:15          u: direct index for structure ( temp 4-component vector of uint)
+0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                Constant:
+0:15                  0 (const uint)
+0:15              direct index ( temp uint)
+0:15                'dti' ( in 3-component vector of uint)
+0:15                Constant:
+0:15                  0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const int)
+0:15        subgroupAdd ( temp uint)
+0:15          direct index ( temp uint)
+0:15            u: direct index for structure ( temp 4-component vector of uint)
+0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                  Constant:
+0:15                    0 (const uint)
+0:15                direct index ( temp uint)
+0:15                  'dti' ( in 3-component vector of uint)
+0:15                  Constant:
+0:15                    0 (const int)
+0:15              Constant:
+0:15                0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:16      move second child to first child ( temp 2-component vector of uint)
+0:16        vector swizzle ( temp 2-component vector of uint)
+0:16          u: direct index for structure ( temp 4-component vector of uint)
+0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                Constant:
+0:16                  0 (const uint)
+0:16              direct index ( temp uint)
+0:16                'dti' ( in 3-component vector of uint)
+0:16                Constant:
+0:16                  0 (const int)
+0:16            Constant:
+0:16              0 (const int)
+0:16          Sequence
+0:16            Constant:
+0:16              0 (const int)
+0:16            Constant:
+0:16              1 (const int)
+0:16        subgroupAdd ( temp 2-component vector of uint)
+0:16          vector swizzle ( temp 2-component vector of uint)
+0:16            u: direct index for structure ( temp 4-component vector of uint)
+0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                  Constant:
+0:16                    0 (const uint)
+0:16                direct index ( temp uint)
+0:16                  'dti' ( in 3-component vector of uint)
+0:16                  Constant:
+0:16                    0 (const int)
+0:16              Constant:
+0:16                0 (const int)
+0:16            Sequence
+0:16              Constant:
+0:16                0 (const int)
+0:16              Constant:
+0:16                1 (const int)
+0:17      move second child to first child ( temp 3-component vector of uint)
+0:17        vector swizzle ( temp 3-component vector of uint)
+0:17          u: direct index for structure ( temp 4-component vector of uint)
+0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                Constant:
+0:17                  0 (const uint)
+0:17              direct index ( temp uint)
+0:17                'dti' ( in 3-component vector of uint)
+0:17                Constant:
+0:17                  0 (const int)
+0:17            Constant:
+0:17              0 (const int)
+0:17          Sequence
+0:17            Constant:
+0:17              0 (const int)
+0:17            Constant:
+0:17              1 (const int)
+0:17            Constant:
+0:17              2 (const int)
+0:17        subgroupAdd ( temp 3-component vector of uint)
+0:17          vector swizzle ( temp 3-component vector of uint)
+0:17            u: direct index for structure ( temp 4-component vector of uint)
+0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                  Constant:
+0:17                    0 (const uint)
+0:17                direct index ( temp uint)
+0:17                  'dti' ( in 3-component vector of uint)
+0:17                  Constant:
+0:17                    0 (const int)
+0:17              Constant:
+0:17                0 (const int)
+0:17            Sequence
+0:17              Constant:
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:17              Constant:
+0:17                2 (const int)
+0:19      move second child to first child ( temp 4-component vector of int)
+0:19        i: direct index for structure ( temp 4-component vector of int)
+0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            direct index ( temp uint)
+0:19              'dti' ( in 3-component vector of uint)
+0:19              Constant:
+0:19                0 (const int)
+0:19          Constant:
+0:19            1 (const int)
+0:19        subgroupAdd ( temp 4-component vector of int)
+0:19          i: direct index for structure ( temp 4-component vector of int)
+0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19                Constant:
+0:19                  0 (const uint)
+0:19              direct index ( temp uint)
+0:19                'dti' ( in 3-component vector of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:20      move second child to first child ( temp int)
+0:20        direct index ( temp int)
+0:20          i: direct index for structure ( temp 4-component vector of int)
+0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                Constant:
+0:20                  0 (const uint)
+0:20              direct index ( temp uint)
+0:20                'dti' ( in 3-component vector of uint)
+0:20                Constant:
+0:20                  0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        subgroupAdd ( temp int)
+0:20          direct index ( temp int)
+0:20            i: direct index for structure ( temp 4-component vector of int)
+0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                  Constant:
+0:20                    0 (const uint)
+0:20                direct index ( temp uint)
+0:20                  'dti' ( in 3-component vector of uint)
+0:20                  Constant:
+0:20                    0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:21      move second child to first child ( temp 2-component vector of int)
+0:21        vector swizzle ( temp 2-component vector of int)
+0:21          i: direct index for structure ( temp 4-component vector of int)
+0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                Constant:
+0:21                  0 (const uint)
+0:21              direct index ( temp uint)
+0:21                'dti' ( in 3-component vector of uint)
+0:21                Constant:
+0:21                  0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupAdd ( temp 2-component vector of int)
+0:21          vector swizzle ( temp 2-component vector of int)
+0:21            i: direct index for structure ( temp 4-component vector of int)
+0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                  Constant:
+0:21                    0 (const uint)
+0:21                direct index ( temp uint)
+0:21                  'dti' ( in 3-component vector of uint)
+0:21                  Constant:
+0:21                    0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:22      move second child to first child ( temp 3-component vector of int)
+0:22        vector swizzle ( temp 3-component vector of int)
+0:22          i: direct index for structure ( temp 4-component vector of int)
+0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                Constant:
+0:22                  0 (const uint)
+0:22              direct index ( temp uint)
+0:22                'dti' ( in 3-component vector of uint)
+0:22                Constant:
+0:22                  0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22            Constant:
+0:22              2 (const int)
+0:22        subgroupAdd ( temp 3-component vector of int)
+0:22          vector swizzle ( temp 3-component vector of int)
+0:22            i: direct index for structure ( temp 4-component vector of int)
+0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                  Constant:
+0:22                    0 (const uint)
+0:22                direct index ( temp uint)
+0:22                  'dti' ( in 3-component vector of uint)
+0:22                  Constant:
+0:22                    0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:24      move second child to first child ( temp 4-component vector of float)
+0:24        f: direct index for structure ( temp 4-component vector of float)
+0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24              Constant:
+0:24                0 (const uint)
+0:24            direct index ( temp uint)
+0:24              'dti' ( in 3-component vector of uint)
+0:24              Constant:
+0:24                0 (const int)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupAdd ( temp 4-component vector of float)
+0:24          f: direct index for structure ( temp 4-component vector of float)
+0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24                Constant:
+0:24                  0 (const uint)
+0:24              direct index ( temp uint)
+0:24                'dti' ( in 3-component vector of uint)
+0:24                Constant:
+0:24                  0 (const int)
+0:24            Constant:
+0:24              2 (const int)
+0:25      move second child to first child ( temp float)
+0:25        direct index ( temp float)
+0:25          f: direct index for structure ( temp 4-component vector of float)
+0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                Constant:
+0:25                  0 (const uint)
+0:25              direct index ( temp uint)
+0:25                'dti' ( in 3-component vector of uint)
+0:25                Constant:
+0:25                  0 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25          Constant:
+0:25            0 (const int)
+0:25        subgroupAdd ( temp float)
+0:25          direct index ( temp float)
+0:25            f: direct index for structure ( temp 4-component vector of float)
+0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                  Constant:
+0:25                    0 (const uint)
+0:25                direct index ( temp uint)
+0:25                  'dti' ( in 3-component vector of uint)
+0:25                  Constant:
+0:25                    0 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:26      move second child to first child ( temp 2-component vector of float)
+0:26        vector swizzle ( temp 2-component vector of float)
+0:26          f: direct index for structure ( temp 4-component vector of float)
+0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26              direct index ( temp uint)
+0:26                'dti' ( in 3-component vector of uint)
+0:26                Constant:
+0:26                  0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupAdd ( temp 2-component vector of float)
+0:26          vector swizzle ( temp 2-component vector of float)
+0:26            f: direct index for structure ( temp 4-component vector of float)
+0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                  Constant:
+0:26                    0 (const uint)
+0:26                direct index ( temp uint)
+0:26                  'dti' ( in 3-component vector of uint)
+0:26                  Constant:
+0:26                    0 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:27      move second child to first child ( temp 3-component vector of float)
+0:27        vector swizzle ( temp 3-component vector of float)
+0:27          f: direct index for structure ( temp 4-component vector of float)
+0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                Constant:
+0:27                  0 (const uint)
+0:27              direct index ( temp uint)
+0:27                'dti' ( in 3-component vector of uint)
+0:27                Constant:
+0:27                  0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupAdd ( temp 3-component vector of float)
+0:27          vector swizzle ( temp 3-component vector of float)
+0:27            f: direct index for structure ( temp 4-component vector of float)
+0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                  Constant:
+0:27                    0 (const uint)
+0:27                direct index ( temp uint)
+0:27                  'dti' ( in 3-component vector of uint)
+0:27                  Constant:
+0:27                    0 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:29      move second child to first child ( temp 4-component vector of double)
+0:29        d: direct index for structure ( temp 4-component vector of double)
+0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29              Constant:
+0:29                0 (const uint)
+0:29            direct index ( temp uint)
+0:29              'dti' ( in 3-component vector of uint)
+0:29              Constant:
+0:29                0 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        subgroupAdd ( temp 4-component vector of double)
+0:29          d: direct index for structure ( temp 4-component vector of double)
+0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29                Constant:
+0:29                  0 (const uint)
+0:29              direct index ( temp uint)
+0:29                'dti' ( in 3-component vector of uint)
+0:29                Constant:
+0:29                  0 (const int)
+0:29            Constant:
+0:29              3 (const int)
+0:30      move second child to first child ( temp double)
+0:30        direct index ( temp double)
+0:30          d: direct index for structure ( temp 4-component vector of double)
+0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                Constant:
+0:30                  0 (const uint)
+0:30              direct index ( temp uint)
+0:30                'dti' ( in 3-component vector of uint)
+0:30                Constant:
+0:30                  0 (const int)
+0:30            Constant:
+0:30              3 (const int)
+0:30          Constant:
+0:30            0 (const int)
+0:30        subgroupAdd ( temp double)
+0:30          direct index ( temp double)
+0:30            d: direct index for structure ( temp 4-component vector of double)
+0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                  Constant:
+0:30                    0 (const uint)
+0:30                direct index ( temp uint)
+0:30                  'dti' ( in 3-component vector of uint)
+0:30                  Constant:
+0:30                    0 (const int)
+0:30              Constant:
+0:30                3 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:31      move second child to first child ( temp 2-component vector of double)
+0:31        vector swizzle ( temp 2-component vector of double)
+0:31          d: direct index for structure ( temp 4-component vector of double)
+0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                Constant:
+0:31                  0 (const uint)
+0:31              direct index ( temp uint)
+0:31                'dti' ( in 3-component vector of uint)
+0:31                Constant:
+0:31                  0 (const int)
+0:31            Constant:
+0:31              3 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31        subgroupAdd ( temp 2-component vector of double)
+0:31          vector swizzle ( temp 2-component vector of double)
+0:31            d: direct index for structure ( temp 4-component vector of double)
+0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                  Constant:
+0:31                    0 (const uint)
+0:31                direct index ( temp uint)
+0:31                  'dti' ( in 3-component vector of uint)
+0:31                  Constant:
+0:31                    0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:32      move second child to first child ( temp 3-component vector of double)
+0:32        vector swizzle ( temp 3-component vector of double)
+0:32          d: direct index for structure ( temp 4-component vector of double)
+0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                Constant:
+0:32                  0 (const uint)
+0:32              direct index ( temp uint)
+0:32                'dti' ( in 3-component vector of uint)
+0:32                Constant:
+0:32                  0 (const int)
+0:32            Constant:
+0:32              3 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32        subgroupAdd ( temp 3-component vector of double)
+0:32          vector swizzle ( temp 3-component vector of double)
+0:32            d: direct index for structure ( temp 4-component vector of double)
+0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                  Constant:
+0:32                    0 (const uint)
+0:32                direct index ( temp uint)
+0:32                  'dti' ( in 3-component vector of uint)
+0:32                  Constant:
+0:32                    0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u: direct index for structure ( temp 4-component vector of uint)
+0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34              Constant:
+0:34                0 (const uint)
+0:34            direct index ( temp uint)
+0:34              'dti' ( in 3-component vector of uint)
+0:34              Constant:
+0:34                0 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupMul ( temp 4-component vector of uint)
+0:34          u: direct index for structure ( temp 4-component vector of uint)
+0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34                Constant:
+0:34                  0 (const uint)
+0:34              direct index ( temp uint)
+0:34                'dti' ( in 3-component vector of uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:35      move second child to first child ( temp uint)
+0:35        direct index ( temp uint)
+0:35          u: direct index for structure ( temp 4-component vector of uint)
+0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                Constant:
+0:35                  0 (const uint)
+0:35              direct index ( temp uint)
+0:35                'dti' ( in 3-component vector of uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            0 (const int)
+0:35        subgroupMul ( temp uint)
+0:35          direct index ( temp uint)
+0:35            u: direct index for structure ( temp 4-component vector of uint)
+0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                  Constant:
+0:35                    0 (const uint)
+0:35                direct index ( temp uint)
+0:35                  'dti' ( in 3-component vector of uint)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:36      move second child to first child ( temp 2-component vector of uint)
+0:36        vector swizzle ( temp 2-component vector of uint)
+0:36          u: direct index for structure ( temp 4-component vector of uint)
+0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                Constant:
+0:36                  0 (const uint)
+0:36              direct index ( temp uint)
+0:36                'dti' ( in 3-component vector of uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36        subgroupMul ( temp 2-component vector of uint)
+0:36          vector swizzle ( temp 2-component vector of uint)
+0:36            u: direct index for structure ( temp 4-component vector of uint)
+0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                  Constant:
+0:36                    0 (const uint)
+0:36                direct index ( temp uint)
+0:36                  'dti' ( in 3-component vector of uint)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:37      move second child to first child ( temp 3-component vector of uint)
+0:37        vector swizzle ( temp 3-component vector of uint)
+0:37          u: direct index for structure ( temp 4-component vector of uint)
+0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                Constant:
+0:37                  0 (const uint)
+0:37              direct index ( temp uint)
+0:37                'dti' ( in 3-component vector of uint)
+0:37                Constant:
+0:37                  0 (const int)
+0:37            Constant:
+0:37              0 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37            Constant:
+0:37              2 (const int)
+0:37        subgroupMul ( temp 3-component vector of uint)
+0:37          vector swizzle ( temp 3-component vector of uint)
+0:37            u: direct index for structure ( temp 4-component vector of uint)
+0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                  Constant:
+0:37                    0 (const uint)
+0:37                direct index ( temp uint)
+0:37                  'dti' ( in 3-component vector of uint)
+0:37                  Constant:
+0:37                    0 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              Constant:
+0:37                2 (const int)
+0:39      move second child to first child ( temp 4-component vector of int)
+0:39        i: direct index for structure ( temp 4-component vector of int)
+0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39              Constant:
+0:39                0 (const uint)
+0:39            direct index ( temp uint)
+0:39              'dti' ( in 3-component vector of uint)
+0:39              Constant:
+0:39                0 (const int)
+0:39          Constant:
+0:39            1 (const int)
+0:39        subgroupMul ( temp 4-component vector of int)
+0:39          i: direct index for structure ( temp 4-component vector of int)
+0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39                Constant:
+0:39                  0 (const uint)
+0:39              direct index ( temp uint)
+0:39                'dti' ( in 3-component vector of uint)
+0:39                Constant:
+0:39                  0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:40      move second child to first child ( temp int)
+0:40        direct index ( temp int)
+0:40          i: direct index for structure ( temp 4-component vector of int)
+0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                Constant:
+0:40                  0 (const uint)
+0:40              direct index ( temp uint)
+0:40                'dti' ( in 3-component vector of uint)
+0:40                Constant:
+0:40                  0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        subgroupMul ( temp int)
+0:40          direct index ( temp int)
+0:40            i: direct index for structure ( temp 4-component vector of int)
+0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                  Constant:
+0:40                    0 (const uint)
+0:40                direct index ( temp uint)
+0:40                  'dti' ( in 3-component vector of uint)
+0:40                  Constant:
+0:40                    0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:41      move second child to first child ( temp 2-component vector of int)
+0:41        vector swizzle ( temp 2-component vector of int)
+0:41          i: direct index for structure ( temp 4-component vector of int)
+0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                Constant:
+0:41                  0 (const uint)
+0:41              direct index ( temp uint)
+0:41                'dti' ( in 3-component vector of uint)
+0:41                Constant:
+0:41                  0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        subgroupMul ( temp 2-component vector of int)
+0:41          vector swizzle ( temp 2-component vector of int)
+0:41            i: direct index for structure ( temp 4-component vector of int)
+0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                  Constant:
+0:41                    0 (const uint)
+0:41                direct index ( temp uint)
+0:41                  'dti' ( in 3-component vector of uint)
+0:41                  Constant:
+0:41                    0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:42      move second child to first child ( temp 3-component vector of int)
+0:42        vector swizzle ( temp 3-component vector of int)
+0:42          i: direct index for structure ( temp 4-component vector of int)
+0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                Constant:
+0:42                  0 (const uint)
+0:42              direct index ( temp uint)
+0:42                'dti' ( in 3-component vector of uint)
+0:42                Constant:
+0:42                  0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        subgroupMul ( temp 3-component vector of int)
+0:42          vector swizzle ( temp 3-component vector of int)
+0:42            i: direct index for structure ( temp 4-component vector of int)
+0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                  Constant:
+0:42                    0 (const uint)
+0:42                direct index ( temp uint)
+0:42                  'dti' ( in 3-component vector of uint)
+0:42                  Constant:
+0:42                    0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:44      move second child to first child ( temp 4-component vector of float)
+0:44        f: direct index for structure ( temp 4-component vector of float)
+0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44              Constant:
+0:44                0 (const uint)
+0:44            direct index ( temp uint)
+0:44              'dti' ( in 3-component vector of uint)
+0:44              Constant:
+0:44                0 (const int)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupMul ( temp 4-component vector of float)
+0:44          f: direct index for structure ( temp 4-component vector of float)
+0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44                Constant:
+0:44                  0 (const uint)
+0:44              direct index ( temp uint)
+0:44                'dti' ( in 3-component vector of uint)
+0:44                Constant:
+0:44                  0 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:45      move second child to first child ( temp float)
+0:45        direct index ( temp float)
+0:45          f: direct index for structure ( temp 4-component vector of float)
+0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                Constant:
+0:45                  0 (const uint)
+0:45              direct index ( temp uint)
+0:45                'dti' ( in 3-component vector of uint)
+0:45                Constant:
+0:45                  0 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        subgroupMul ( temp float)
+0:45          direct index ( temp float)
+0:45            f: direct index for structure ( temp 4-component vector of float)
+0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                  Constant:
+0:45                    0 (const uint)
+0:45                direct index ( temp uint)
+0:45                  'dti' ( in 3-component vector of uint)
+0:45                  Constant:
+0:45                    0 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:46      move second child to first child ( temp 2-component vector of float)
+0:46        vector swizzle ( temp 2-component vector of float)
+0:46          f: direct index for structure ( temp 4-component vector of float)
+0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                Constant:
+0:46                  0 (const uint)
+0:46              direct index ( temp uint)
+0:46                'dti' ( in 3-component vector of uint)
+0:46                Constant:
+0:46                  0 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        subgroupMul ( temp 2-component vector of float)
+0:46          vector swizzle ( temp 2-component vector of float)
+0:46            f: direct index for structure ( temp 4-component vector of float)
+0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46                direct index ( temp uint)
+0:46                  'dti' ( in 3-component vector of uint)
+0:46                  Constant:
+0:46                    0 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:47      move second child to first child ( temp 3-component vector of float)
+0:47        vector swizzle ( temp 3-component vector of float)
+0:47          f: direct index for structure ( temp 4-component vector of float)
+0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                Constant:
+0:47                  0 (const uint)
+0:47              direct index ( temp uint)
+0:47                'dti' ( in 3-component vector of uint)
+0:47                Constant:
+0:47                  0 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        subgroupMul ( temp 3-component vector of float)
+0:47          vector swizzle ( temp 3-component vector of float)
+0:47            f: direct index for structure ( temp 4-component vector of float)
+0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                  Constant:
+0:47                    0 (const uint)
+0:47                direct index ( temp uint)
+0:47                  'dti' ( in 3-component vector of uint)
+0:47                  Constant:
+0:47                    0 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:49      move second child to first child ( temp 4-component vector of double)
+0:49        d: direct index for structure ( temp 4-component vector of double)
+0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49              Constant:
+0:49                0 (const uint)
+0:49            direct index ( temp uint)
+0:49              'dti' ( in 3-component vector of uint)
+0:49              Constant:
+0:49                0 (const int)
+0:49          Constant:
+0:49            3 (const int)
+0:49        subgroupMul ( temp 4-component vector of double)
+0:49          d: direct index for structure ( temp 4-component vector of double)
+0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49                Constant:
+0:49                  0 (const uint)
+0:49              direct index ( temp uint)
+0:49                'dti' ( in 3-component vector of uint)
+0:49                Constant:
+0:49                  0 (const int)
+0:49            Constant:
+0:49              3 (const int)
+0:50      move second child to first child ( temp double)
+0:50        direct index ( temp double)
+0:50          d: direct index for structure ( temp 4-component vector of double)
+0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                Constant:
+0:50                  0 (const uint)
+0:50              direct index ( temp uint)
+0:50                'dti' ( in 3-component vector of uint)
+0:50                Constant:
+0:50                  0 (const int)
+0:50            Constant:
+0:50              3 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        subgroupMul ( temp double)
+0:50          direct index ( temp double)
+0:50            d: direct index for structure ( temp 4-component vector of double)
+0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                  Constant:
+0:50                    0 (const uint)
+0:50                direct index ( temp uint)
+0:50                  'dti' ( in 3-component vector of uint)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:51      move second child to first child ( temp 2-component vector of double)
+0:51        vector swizzle ( temp 2-component vector of double)
+0:51          d: direct index for structure ( temp 4-component vector of double)
+0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                Constant:
+0:51                  0 (const uint)
+0:51              direct index ( temp uint)
+0:51                'dti' ( in 3-component vector of uint)
+0:51                Constant:
+0:51                  0 (const int)
+0:51            Constant:
+0:51              3 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        subgroupMul ( temp 2-component vector of double)
+0:51          vector swizzle ( temp 2-component vector of double)
+0:51            d: direct index for structure ( temp 4-component vector of double)
+0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                  Constant:
+0:51                    0 (const uint)
+0:51                direct index ( temp uint)
+0:51                  'dti' ( in 3-component vector of uint)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51              Constant:
+0:51                3 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:52      move second child to first child ( temp 3-component vector of double)
+0:52        vector swizzle ( temp 3-component vector of double)
+0:52          d: direct index for structure ( temp 4-component vector of double)
+0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                Constant:
+0:52                  0 (const uint)
+0:52              direct index ( temp uint)
+0:52                'dti' ( in 3-component vector of uint)
+0:52                Constant:
+0:52                  0 (const int)
+0:52            Constant:
+0:52              3 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        subgroupMul ( temp 3-component vector of double)
+0:52          vector swizzle ( temp 3-component vector of double)
+0:52            d: direct index for structure ( temp 4-component vector of double)
+0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                  Constant:
+0:52                    0 (const uint)
+0:52                direct index ( temp uint)
+0:52                  'dti' ( in 3-component vector of uint)
+0:52                  Constant:
+0:52                    0 (const int)
+0:52              Constant:
+0:52                3 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:54      move second child to first child ( temp 4-component vector of uint)
+0:54        u: direct index for structure ( temp 4-component vector of uint)
+0:54          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:54              Constant:
+0:54                0 (const uint)
+0:54            direct index ( temp uint)
+0:54              'dti' ( in 3-component vector of uint)
+0:54              Constant:
+0:54                0 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupMin ( temp 4-component vector of uint)
+0:54          u: direct index for structure ( temp 4-component vector of uint)
+0:54            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:54                Constant:
+0:54                  0 (const uint)
+0:54              direct index ( temp uint)
+0:54                'dti' ( in 3-component vector of uint)
+0:54                Constant:
+0:54                  0 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:55      move second child to first child ( temp uint)
+0:55        direct index ( temp uint)
+0:55          u: direct index for structure ( temp 4-component vector of uint)
+0:55            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:55                Constant:
+0:55                  0 (const uint)
+0:55              direct index ( temp uint)
+0:55                'dti' ( in 3-component vector of uint)
+0:55                Constant:
+0:55                  0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          Constant:
+0:55            0 (const int)
+0:55        subgroupMin ( temp uint)
+0:55          direct index ( temp uint)
+0:55            u: direct index for structure ( temp 4-component vector of uint)
+0:55              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:55                  Constant:
+0:55                    0 (const uint)
+0:55                direct index ( temp uint)
+0:55                  'dti' ( in 3-component vector of uint)
+0:55                  Constant:
+0:55                    0 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:56      move second child to first child ( temp 2-component vector of uint)
+0:56        vector swizzle ( temp 2-component vector of uint)
+0:56          u: direct index for structure ( temp 4-component vector of uint)
+0:56            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:56                Constant:
+0:56                  0 (const uint)
+0:56              direct index ( temp uint)
+0:56                'dti' ( in 3-component vector of uint)
+0:56                Constant:
+0:56                  0 (const int)
+0:56            Constant:
+0:56              0 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56        subgroupMin ( temp 2-component vector of uint)
+0:56          vector swizzle ( temp 2-component vector of uint)
+0:56            u: direct index for structure ( temp 4-component vector of uint)
+0:56              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:56                  Constant:
+0:56                    0 (const uint)
+0:56                direct index ( temp uint)
+0:56                  'dti' ( in 3-component vector of uint)
+0:56                  Constant:
+0:56                    0 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:57      move second child to first child ( temp 3-component vector of uint)
+0:57        vector swizzle ( temp 3-component vector of uint)
+0:57          u: direct index for structure ( temp 4-component vector of uint)
+0:57            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:57                Constant:
+0:57                  0 (const uint)
+0:57              direct index ( temp uint)
+0:57                'dti' ( in 3-component vector of uint)
+0:57                Constant:
+0:57                  0 (const int)
+0:57            Constant:
+0:57              0 (const int)
+0:57          Sequence
+0:57            Constant:
+0:57              0 (const int)
+0:57            Constant:
+0:57              1 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57        subgroupMin ( temp 3-component vector of uint)
+0:57          vector swizzle ( temp 3-component vector of uint)
+0:57            u: direct index for structure ( temp 4-component vector of uint)
+0:57              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:57                  Constant:
+0:57                    0 (const uint)
+0:57                direct index ( temp uint)
+0:57                  'dti' ( in 3-component vector of uint)
+0:57                  Constant:
+0:57                    0 (const int)
+0:57              Constant:
+0:57                0 (const int)
+0:57            Sequence
+0:57              Constant:
+0:57                0 (const int)
+0:57              Constant:
+0:57                1 (const int)
+0:57              Constant:
+0:57                2 (const int)
+0:59      move second child to first child ( temp 4-component vector of int)
+0:59        i: direct index for structure ( temp 4-component vector of int)
+0:59          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:59              Constant:
+0:59                0 (const uint)
+0:59            direct index ( temp uint)
+0:59              'dti' ( in 3-component vector of uint)
+0:59              Constant:
+0:59                0 (const int)
+0:59          Constant:
+0:59            1 (const int)
+0:59        subgroupMin ( temp 4-component vector of int)
+0:59          i: direct index for structure ( temp 4-component vector of int)
+0:59            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:59                Constant:
+0:59                  0 (const uint)
+0:59              direct index ( temp uint)
+0:59                'dti' ( in 3-component vector of uint)
+0:59                Constant:
+0:59                  0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:60      move second child to first child ( temp int)
+0:60        direct index ( temp int)
+0:60          i: direct index for structure ( temp 4-component vector of int)
+0:60            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:60                Constant:
+0:60                  0 (const uint)
+0:60              direct index ( temp uint)
+0:60                'dti' ( in 3-component vector of uint)
+0:60                Constant:
+0:60                  0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60          Constant:
+0:60            0 (const int)
+0:60        subgroupMin ( temp int)
+0:60          direct index ( temp int)
+0:60            i: direct index for structure ( temp 4-component vector of int)
+0:60              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:60                  Constant:
+0:60                    0 (const uint)
+0:60                direct index ( temp uint)
+0:60                  'dti' ( in 3-component vector of uint)
+0:60                  Constant:
+0:60                    0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60            Constant:
+0:60              0 (const int)
+0:61      move second child to first child ( temp 2-component vector of int)
+0:61        vector swizzle ( temp 2-component vector of int)
+0:61          i: direct index for structure ( temp 4-component vector of int)
+0:61            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:61                Constant:
+0:61                  0 (const uint)
+0:61              direct index ( temp uint)
+0:61                'dti' ( in 3-component vector of uint)
+0:61                Constant:
+0:61                  0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61        subgroupMin ( temp 2-component vector of int)
+0:61          vector swizzle ( temp 2-component vector of int)
+0:61            i: direct index for structure ( temp 4-component vector of int)
+0:61              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:61                  Constant:
+0:61                    0 (const uint)
+0:61                direct index ( temp uint)
+0:61                  'dti' ( in 3-component vector of uint)
+0:61                  Constant:
+0:61                    0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:62      move second child to first child ( temp 3-component vector of int)
+0:62        vector swizzle ( temp 3-component vector of int)
+0:62          i: direct index for structure ( temp 4-component vector of int)
+0:62            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:62                Constant:
+0:62                  0 (const uint)
+0:62              direct index ( temp uint)
+0:62                'dti' ( in 3-component vector of uint)
+0:62                Constant:
+0:62                  0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62          Sequence
+0:62            Constant:
+0:62              0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62            Constant:
+0:62              2 (const int)
+0:62        subgroupMin ( temp 3-component vector of int)
+0:62          vector swizzle ( temp 3-component vector of int)
+0:62            i: direct index for structure ( temp 4-component vector of int)
+0:62              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:62                  Constant:
+0:62                    0 (const uint)
+0:62                direct index ( temp uint)
+0:62                  'dti' ( in 3-component vector of uint)
+0:62                  Constant:
+0:62                    0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62            Sequence
+0:62              Constant:
+0:62                0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62              Constant:
+0:62                2 (const int)
+0:64      move second child to first child ( temp 4-component vector of float)
+0:64        f: direct index for structure ( temp 4-component vector of float)
+0:64          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:64              Constant:
+0:64                0 (const uint)
+0:64            direct index ( temp uint)
+0:64              'dti' ( in 3-component vector of uint)
+0:64              Constant:
+0:64                0 (const int)
+0:64          Constant:
+0:64            2 (const int)
+0:64        subgroupMin ( temp 4-component vector of float)
+0:64          f: direct index for structure ( temp 4-component vector of float)
+0:64            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:64                Constant:
+0:64                  0 (const uint)
+0:64              direct index ( temp uint)
+0:64                'dti' ( in 3-component vector of uint)
+0:64                Constant:
+0:64                  0 (const int)
+0:64            Constant:
+0:64              2 (const int)
+0:65      move second child to first child ( temp float)
+0:65        direct index ( temp float)
+0:65          f: direct index for structure ( temp 4-component vector of float)
+0:65            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:65                Constant:
+0:65                  0 (const uint)
+0:65              direct index ( temp uint)
+0:65                'dti' ( in 3-component vector of uint)
+0:65                Constant:
+0:65                  0 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65          Constant:
+0:65            0 (const int)
+0:65        subgroupMin ( temp float)
+0:65          direct index ( temp float)
+0:65            f: direct index for structure ( temp 4-component vector of float)
+0:65              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:65                  Constant:
+0:65                    0 (const uint)
+0:65                direct index ( temp uint)
+0:65                  'dti' ( in 3-component vector of uint)
+0:65                  Constant:
+0:65                    0 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:66      move second child to first child ( temp 2-component vector of float)
+0:66        vector swizzle ( temp 2-component vector of float)
+0:66          f: direct index for structure ( temp 4-component vector of float)
+0:66            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:66                Constant:
+0:66                  0 (const uint)
+0:66              direct index ( temp uint)
+0:66                'dti' ( in 3-component vector of uint)
+0:66                Constant:
+0:66                  0 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66        subgroupMin ( temp 2-component vector of float)
+0:66          vector swizzle ( temp 2-component vector of float)
+0:66            f: direct index for structure ( temp 4-component vector of float)
+0:66              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:66                  Constant:
+0:66                    0 (const uint)
+0:66                direct index ( temp uint)
+0:66                  'dti' ( in 3-component vector of uint)
+0:66                  Constant:
+0:66                    0 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:67      move second child to first child ( temp 3-component vector of float)
+0:67        vector swizzle ( temp 3-component vector of float)
+0:67          f: direct index for structure ( temp 4-component vector of float)
+0:67            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:67                Constant:
+0:67                  0 (const uint)
+0:67              direct index ( temp uint)
+0:67                'dti' ( in 3-component vector of uint)
+0:67                Constant:
+0:67                  0 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67          Sequence
+0:67            Constant:
+0:67              0 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67        subgroupMin ( temp 3-component vector of float)
+0:67          vector swizzle ( temp 3-component vector of float)
+0:67            f: direct index for structure ( temp 4-component vector of float)
+0:67              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:67                  Constant:
+0:67                    0 (const uint)
+0:67                direct index ( temp uint)
+0:67                  'dti' ( in 3-component vector of uint)
+0:67                  Constant:
+0:67                    0 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67            Sequence
+0:67              Constant:
+0:67                0 (const int)
+0:67              Constant:
+0:67                1 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:69      move second child to first child ( temp 4-component vector of double)
+0:69        d: direct index for structure ( temp 4-component vector of double)
+0:69          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:69              Constant:
+0:69                0 (const uint)
+0:69            direct index ( temp uint)
+0:69              'dti' ( in 3-component vector of uint)
+0:69              Constant:
+0:69                0 (const int)
+0:69          Constant:
+0:69            3 (const int)
+0:69        subgroupMin ( temp 4-component vector of double)
+0:69          d: direct index for structure ( temp 4-component vector of double)
+0:69            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:69                Constant:
+0:69                  0 (const uint)
+0:69              direct index ( temp uint)
+0:69                'dti' ( in 3-component vector of uint)
+0:69                Constant:
+0:69                  0 (const int)
+0:69            Constant:
+0:69              3 (const int)
+0:70      move second child to first child ( temp double)
+0:70        direct index ( temp double)
+0:70          d: direct index for structure ( temp 4-component vector of double)
+0:70            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:70                Constant:
+0:70                  0 (const uint)
+0:70              direct index ( temp uint)
+0:70                'dti' ( in 3-component vector of uint)
+0:70                Constant:
+0:70                  0 (const int)
+0:70            Constant:
+0:70              3 (const int)
+0:70          Constant:
+0:70            0 (const int)
+0:70        subgroupMin ( temp double)
+0:70          direct index ( temp double)
+0:70            d: direct index for structure ( temp 4-component vector of double)
+0:70              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:70                  Constant:
+0:70                    0 (const uint)
+0:70                direct index ( temp uint)
+0:70                  'dti' ( in 3-component vector of uint)
+0:70                  Constant:
+0:70                    0 (const int)
+0:70              Constant:
+0:70                3 (const int)
+0:70            Constant:
+0:70              0 (const int)
+0:71      move second child to first child ( temp 2-component vector of double)
+0:71        vector swizzle ( temp 2-component vector of double)
+0:71          d: direct index for structure ( temp 4-component vector of double)
+0:71            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:71                Constant:
+0:71                  0 (const uint)
+0:71              direct index ( temp uint)
+0:71                'dti' ( in 3-component vector of uint)
+0:71                Constant:
+0:71                  0 (const int)
+0:71            Constant:
+0:71              3 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71        subgroupMin ( temp 2-component vector of double)
+0:71          vector swizzle ( temp 2-component vector of double)
+0:71            d: direct index for structure ( temp 4-component vector of double)
+0:71              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:71                  Constant:
+0:71                    0 (const uint)
+0:71                direct index ( temp uint)
+0:71                  'dti' ( in 3-component vector of uint)
+0:71                  Constant:
+0:71                    0 (const int)
+0:71              Constant:
+0:71                3 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:72      move second child to first child ( temp 3-component vector of double)
+0:72        vector swizzle ( temp 3-component vector of double)
+0:72          d: direct index for structure ( temp 4-component vector of double)
+0:72            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:72                Constant:
+0:72                  0 (const uint)
+0:72              direct index ( temp uint)
+0:72                'dti' ( in 3-component vector of uint)
+0:72                Constant:
+0:72                  0 (const int)
+0:72            Constant:
+0:72              3 (const int)
+0:72          Sequence
+0:72            Constant:
+0:72              0 (const int)
+0:72            Constant:
+0:72              1 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:72        subgroupMin ( temp 3-component vector of double)
+0:72          vector swizzle ( temp 3-component vector of double)
+0:72            d: direct index for structure ( temp 4-component vector of double)
+0:72              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:72                  Constant:
+0:72                    0 (const uint)
+0:72                direct index ( temp uint)
+0:72                  'dti' ( in 3-component vector of uint)
+0:72                  Constant:
+0:72                    0 (const int)
+0:72              Constant:
+0:72                3 (const int)
+0:72            Sequence
+0:72              Constant:
+0:72                0 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72              Constant:
+0:72                2 (const int)
+0:74      move second child to first child ( temp 4-component vector of uint)
+0:74        u: direct index for structure ( temp 4-component vector of uint)
+0:74          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:74              Constant:
+0:74                0 (const uint)
+0:74            direct index ( temp uint)
+0:74              'dti' ( in 3-component vector of uint)
+0:74              Constant:
+0:74                0 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupMax ( temp 4-component vector of uint)
+0:74          u: direct index for structure ( temp 4-component vector of uint)
+0:74            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:74                Constant:
+0:74                  0 (const uint)
+0:74              direct index ( temp uint)
+0:74                'dti' ( in 3-component vector of uint)
+0:74                Constant:
+0:74                  0 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:75      move second child to first child ( temp uint)
+0:75        direct index ( temp uint)
+0:75          u: direct index for structure ( temp 4-component vector of uint)
+0:75            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:75                Constant:
+0:75                  0 (const uint)
+0:75              direct index ( temp uint)
+0:75                'dti' ( in 3-component vector of uint)
+0:75                Constant:
+0:75                  0 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:75          Constant:
+0:75            0 (const int)
+0:75        subgroupMax ( temp uint)
+0:75          direct index ( temp uint)
+0:75            u: direct index for structure ( temp 4-component vector of uint)
+0:75              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:75                  Constant:
+0:75                    0 (const uint)
+0:75                direct index ( temp uint)
+0:75                  'dti' ( in 3-component vector of uint)
+0:75                  Constant:
+0:75                    0 (const int)
+0:75              Constant:
+0:75                0 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:76      move second child to first child ( temp 2-component vector of uint)
+0:76        vector swizzle ( temp 2-component vector of uint)
+0:76          u: direct index for structure ( temp 4-component vector of uint)
+0:76            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:76                Constant:
+0:76                  0 (const uint)
+0:76              direct index ( temp uint)
+0:76                'dti' ( in 3-component vector of uint)
+0:76                Constant:
+0:76                  0 (const int)
+0:76            Constant:
+0:76              0 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76        subgroupMax ( temp 2-component vector of uint)
+0:76          vector swizzle ( temp 2-component vector of uint)
+0:76            u: direct index for structure ( temp 4-component vector of uint)
+0:76              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:76                  Constant:
+0:76                    0 (const uint)
+0:76                direct index ( temp uint)
+0:76                  'dti' ( in 3-component vector of uint)
+0:76                  Constant:
+0:76                    0 (const int)
+0:76              Constant:
+0:76                0 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:77      move second child to first child ( temp 3-component vector of uint)
+0:77        vector swizzle ( temp 3-component vector of uint)
+0:77          u: direct index for structure ( temp 4-component vector of uint)
+0:77            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:77                Constant:
+0:77                  0 (const uint)
+0:77              direct index ( temp uint)
+0:77                'dti' ( in 3-component vector of uint)
+0:77                Constant:
+0:77                  0 (const int)
+0:77            Constant:
+0:77              0 (const int)
+0:77          Sequence
+0:77            Constant:
+0:77              0 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77            Constant:
+0:77              2 (const int)
+0:77        subgroupMax ( temp 3-component vector of uint)
+0:77          vector swizzle ( temp 3-component vector of uint)
+0:77            u: direct index for structure ( temp 4-component vector of uint)
+0:77              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:77                  Constant:
+0:77                    0 (const uint)
+0:77                direct index ( temp uint)
+0:77                  'dti' ( in 3-component vector of uint)
+0:77                  Constant:
+0:77                    0 (const int)
+0:77              Constant:
+0:77                0 (const int)
+0:77            Sequence
+0:77              Constant:
+0:77                0 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77              Constant:
+0:77                2 (const int)
+0:79      move second child to first child ( temp 4-component vector of int)
+0:79        i: direct index for structure ( temp 4-component vector of int)
+0:79          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:79              Constant:
+0:79                0 (const uint)
+0:79            direct index ( temp uint)
+0:79              'dti' ( in 3-component vector of uint)
+0:79              Constant:
+0:79                0 (const int)
+0:79          Constant:
+0:79            1 (const int)
+0:79        subgroupMax ( temp 4-component vector of int)
+0:79          i: direct index for structure ( temp 4-component vector of int)
+0:79            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:79                Constant:
+0:79                  0 (const uint)
+0:79              direct index ( temp uint)
+0:79                'dti' ( in 3-component vector of uint)
+0:79                Constant:
+0:79                  0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:80      move second child to first child ( temp int)
+0:80        direct index ( temp int)
+0:80          i: direct index for structure ( temp 4-component vector of int)
+0:80            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:80                Constant:
+0:80                  0 (const uint)
+0:80              direct index ( temp uint)
+0:80                'dti' ( in 3-component vector of uint)
+0:80                Constant:
+0:80                  0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80          Constant:
+0:80            0 (const int)
+0:80        subgroupMax ( temp int)
+0:80          direct index ( temp int)
+0:80            i: direct index for structure ( temp 4-component vector of int)
+0:80              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:80                  Constant:
+0:80                    0 (const uint)
+0:80                direct index ( temp uint)
+0:80                  'dti' ( in 3-component vector of uint)
+0:80                  Constant:
+0:80                    0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80            Constant:
+0:80              0 (const int)
+0:81      move second child to first child ( temp 2-component vector of int)
+0:81        vector swizzle ( temp 2-component vector of int)
+0:81          i: direct index for structure ( temp 4-component vector of int)
+0:81            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:81                Constant:
+0:81                  0 (const uint)
+0:81              direct index ( temp uint)
+0:81                'dti' ( in 3-component vector of uint)
+0:81                Constant:
+0:81                  0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81        subgroupMax ( temp 2-component vector of int)
+0:81          vector swizzle ( temp 2-component vector of int)
+0:81            i: direct index for structure ( temp 4-component vector of int)
+0:81              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:81                  Constant:
+0:81                    0 (const uint)
+0:81                direct index ( temp uint)
+0:81                  'dti' ( in 3-component vector of uint)
+0:81                  Constant:
+0:81                    0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:82      move second child to first child ( temp 3-component vector of int)
+0:82        vector swizzle ( temp 3-component vector of int)
+0:82          i: direct index for structure ( temp 4-component vector of int)
+0:82            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:82                Constant:
+0:82                  0 (const uint)
+0:82              direct index ( temp uint)
+0:82                'dti' ( in 3-component vector of uint)
+0:82                Constant:
+0:82                  0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82          Sequence
+0:82            Constant:
+0:82              0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:82        subgroupMax ( temp 3-component vector of int)
+0:82          vector swizzle ( temp 3-component vector of int)
+0:82            i: direct index for structure ( temp 4-component vector of int)
+0:82              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:82                  Constant:
+0:82                    0 (const uint)
+0:82                direct index ( temp uint)
+0:82                  'dti' ( in 3-component vector of uint)
+0:82                  Constant:
+0:82                    0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82            Sequence
+0:82              Constant:
+0:82                0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82              Constant:
+0:82                2 (const int)
+0:84      move second child to first child ( temp 4-component vector of float)
+0:84        f: direct index for structure ( temp 4-component vector of float)
+0:84          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:84              Constant:
+0:84                0 (const uint)
+0:84            direct index ( temp uint)
+0:84              'dti' ( in 3-component vector of uint)
+0:84              Constant:
+0:84                0 (const int)
+0:84          Constant:
+0:84            2 (const int)
+0:84        subgroupMax ( temp 4-component vector of float)
+0:84          f: direct index for structure ( temp 4-component vector of float)
+0:84            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:84                Constant:
+0:84                  0 (const uint)
+0:84              direct index ( temp uint)
+0:84                'dti' ( in 3-component vector of uint)
+0:84                Constant:
+0:84                  0 (const int)
+0:84            Constant:
+0:84              2 (const int)
+0:85      move second child to first child ( temp float)
+0:85        direct index ( temp float)
+0:85          f: direct index for structure ( temp 4-component vector of float)
+0:85            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:85                Constant:
+0:85                  0 (const uint)
+0:85              direct index ( temp uint)
+0:85                'dti' ( in 3-component vector of uint)
+0:85                Constant:
+0:85                  0 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85          Constant:
+0:85            0 (const int)
+0:85        subgroupMax ( temp float)
+0:85          direct index ( temp float)
+0:85            f: direct index for structure ( temp 4-component vector of float)
+0:85              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:85                  Constant:
+0:85                    0 (const uint)
+0:85                direct index ( temp uint)
+0:85                  'dti' ( in 3-component vector of uint)
+0:85                  Constant:
+0:85                    0 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85            Constant:
+0:85              0 (const int)
+0:86      move second child to first child ( temp 2-component vector of float)
+0:86        vector swizzle ( temp 2-component vector of float)
+0:86          f: direct index for structure ( temp 4-component vector of float)
+0:86            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:86                Constant:
+0:86                  0 (const uint)
+0:86              direct index ( temp uint)
+0:86                'dti' ( in 3-component vector of uint)
+0:86                Constant:
+0:86                  0 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86        subgroupMax ( temp 2-component vector of float)
+0:86          vector swizzle ( temp 2-component vector of float)
+0:86            f: direct index for structure ( temp 4-component vector of float)
+0:86              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:86                  Constant:
+0:86                    0 (const uint)
+0:86                direct index ( temp uint)
+0:86                  'dti' ( in 3-component vector of uint)
+0:86                  Constant:
+0:86                    0 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:87      move second child to first child ( temp 3-component vector of float)
+0:87        vector swizzle ( temp 3-component vector of float)
+0:87          f: direct index for structure ( temp 4-component vector of float)
+0:87            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:87                Constant:
+0:87                  0 (const uint)
+0:87              direct index ( temp uint)
+0:87                'dti' ( in 3-component vector of uint)
+0:87                Constant:
+0:87                  0 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87          Sequence
+0:87            Constant:
+0:87              0 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87        subgroupMax ( temp 3-component vector of float)
+0:87          vector swizzle ( temp 3-component vector of float)
+0:87            f: direct index for structure ( temp 4-component vector of float)
+0:87              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:87                  Constant:
+0:87                    0 (const uint)
+0:87                direct index ( temp uint)
+0:87                  'dti' ( in 3-component vector of uint)
+0:87                  Constant:
+0:87                    0 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:87            Sequence
+0:87              Constant:
+0:87                0 (const int)
+0:87              Constant:
+0:87                1 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:89      move second child to first child ( temp 4-component vector of double)
+0:89        d: direct index for structure ( temp 4-component vector of double)
+0:89          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:89              Constant:
+0:89                0 (const uint)
+0:89            direct index ( temp uint)
+0:89              'dti' ( in 3-component vector of uint)
+0:89              Constant:
+0:89                0 (const int)
+0:89          Constant:
+0:89            3 (const int)
+0:89        subgroupMax ( temp 4-component vector of double)
+0:89          d: direct index for structure ( temp 4-component vector of double)
+0:89            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:89                Constant:
+0:89                  0 (const uint)
+0:89              direct index ( temp uint)
+0:89                'dti' ( in 3-component vector of uint)
+0:89                Constant:
+0:89                  0 (const int)
+0:89            Constant:
+0:89              3 (const int)
+0:90      move second child to first child ( temp double)
+0:90        direct index ( temp double)
+0:90          d: direct index for structure ( temp 4-component vector of double)
+0:90            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:90                Constant:
+0:90                  0 (const uint)
+0:90              direct index ( temp uint)
+0:90                'dti' ( in 3-component vector of uint)
+0:90                Constant:
+0:90                  0 (const int)
+0:90            Constant:
+0:90              3 (const int)
+0:90          Constant:
+0:90            0 (const int)
+0:90        subgroupMax ( temp double)
+0:90          direct index ( temp double)
+0:90            d: direct index for structure ( temp 4-component vector of double)
+0:90              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:90                  Constant:
+0:90                    0 (const uint)
+0:90                direct index ( temp uint)
+0:90                  'dti' ( in 3-component vector of uint)
+0:90                  Constant:
+0:90                    0 (const int)
+0:90              Constant:
+0:90                3 (const int)
+0:90            Constant:
+0:90              0 (const int)
+0:91      move second child to first child ( temp 2-component vector of double)
+0:91        vector swizzle ( temp 2-component vector of double)
+0:91          d: direct index for structure ( temp 4-component vector of double)
+0:91            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:91                Constant:
+0:91                  0 (const uint)
+0:91              direct index ( temp uint)
+0:91                'dti' ( in 3-component vector of uint)
+0:91                Constant:
+0:91                  0 (const int)
+0:91            Constant:
+0:91              3 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91        subgroupMax ( temp 2-component vector of double)
+0:91          vector swizzle ( temp 2-component vector of double)
+0:91            d: direct index for structure ( temp 4-component vector of double)
+0:91              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:91                  Constant:
+0:91                    0 (const uint)
+0:91                direct index ( temp uint)
+0:91                  'dti' ( in 3-component vector of uint)
+0:91                  Constant:
+0:91                    0 (const int)
+0:91              Constant:
+0:91                3 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:92      move second child to first child ( temp 3-component vector of double)
+0:92        vector swizzle ( temp 3-component vector of double)
+0:92          d: direct index for structure ( temp 4-component vector of double)
+0:92            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:92                Constant:
+0:92                  0 (const uint)
+0:92              direct index ( temp uint)
+0:92                'dti' ( in 3-component vector of uint)
+0:92                Constant:
+0:92                  0 (const int)
+0:92            Constant:
+0:92              3 (const int)
+0:92          Sequence
+0:92            Constant:
+0:92              0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:92        subgroupMax ( temp 3-component vector of double)
+0:92          vector swizzle ( temp 3-component vector of double)
+0:92            d: direct index for structure ( temp 4-component vector of double)
+0:92              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:92                  Constant:
+0:92                    0 (const uint)
+0:92                direct index ( temp uint)
+0:92                  'dti' ( in 3-component vector of uint)
+0:92                  Constant:
+0:92                    0 (const int)
+0:92              Constant:
+0:92                3 (const int)
+0:92            Sequence
+0:92              Constant:
+0:92                0 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92              Constant:
+0:92                2 (const int)
+0:94      move second child to first child ( temp 4-component vector of uint)
+0:94        u: direct index for structure ( temp 4-component vector of uint)
+0:94          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:94              Constant:
+0:94                0 (const uint)
+0:94            direct index ( temp uint)
+0:94              'dti' ( in 3-component vector of uint)
+0:94              Constant:
+0:94                0 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupAnd ( temp 4-component vector of uint)
+0:94          u: direct index for structure ( temp 4-component vector of uint)
+0:94            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:94                Constant:
+0:94                  0 (const uint)
+0:94              direct index ( temp uint)
+0:94                'dti' ( in 3-component vector of uint)
+0:94                Constant:
+0:94                  0 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:95      move second child to first child ( temp uint)
+0:95        direct index ( temp uint)
+0:95          u: direct index for structure ( temp 4-component vector of uint)
+0:95            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:95                Constant:
+0:95                  0 (const uint)
+0:95              direct index ( temp uint)
+0:95                'dti' ( in 3-component vector of uint)
+0:95                Constant:
+0:95                  0 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:95          Constant:
+0:95            0 (const int)
+0:95        subgroupAnd ( temp uint)
+0:95          direct index ( temp uint)
+0:95            u: direct index for structure ( temp 4-component vector of uint)
+0:95              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:95                  Constant:
+0:95                    0 (const uint)
+0:95                direct index ( temp uint)
+0:95                  'dti' ( in 3-component vector of uint)
+0:95                  Constant:
+0:95                    0 (const int)
+0:95              Constant:
+0:95                0 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:96      move second child to first child ( temp 2-component vector of uint)
+0:96        vector swizzle ( temp 2-component vector of uint)
+0:96          u: direct index for structure ( temp 4-component vector of uint)
+0:96            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:96                Constant:
+0:96                  0 (const uint)
+0:96              direct index ( temp uint)
+0:96                'dti' ( in 3-component vector of uint)
+0:96                Constant:
+0:96                  0 (const int)
+0:96            Constant:
+0:96              0 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96        subgroupAnd ( temp 2-component vector of uint)
+0:96          vector swizzle ( temp 2-component vector of uint)
+0:96            u: direct index for structure ( temp 4-component vector of uint)
+0:96              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:96                  Constant:
+0:96                    0 (const uint)
+0:96                direct index ( temp uint)
+0:96                  'dti' ( in 3-component vector of uint)
+0:96                  Constant:
+0:96                    0 (const int)
+0:96              Constant:
+0:96                0 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:97      move second child to first child ( temp 3-component vector of uint)
+0:97        vector swizzle ( temp 3-component vector of uint)
+0:97          u: direct index for structure ( temp 4-component vector of uint)
+0:97            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:97                Constant:
+0:97                  0 (const uint)
+0:97              direct index ( temp uint)
+0:97                'dti' ( in 3-component vector of uint)
+0:97                Constant:
+0:97                  0 (const int)
+0:97            Constant:
+0:97              0 (const int)
+0:97          Sequence
+0:97            Constant:
+0:97              0 (const int)
+0:97            Constant:
+0:97              1 (const int)
+0:97            Constant:
+0:97              2 (const int)
+0:97        subgroupAnd ( temp 3-component vector of uint)
+0:97          vector swizzle ( temp 3-component vector of uint)
+0:97            u: direct index for structure ( temp 4-component vector of uint)
+0:97              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:97                  Constant:
+0:97                    0 (const uint)
+0:97                direct index ( temp uint)
+0:97                  'dti' ( in 3-component vector of uint)
+0:97                  Constant:
+0:97                    0 (const int)
+0:97              Constant:
+0:97                0 (const int)
+0:97            Sequence
+0:97              Constant:
+0:97                0 (const int)
+0:97              Constant:
+0:97                1 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:99      move second child to first child ( temp 4-component vector of int)
+0:99        i: direct index for structure ( temp 4-component vector of int)
+0:99          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:99              Constant:
+0:99                0 (const uint)
+0:99            direct index ( temp uint)
+0:99              'dti' ( in 3-component vector of uint)
+0:99              Constant:
+0:99                0 (const int)
+0:99          Constant:
+0:99            1 (const int)
+0:99        subgroupAnd ( temp 4-component vector of int)
+0:99          i: direct index for structure ( temp 4-component vector of int)
+0:99            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:99                Constant:
+0:99                  0 (const uint)
+0:99              direct index ( temp uint)
+0:99                'dti' ( in 3-component vector of uint)
+0:99                Constant:
+0:99                  0 (const int)
+0:99            Constant:
+0:99              1 (const int)
+0:100      move second child to first child ( temp int)
+0:100        direct index ( temp int)
+0:100          i: direct index for structure ( temp 4-component vector of int)
+0:100            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:100                Constant:
+0:100                  0 (const uint)
+0:100              direct index ( temp uint)
+0:100                'dti' ( in 3-component vector of uint)
+0:100                Constant:
+0:100                  0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Constant:
+0:100            0 (const int)
+0:100        subgroupAnd ( temp int)
+0:100          direct index ( temp int)
+0:100            i: direct index for structure ( temp 4-component vector of int)
+0:100              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:100                  Constant:
+0:100                    0 (const uint)
+0:100                direct index ( temp uint)
+0:100                  'dti' ( in 3-component vector of uint)
+0:100                  Constant:
+0:100                    0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Constant:
+0:100              0 (const int)
+0:101      move second child to first child ( temp 2-component vector of int)
+0:101        vector swizzle ( temp 2-component vector of int)
+0:101          i: direct index for structure ( temp 4-component vector of int)
+0:101            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:101                Constant:
+0:101                  0 (const uint)
+0:101              direct index ( temp uint)
+0:101                'dti' ( in 3-component vector of uint)
+0:101                Constant:
+0:101                  0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101        subgroupAnd ( temp 2-component vector of int)
+0:101          vector swizzle ( temp 2-component vector of int)
+0:101            i: direct index for structure ( temp 4-component vector of int)
+0:101              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:101                  Constant:
+0:101                    0 (const uint)
+0:101                direct index ( temp uint)
+0:101                  'dti' ( in 3-component vector of uint)
+0:101                  Constant:
+0:101                    0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:102      move second child to first child ( temp 3-component vector of int)
+0:102        vector swizzle ( temp 3-component vector of int)
+0:102          i: direct index for structure ( temp 4-component vector of int)
+0:102            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:102                Constant:
+0:102                  0 (const uint)
+0:102              direct index ( temp uint)
+0:102                'dti' ( in 3-component vector of uint)
+0:102                Constant:
+0:102                  0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102          Sequence
+0:102            Constant:
+0:102              0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102            Constant:
+0:102              2 (const int)
+0:102        subgroupAnd ( temp 3-component vector of int)
+0:102          vector swizzle ( temp 3-component vector of int)
+0:102            i: direct index for structure ( temp 4-component vector of int)
+0:102              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:102                  Constant:
+0:102                    0 (const uint)
+0:102                direct index ( temp uint)
+0:102                  'dti' ( in 3-component vector of uint)
+0:102                  Constant:
+0:102                    0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102            Sequence
+0:102              Constant:
+0:102                0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102              Constant:
+0:102                2 (const int)
+0:104      move second child to first child ( temp 4-component vector of uint)
+0:104        u: direct index for structure ( temp 4-component vector of uint)
+0:104          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:104              Constant:
+0:104                0 (const uint)
+0:104            direct index ( temp uint)
+0:104              'dti' ( in 3-component vector of uint)
+0:104              Constant:
+0:104                0 (const int)
+0:104          Constant:
+0:104            0 (const int)
+0:104        subgroupOr ( temp 4-component vector of uint)
+0:104          u: direct index for structure ( temp 4-component vector of uint)
+0:104            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:104                Constant:
+0:104                  0 (const uint)
+0:104              direct index ( temp uint)
+0:104                'dti' ( in 3-component vector of uint)
+0:104                Constant:
+0:104                  0 (const int)
+0:104            Constant:
+0:104              0 (const int)
+0:105      move second child to first child ( temp uint)
+0:105        direct index ( temp uint)
+0:105          u: direct index for structure ( temp 4-component vector of uint)
+0:105            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:105                Constant:
+0:105                  0 (const uint)
+0:105              direct index ( temp uint)
+0:105                'dti' ( in 3-component vector of uint)
+0:105                Constant:
+0:105                  0 (const int)
+0:105            Constant:
+0:105              0 (const int)
+0:105          Constant:
+0:105            0 (const int)
+0:105        subgroupOr ( temp uint)
+0:105          direct index ( temp uint)
+0:105            u: direct index for structure ( temp 4-component vector of uint)
+0:105              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:105                  Constant:
+0:105                    0 (const uint)
+0:105                direct index ( temp uint)
+0:105                  'dti' ( in 3-component vector of uint)
+0:105                  Constant:
+0:105                    0 (const int)
+0:105              Constant:
+0:105                0 (const int)
+0:105            Constant:
+0:105              0 (const int)
+0:106      move second child to first child ( temp 2-component vector of uint)
+0:106        vector swizzle ( temp 2-component vector of uint)
+0:106          u: direct index for structure ( temp 4-component vector of uint)
+0:106            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:106                Constant:
+0:106                  0 (const uint)
+0:106              direct index ( temp uint)
+0:106                'dti' ( in 3-component vector of uint)
+0:106                Constant:
+0:106                  0 (const int)
+0:106            Constant:
+0:106              0 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106        subgroupOr ( temp 2-component vector of uint)
+0:106          vector swizzle ( temp 2-component vector of uint)
+0:106            u: direct index for structure ( temp 4-component vector of uint)
+0:106              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:106                  Constant:
+0:106                    0 (const uint)
+0:106                direct index ( temp uint)
+0:106                  'dti' ( in 3-component vector of uint)
+0:106                  Constant:
+0:106                    0 (const int)
+0:106              Constant:
+0:106                0 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:107      move second child to first child ( temp 3-component vector of uint)
+0:107        vector swizzle ( temp 3-component vector of uint)
+0:107          u: direct index for structure ( temp 4-component vector of uint)
+0:107            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:107                Constant:
+0:107                  0 (const uint)
+0:107              direct index ( temp uint)
+0:107                'dti' ( in 3-component vector of uint)
+0:107                Constant:
+0:107                  0 (const int)
+0:107            Constant:
+0:107              0 (const int)
+0:107          Sequence
+0:107            Constant:
+0:107              0 (const int)
+0:107            Constant:
+0:107              1 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107        subgroupOr ( temp 3-component vector of uint)
+0:107          vector swizzle ( temp 3-component vector of uint)
+0:107            u: direct index for structure ( temp 4-component vector of uint)
+0:107              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:107                  Constant:
+0:107                    0 (const uint)
+0:107                direct index ( temp uint)
+0:107                  'dti' ( in 3-component vector of uint)
+0:107                  Constant:
+0:107                    0 (const int)
+0:107              Constant:
+0:107                0 (const int)
+0:107            Sequence
+0:107              Constant:
+0:107                0 (const int)
+0:107              Constant:
+0:107                1 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:109      move second child to first child ( temp 4-component vector of int)
+0:109        i: direct index for structure ( temp 4-component vector of int)
+0:109          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:109              Constant:
+0:109                0 (const uint)
+0:109            direct index ( temp uint)
+0:109              'dti' ( in 3-component vector of uint)
+0:109              Constant:
+0:109                0 (const int)
+0:109          Constant:
+0:109            1 (const int)
+0:109        subgroupOr ( temp 4-component vector of int)
+0:109          i: direct index for structure ( temp 4-component vector of int)
+0:109            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:109                Constant:
+0:109                  0 (const uint)
+0:109              direct index ( temp uint)
+0:109                'dti' ( in 3-component vector of uint)
+0:109                Constant:
+0:109                  0 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:110      move second child to first child ( temp int)
+0:110        direct index ( temp int)
+0:110          i: direct index for structure ( temp 4-component vector of int)
+0:110            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:110                Constant:
+0:110                  0 (const uint)
+0:110              direct index ( temp uint)
+0:110                'dti' ( in 3-component vector of uint)
+0:110                Constant:
+0:110                  0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Constant:
+0:110            0 (const int)
+0:110        subgroupOr ( temp int)
+0:110          direct index ( temp int)
+0:110            i: direct index for structure ( temp 4-component vector of int)
+0:110              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:110                  Constant:
+0:110                    0 (const uint)
+0:110                direct index ( temp uint)
+0:110                  'dti' ( in 3-component vector of uint)
+0:110                  Constant:
+0:110                    0 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110            Constant:
+0:110              0 (const int)
+0:111      move second child to first child ( temp 2-component vector of int)
+0:111        vector swizzle ( temp 2-component vector of int)
+0:111          i: direct index for structure ( temp 4-component vector of int)
+0:111            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:111                Constant:
+0:111                  0 (const uint)
+0:111              direct index ( temp uint)
+0:111                'dti' ( in 3-component vector of uint)
+0:111                Constant:
+0:111                  0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111        subgroupOr ( temp 2-component vector of int)
+0:111          vector swizzle ( temp 2-component vector of int)
+0:111            i: direct index for structure ( temp 4-component vector of int)
+0:111              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:111                  Constant:
+0:111                    0 (const uint)
+0:111                direct index ( temp uint)
+0:111                  'dti' ( in 3-component vector of uint)
+0:111                  Constant:
+0:111                    0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:111            Sequence
+0:111              Constant:
+0:111                0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:112      move second child to first child ( temp 3-component vector of int)
+0:112        vector swizzle ( temp 3-component vector of int)
+0:112          i: direct index for structure ( temp 4-component vector of int)
+0:112            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:112                Constant:
+0:112                  0 (const uint)
+0:112              direct index ( temp uint)
+0:112                'dti' ( in 3-component vector of uint)
+0:112                Constant:
+0:112                  0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112          Sequence
+0:112            Constant:
+0:112              0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112            Constant:
+0:112              2 (const int)
+0:112        subgroupOr ( temp 3-component vector of int)
+0:112          vector swizzle ( temp 3-component vector of int)
+0:112            i: direct index for structure ( temp 4-component vector of int)
+0:112              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:112                  Constant:
+0:112                    0 (const uint)
+0:112                direct index ( temp uint)
+0:112                  'dti' ( in 3-component vector of uint)
+0:112                  Constant:
+0:112                    0 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112            Sequence
+0:112              Constant:
+0:112                0 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112              Constant:
+0:112                2 (const int)
+0:114      move second child to first child ( temp 4-component vector of uint)
+0:114        u: direct index for structure ( temp 4-component vector of uint)
+0:114          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:114              Constant:
+0:114                0 (const uint)
+0:114            direct index ( temp uint)
+0:114              'dti' ( in 3-component vector of uint)
+0:114              Constant:
+0:114                0 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        subgroupXor ( temp 4-component vector of uint)
+0:114          u: direct index for structure ( temp 4-component vector of uint)
+0:114            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:114                Constant:
+0:114                  0 (const uint)
+0:114              direct index ( temp uint)
+0:114                'dti' ( in 3-component vector of uint)
+0:114                Constant:
+0:114                  0 (const int)
+0:114            Constant:
+0:114              0 (const int)
+0:115      move second child to first child ( temp uint)
+0:115        direct index ( temp uint)
+0:115          u: direct index for structure ( temp 4-component vector of uint)
+0:115            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:115                Constant:
+0:115                  0 (const uint)
+0:115              direct index ( temp uint)
+0:115                'dti' ( in 3-component vector of uint)
+0:115                Constant:
+0:115                  0 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:115          Constant:
+0:115            0 (const int)
+0:115        subgroupXor ( temp uint)
+0:115          direct index ( temp uint)
+0:115            u: direct index for structure ( temp 4-component vector of uint)
+0:115              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:115                  Constant:
+0:115                    0 (const uint)
+0:115                direct index ( temp uint)
+0:115                  'dti' ( in 3-component vector of uint)
+0:115                  Constant:
+0:115                    0 (const int)
+0:115              Constant:
+0:115                0 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:116      move second child to first child ( temp 2-component vector of uint)
+0:116        vector swizzle ( temp 2-component vector of uint)
+0:116          u: direct index for structure ( temp 4-component vector of uint)
+0:116            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:116                Constant:
+0:116                  0 (const uint)
+0:116              direct index ( temp uint)
+0:116                'dti' ( in 3-component vector of uint)
+0:116                Constant:
+0:116                  0 (const int)
+0:116            Constant:
+0:116              0 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116        subgroupXor ( temp 2-component vector of uint)
+0:116          vector swizzle ( temp 2-component vector of uint)
+0:116            u: direct index for structure ( temp 4-component vector of uint)
+0:116              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:116                  Constant:
+0:116                    0 (const uint)
+0:116                direct index ( temp uint)
+0:116                  'dti' ( in 3-component vector of uint)
+0:116                  Constant:
+0:116                    0 (const int)
+0:116              Constant:
+0:116                0 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:117      move second child to first child ( temp 3-component vector of uint)
+0:117        vector swizzle ( temp 3-component vector of uint)
+0:117          u: direct index for structure ( temp 4-component vector of uint)
+0:117            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:117                Constant:
+0:117                  0 (const uint)
+0:117              direct index ( temp uint)
+0:117                'dti' ( in 3-component vector of uint)
+0:117                Constant:
+0:117                  0 (const int)
+0:117            Constant:
+0:117              0 (const int)
+0:117          Sequence
+0:117            Constant:
+0:117              0 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117            Constant:
+0:117              2 (const int)
+0:117        subgroupXor ( temp 3-component vector of uint)
+0:117          vector swizzle ( temp 3-component vector of uint)
+0:117            u: direct index for structure ( temp 4-component vector of uint)
+0:117              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:117                  Constant:
+0:117                    0 (const uint)
+0:117                direct index ( temp uint)
+0:117                  'dti' ( in 3-component vector of uint)
+0:117                  Constant:
+0:117                    0 (const int)
+0:117              Constant:
+0:117                0 (const int)
+0:117            Sequence
+0:117              Constant:
+0:117                0 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117              Constant:
+0:117                2 (const int)
+0:119      move second child to first child ( temp 4-component vector of int)
+0:119        i: direct index for structure ( temp 4-component vector of int)
+0:119          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:119              Constant:
+0:119                0 (const uint)
+0:119            direct index ( temp uint)
+0:119              'dti' ( in 3-component vector of uint)
+0:119              Constant:
+0:119                0 (const int)
+0:119          Constant:
+0:119            1 (const int)
+0:119        subgroupXor ( temp 4-component vector of int)
+0:119          i: direct index for structure ( temp 4-component vector of int)
+0:119            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:119                Constant:
+0:119                  0 (const uint)
+0:119              direct index ( temp uint)
+0:119                'dti' ( in 3-component vector of uint)
+0:119                Constant:
+0:119                  0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:120      move second child to first child ( temp int)
+0:120        direct index ( temp int)
+0:120          i: direct index for structure ( temp 4-component vector of int)
+0:120            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:120                Constant:
+0:120                  0 (const uint)
+0:120              direct index ( temp uint)
+0:120                'dti' ( in 3-component vector of uint)
+0:120                Constant:
+0:120                  0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120          Constant:
+0:120            0 (const int)
+0:120        subgroupXor ( temp int)
+0:120          direct index ( temp int)
+0:120            i: direct index for structure ( temp 4-component vector of int)
+0:120              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:120                  Constant:
+0:120                    0 (const uint)
+0:120                direct index ( temp uint)
+0:120                  'dti' ( in 3-component vector of uint)
+0:120                  Constant:
+0:120                    0 (const int)
+0:120              Constant:
+0:120                1 (const int)
+0:120            Constant:
+0:120              0 (const int)
+0:121      move second child to first child ( temp 2-component vector of int)
+0:121        vector swizzle ( temp 2-component vector of int)
+0:121          i: direct index for structure ( temp 4-component vector of int)
+0:121            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:121                Constant:
+0:121                  0 (const uint)
+0:121              direct index ( temp uint)
+0:121                'dti' ( in 3-component vector of uint)
+0:121                Constant:
+0:121                  0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121        subgroupXor ( temp 2-component vector of int)
+0:121          vector swizzle ( temp 2-component vector of int)
+0:121            i: direct index for structure ( temp 4-component vector of int)
+0:121              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:121                  Constant:
+0:121                    0 (const uint)
+0:121                direct index ( temp uint)
+0:121                  'dti' ( in 3-component vector of uint)
+0:121                  Constant:
+0:121                    0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:122      move second child to first child ( temp 3-component vector of int)
+0:122        vector swizzle ( temp 3-component vector of int)
+0:122          i: direct index for structure ( temp 4-component vector of int)
+0:122            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:122                Constant:
+0:122                  0 (const uint)
+0:122              direct index ( temp uint)
+0:122                'dti' ( in 3-component vector of uint)
+0:122                Constant:
+0:122                  0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122          Sequence
+0:122            Constant:
+0:122              0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122        subgroupXor ( temp 3-component vector of int)
+0:122          vector swizzle ( temp 3-component vector of int)
+0:122            i: direct index for structure ( temp 4-component vector of int)
+0:122              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:122                  Constant:
+0:122                    0 (const uint)
+0:122                direct index ( temp uint)
+0:122                  'dti' ( in 3-component vector of uint)
+0:122                  Constant:
+0:122                    0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122            Sequence
+0:122              Constant:
+0:122                0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122              Constant:
+0:122                2 (const int)
+0:13  Function Definition: CSMain( ( temp void)
+0:13    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:13      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:13  Function Definition: @CSMain(vu3; ( temp void)
+0:13    Function Parameters: 
+0:13      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:14      move second child to first child ( temp 4-component vector of uint)
+0:14        u: direct index for structure ( temp 4-component vector of uint)
+0:14          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14              Constant:
+0:14                0 (const uint)
+0:14            direct index ( temp uint)
+0:14              'dti' ( in 3-component vector of uint)
+0:14              Constant:
+0:14                0 (const int)
+0:14          Constant:
+0:14            0 (const int)
+0:14        subgroupAdd ( temp 4-component vector of uint)
+0:14          u: direct index for structure ( temp 4-component vector of uint)
+0:14            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:14                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:14                Constant:
+0:14                  0 (const uint)
+0:14              direct index ( temp uint)
+0:14                'dti' ( in 3-component vector of uint)
+0:14                Constant:
+0:14                  0 (const int)
+0:14            Constant:
+0:14              0 (const int)
+0:15      move second child to first child ( temp uint)
+0:15        direct index ( temp uint)
+0:15          u: direct index for structure ( temp 4-component vector of uint)
+0:15            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                Constant:
+0:15                  0 (const uint)
+0:15              direct index ( temp uint)
+0:15                'dti' ( in 3-component vector of uint)
+0:15                Constant:
+0:15                  0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:15          Constant:
+0:15            0 (const int)
+0:15        subgroupAdd ( temp uint)
+0:15          direct index ( temp uint)
+0:15            u: direct index for structure ( temp 4-component vector of uint)
+0:15              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:15                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:15                  Constant:
+0:15                    0 (const uint)
+0:15                direct index ( temp uint)
+0:15                  'dti' ( in 3-component vector of uint)
+0:15                  Constant:
+0:15                    0 (const int)
+0:15              Constant:
+0:15                0 (const int)
+0:15            Constant:
+0:15              0 (const int)
+0:16      move second child to first child ( temp 2-component vector of uint)
+0:16        vector swizzle ( temp 2-component vector of uint)
+0:16          u: direct index for structure ( temp 4-component vector of uint)
+0:16            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                Constant:
+0:16                  0 (const uint)
+0:16              direct index ( temp uint)
+0:16                'dti' ( in 3-component vector of uint)
+0:16                Constant:
+0:16                  0 (const int)
+0:16            Constant:
+0:16              0 (const int)
+0:16          Sequence
+0:16            Constant:
+0:16              0 (const int)
+0:16            Constant:
+0:16              1 (const int)
+0:16        subgroupAdd ( temp 2-component vector of uint)
+0:16          vector swizzle ( temp 2-component vector of uint)
+0:16            u: direct index for structure ( temp 4-component vector of uint)
+0:16              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:16                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:16                  Constant:
+0:16                    0 (const uint)
+0:16                direct index ( temp uint)
+0:16                  'dti' ( in 3-component vector of uint)
+0:16                  Constant:
+0:16                    0 (const int)
+0:16              Constant:
+0:16                0 (const int)
+0:16            Sequence
+0:16              Constant:
+0:16                0 (const int)
+0:16              Constant:
+0:16                1 (const int)
+0:17      move second child to first child ( temp 3-component vector of uint)
+0:17        vector swizzle ( temp 3-component vector of uint)
+0:17          u: direct index for structure ( temp 4-component vector of uint)
+0:17            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                Constant:
+0:17                  0 (const uint)
+0:17              direct index ( temp uint)
+0:17                'dti' ( in 3-component vector of uint)
+0:17                Constant:
+0:17                  0 (const int)
+0:17            Constant:
+0:17              0 (const int)
+0:17          Sequence
+0:17            Constant:
+0:17              0 (const int)
+0:17            Constant:
+0:17              1 (const int)
+0:17            Constant:
+0:17              2 (const int)
+0:17        subgroupAdd ( temp 3-component vector of uint)
+0:17          vector swizzle ( temp 3-component vector of uint)
+0:17            u: direct index for structure ( temp 4-component vector of uint)
+0:17              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:17                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:17                  Constant:
+0:17                    0 (const uint)
+0:17                direct index ( temp uint)
+0:17                  'dti' ( in 3-component vector of uint)
+0:17                  Constant:
+0:17                    0 (const int)
+0:17              Constant:
+0:17                0 (const int)
+0:17            Sequence
+0:17              Constant:
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:17              Constant:
+0:17                2 (const int)
+0:19      move second child to first child ( temp 4-component vector of int)
+0:19        i: direct index for structure ( temp 4-component vector of int)
+0:19          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            direct index ( temp uint)
+0:19              'dti' ( in 3-component vector of uint)
+0:19              Constant:
+0:19                0 (const int)
+0:19          Constant:
+0:19            1 (const int)
+0:19        subgroupAdd ( temp 4-component vector of int)
+0:19          i: direct index for structure ( temp 4-component vector of int)
+0:19            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:19                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:19                Constant:
+0:19                  0 (const uint)
+0:19              direct index ( temp uint)
+0:19                'dti' ( in 3-component vector of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19            Constant:
+0:19              1 (const int)
+0:20      move second child to first child ( temp int)
+0:20        direct index ( temp int)
+0:20          i: direct index for structure ( temp 4-component vector of int)
+0:20            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                Constant:
+0:20                  0 (const uint)
+0:20              direct index ( temp uint)
+0:20                'dti' ( in 3-component vector of uint)
+0:20                Constant:
+0:20                  0 (const int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        subgroupAdd ( temp int)
+0:20          direct index ( temp int)
+0:20            i: direct index for structure ( temp 4-component vector of int)
+0:20              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:20                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:20                  Constant:
+0:20                    0 (const uint)
+0:20                direct index ( temp uint)
+0:20                  'dti' ( in 3-component vector of uint)
+0:20                  Constant:
+0:20                    0 (const int)
+0:20              Constant:
+0:20                1 (const int)
+0:20            Constant:
+0:20              0 (const int)
+0:21      move second child to first child ( temp 2-component vector of int)
+0:21        vector swizzle ( temp 2-component vector of int)
+0:21          i: direct index for structure ( temp 4-component vector of int)
+0:21            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                Constant:
+0:21                  0 (const uint)
+0:21              direct index ( temp uint)
+0:21                'dti' ( in 3-component vector of uint)
+0:21                Constant:
+0:21                  0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21          Sequence
+0:21            Constant:
+0:21              0 (const int)
+0:21            Constant:
+0:21              1 (const int)
+0:21        subgroupAdd ( temp 2-component vector of int)
+0:21          vector swizzle ( temp 2-component vector of int)
+0:21            i: direct index for structure ( temp 4-component vector of int)
+0:21              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:21                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:21                  Constant:
+0:21                    0 (const uint)
+0:21                direct index ( temp uint)
+0:21                  'dti' ( in 3-component vector of uint)
+0:21                  Constant:
+0:21                    0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:21            Sequence
+0:21              Constant:
+0:21                0 (const int)
+0:21              Constant:
+0:21                1 (const int)
+0:22      move second child to first child ( temp 3-component vector of int)
+0:22        vector swizzle ( temp 3-component vector of int)
+0:22          i: direct index for structure ( temp 4-component vector of int)
+0:22            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                Constant:
+0:22                  0 (const uint)
+0:22              direct index ( temp uint)
+0:22                'dti' ( in 3-component vector of uint)
+0:22                Constant:
+0:22                  0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22          Sequence
+0:22            Constant:
+0:22              0 (const int)
+0:22            Constant:
+0:22              1 (const int)
+0:22            Constant:
+0:22              2 (const int)
+0:22        subgroupAdd ( temp 3-component vector of int)
+0:22          vector swizzle ( temp 3-component vector of int)
+0:22            i: direct index for structure ( temp 4-component vector of int)
+0:22              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:22                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:22                  Constant:
+0:22                    0 (const uint)
+0:22                direct index ( temp uint)
+0:22                  'dti' ( in 3-component vector of uint)
+0:22                  Constant:
+0:22                    0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22            Sequence
+0:22              Constant:
+0:22                0 (const int)
+0:22              Constant:
+0:22                1 (const int)
+0:22              Constant:
+0:22                2 (const int)
+0:24      move second child to first child ( temp 4-component vector of float)
+0:24        f: direct index for structure ( temp 4-component vector of float)
+0:24          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24              Constant:
+0:24                0 (const uint)
+0:24            direct index ( temp uint)
+0:24              'dti' ( in 3-component vector of uint)
+0:24              Constant:
+0:24                0 (const int)
+0:24          Constant:
+0:24            2 (const int)
+0:24        subgroupAdd ( temp 4-component vector of float)
+0:24          f: direct index for structure ( temp 4-component vector of float)
+0:24            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:24                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:24                Constant:
+0:24                  0 (const uint)
+0:24              direct index ( temp uint)
+0:24                'dti' ( in 3-component vector of uint)
+0:24                Constant:
+0:24                  0 (const int)
+0:24            Constant:
+0:24              2 (const int)
+0:25      move second child to first child ( temp float)
+0:25        direct index ( temp float)
+0:25          f: direct index for structure ( temp 4-component vector of float)
+0:25            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                Constant:
+0:25                  0 (const uint)
+0:25              direct index ( temp uint)
+0:25                'dti' ( in 3-component vector of uint)
+0:25                Constant:
+0:25                  0 (const int)
+0:25            Constant:
+0:25              2 (const int)
+0:25          Constant:
+0:25            0 (const int)
+0:25        subgroupAdd ( temp float)
+0:25          direct index ( temp float)
+0:25            f: direct index for structure ( temp 4-component vector of float)
+0:25              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:25                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:25                  Constant:
+0:25                    0 (const uint)
+0:25                direct index ( temp uint)
+0:25                  'dti' ( in 3-component vector of uint)
+0:25                  Constant:
+0:25                    0 (const int)
+0:25              Constant:
+0:25                2 (const int)
+0:25            Constant:
+0:25              0 (const int)
+0:26      move second child to first child ( temp 2-component vector of float)
+0:26        vector swizzle ( temp 2-component vector of float)
+0:26          f: direct index for structure ( temp 4-component vector of float)
+0:26            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26              direct index ( temp uint)
+0:26                'dti' ( in 3-component vector of uint)
+0:26                Constant:
+0:26                  0 (const int)
+0:26            Constant:
+0:26              2 (const int)
+0:26          Sequence
+0:26            Constant:
+0:26              0 (const int)
+0:26            Constant:
+0:26              1 (const int)
+0:26        subgroupAdd ( temp 2-component vector of float)
+0:26          vector swizzle ( temp 2-component vector of float)
+0:26            f: direct index for structure ( temp 4-component vector of float)
+0:26              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:26                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:26                  Constant:
+0:26                    0 (const uint)
+0:26                direct index ( temp uint)
+0:26                  'dti' ( in 3-component vector of uint)
+0:26                  Constant:
+0:26                    0 (const int)
+0:26              Constant:
+0:26                2 (const int)
+0:26            Sequence
+0:26              Constant:
+0:26                0 (const int)
+0:26              Constant:
+0:26                1 (const int)
+0:27      move second child to first child ( temp 3-component vector of float)
+0:27        vector swizzle ( temp 3-component vector of float)
+0:27          f: direct index for structure ( temp 4-component vector of float)
+0:27            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                Constant:
+0:27                  0 (const uint)
+0:27              direct index ( temp uint)
+0:27                'dti' ( in 3-component vector of uint)
+0:27                Constant:
+0:27                  0 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27          Sequence
+0:27            Constant:
+0:27              0 (const int)
+0:27            Constant:
+0:27              1 (const int)
+0:27            Constant:
+0:27              2 (const int)
+0:27        subgroupAdd ( temp 3-component vector of float)
+0:27          vector swizzle ( temp 3-component vector of float)
+0:27            f: direct index for structure ( temp 4-component vector of float)
+0:27              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:27                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:27                  Constant:
+0:27                    0 (const uint)
+0:27                direct index ( temp uint)
+0:27                  'dti' ( in 3-component vector of uint)
+0:27                  Constant:
+0:27                    0 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:27            Sequence
+0:27              Constant:
+0:27                0 (const int)
+0:27              Constant:
+0:27                1 (const int)
+0:27              Constant:
+0:27                2 (const int)
+0:29      move second child to first child ( temp 4-component vector of double)
+0:29        d: direct index for structure ( temp 4-component vector of double)
+0:29          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29              Constant:
+0:29                0 (const uint)
+0:29            direct index ( temp uint)
+0:29              'dti' ( in 3-component vector of uint)
+0:29              Constant:
+0:29                0 (const int)
+0:29          Constant:
+0:29            3 (const int)
+0:29        subgroupAdd ( temp 4-component vector of double)
+0:29          d: direct index for structure ( temp 4-component vector of double)
+0:29            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:29                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:29                Constant:
+0:29                  0 (const uint)
+0:29              direct index ( temp uint)
+0:29                'dti' ( in 3-component vector of uint)
+0:29                Constant:
+0:29                  0 (const int)
+0:29            Constant:
+0:29              3 (const int)
+0:30      move second child to first child ( temp double)
+0:30        direct index ( temp double)
+0:30          d: direct index for structure ( temp 4-component vector of double)
+0:30            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                Constant:
+0:30                  0 (const uint)
+0:30              direct index ( temp uint)
+0:30                'dti' ( in 3-component vector of uint)
+0:30                Constant:
+0:30                  0 (const int)
+0:30            Constant:
+0:30              3 (const int)
+0:30          Constant:
+0:30            0 (const int)
+0:30        subgroupAdd ( temp double)
+0:30          direct index ( temp double)
+0:30            d: direct index for structure ( temp 4-component vector of double)
+0:30              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:30                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:30                  Constant:
+0:30                    0 (const uint)
+0:30                direct index ( temp uint)
+0:30                  'dti' ( in 3-component vector of uint)
+0:30                  Constant:
+0:30                    0 (const int)
+0:30              Constant:
+0:30                3 (const int)
+0:30            Constant:
+0:30              0 (const int)
+0:31      move second child to first child ( temp 2-component vector of double)
+0:31        vector swizzle ( temp 2-component vector of double)
+0:31          d: direct index for structure ( temp 4-component vector of double)
+0:31            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                Constant:
+0:31                  0 (const uint)
+0:31              direct index ( temp uint)
+0:31                'dti' ( in 3-component vector of uint)
+0:31                Constant:
+0:31                  0 (const int)
+0:31            Constant:
+0:31              3 (const int)
+0:31          Sequence
+0:31            Constant:
+0:31              0 (const int)
+0:31            Constant:
+0:31              1 (const int)
+0:31        subgroupAdd ( temp 2-component vector of double)
+0:31          vector swizzle ( temp 2-component vector of double)
+0:31            d: direct index for structure ( temp 4-component vector of double)
+0:31              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:31                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:31                  Constant:
+0:31                    0 (const uint)
+0:31                direct index ( temp uint)
+0:31                  'dti' ( in 3-component vector of uint)
+0:31                  Constant:
+0:31                    0 (const int)
+0:31              Constant:
+0:31                3 (const int)
+0:31            Sequence
+0:31              Constant:
+0:31                0 (const int)
+0:31              Constant:
+0:31                1 (const int)
+0:32      move second child to first child ( temp 3-component vector of double)
+0:32        vector swizzle ( temp 3-component vector of double)
+0:32          d: direct index for structure ( temp 4-component vector of double)
+0:32            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                Constant:
+0:32                  0 (const uint)
+0:32              direct index ( temp uint)
+0:32                'dti' ( in 3-component vector of uint)
+0:32                Constant:
+0:32                  0 (const int)
+0:32            Constant:
+0:32              3 (const int)
+0:32          Sequence
+0:32            Constant:
+0:32              0 (const int)
+0:32            Constant:
+0:32              1 (const int)
+0:32            Constant:
+0:32              2 (const int)
+0:32        subgroupAdd ( temp 3-component vector of double)
+0:32          vector swizzle ( temp 3-component vector of double)
+0:32            d: direct index for structure ( temp 4-component vector of double)
+0:32              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:32                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:32                  Constant:
+0:32                    0 (const uint)
+0:32                direct index ( temp uint)
+0:32                  'dti' ( in 3-component vector of uint)
+0:32                  Constant:
+0:32                    0 (const int)
+0:32              Constant:
+0:32                3 (const int)
+0:32            Sequence
+0:32              Constant:
+0:32                0 (const int)
+0:32              Constant:
+0:32                1 (const int)
+0:32              Constant:
+0:32                2 (const int)
+0:34      move second child to first child ( temp 4-component vector of uint)
+0:34        u: direct index for structure ( temp 4-component vector of uint)
+0:34          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34              Constant:
+0:34                0 (const uint)
+0:34            direct index ( temp uint)
+0:34              'dti' ( in 3-component vector of uint)
+0:34              Constant:
+0:34                0 (const int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        subgroupMul ( temp 4-component vector of uint)
+0:34          u: direct index for structure ( temp 4-component vector of uint)
+0:34            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:34                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:34                Constant:
+0:34                  0 (const uint)
+0:34              direct index ( temp uint)
+0:34                'dti' ( in 3-component vector of uint)
+0:34                Constant:
+0:34                  0 (const int)
+0:34            Constant:
+0:34              0 (const int)
+0:35      move second child to first child ( temp uint)
+0:35        direct index ( temp uint)
+0:35          u: direct index for structure ( temp 4-component vector of uint)
+0:35            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                Constant:
+0:35                  0 (const uint)
+0:35              direct index ( temp uint)
+0:35                'dti' ( in 3-component vector of uint)
+0:35                Constant:
+0:35                  0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:35          Constant:
+0:35            0 (const int)
+0:35        subgroupMul ( temp uint)
+0:35          direct index ( temp uint)
+0:35            u: direct index for structure ( temp 4-component vector of uint)
+0:35              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:35                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:35                  Constant:
+0:35                    0 (const uint)
+0:35                direct index ( temp uint)
+0:35                  'dti' ( in 3-component vector of uint)
+0:35                  Constant:
+0:35                    0 (const int)
+0:35              Constant:
+0:35                0 (const int)
+0:35            Constant:
+0:35              0 (const int)
+0:36      move second child to first child ( temp 2-component vector of uint)
+0:36        vector swizzle ( temp 2-component vector of uint)
+0:36          u: direct index for structure ( temp 4-component vector of uint)
+0:36            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                Constant:
+0:36                  0 (const uint)
+0:36              direct index ( temp uint)
+0:36                'dti' ( in 3-component vector of uint)
+0:36                Constant:
+0:36                  0 (const int)
+0:36            Constant:
+0:36              0 (const int)
+0:36          Sequence
+0:36            Constant:
+0:36              0 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36        subgroupMul ( temp 2-component vector of uint)
+0:36          vector swizzle ( temp 2-component vector of uint)
+0:36            u: direct index for structure ( temp 4-component vector of uint)
+0:36              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:36                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:36                  Constant:
+0:36                    0 (const uint)
+0:36                direct index ( temp uint)
+0:36                  'dti' ( in 3-component vector of uint)
+0:36                  Constant:
+0:36                    0 (const int)
+0:36              Constant:
+0:36                0 (const int)
+0:36            Sequence
+0:36              Constant:
+0:36                0 (const int)
+0:36              Constant:
+0:36                1 (const int)
+0:37      move second child to first child ( temp 3-component vector of uint)
+0:37        vector swizzle ( temp 3-component vector of uint)
+0:37          u: direct index for structure ( temp 4-component vector of uint)
+0:37            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                Constant:
+0:37                  0 (const uint)
+0:37              direct index ( temp uint)
+0:37                'dti' ( in 3-component vector of uint)
+0:37                Constant:
+0:37                  0 (const int)
+0:37            Constant:
+0:37              0 (const int)
+0:37          Sequence
+0:37            Constant:
+0:37              0 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37            Constant:
+0:37              2 (const int)
+0:37        subgroupMul ( temp 3-component vector of uint)
+0:37          vector swizzle ( temp 3-component vector of uint)
+0:37            u: direct index for structure ( temp 4-component vector of uint)
+0:37              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:37                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:37                  Constant:
+0:37                    0 (const uint)
+0:37                direct index ( temp uint)
+0:37                  'dti' ( in 3-component vector of uint)
+0:37                  Constant:
+0:37                    0 (const int)
+0:37              Constant:
+0:37                0 (const int)
+0:37            Sequence
+0:37              Constant:
+0:37                0 (const int)
+0:37              Constant:
+0:37                1 (const int)
+0:37              Constant:
+0:37                2 (const int)
+0:39      move second child to first child ( temp 4-component vector of int)
+0:39        i: direct index for structure ( temp 4-component vector of int)
+0:39          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39              Constant:
+0:39                0 (const uint)
+0:39            direct index ( temp uint)
+0:39              'dti' ( in 3-component vector of uint)
+0:39              Constant:
+0:39                0 (const int)
+0:39          Constant:
+0:39            1 (const int)
+0:39        subgroupMul ( temp 4-component vector of int)
+0:39          i: direct index for structure ( temp 4-component vector of int)
+0:39            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:39                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:39                Constant:
+0:39                  0 (const uint)
+0:39              direct index ( temp uint)
+0:39                'dti' ( in 3-component vector of uint)
+0:39                Constant:
+0:39                  0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:40      move second child to first child ( temp int)
+0:40        direct index ( temp int)
+0:40          i: direct index for structure ( temp 4-component vector of int)
+0:40            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                Constant:
+0:40                  0 (const uint)
+0:40              direct index ( temp uint)
+0:40                'dti' ( in 3-component vector of uint)
+0:40                Constant:
+0:40                  0 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40          Constant:
+0:40            0 (const int)
+0:40        subgroupMul ( temp int)
+0:40          direct index ( temp int)
+0:40            i: direct index for structure ( temp 4-component vector of int)
+0:40              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:40                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:40                  Constant:
+0:40                    0 (const uint)
+0:40                direct index ( temp uint)
+0:40                  'dti' ( in 3-component vector of uint)
+0:40                  Constant:
+0:40                    0 (const int)
+0:40              Constant:
+0:40                1 (const int)
+0:40            Constant:
+0:40              0 (const int)
+0:41      move second child to first child ( temp 2-component vector of int)
+0:41        vector swizzle ( temp 2-component vector of int)
+0:41          i: direct index for structure ( temp 4-component vector of int)
+0:41            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                Constant:
+0:41                  0 (const uint)
+0:41              direct index ( temp uint)
+0:41                'dti' ( in 3-component vector of uint)
+0:41                Constant:
+0:41                  0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41          Sequence
+0:41            Constant:
+0:41              0 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41        subgroupMul ( temp 2-component vector of int)
+0:41          vector swizzle ( temp 2-component vector of int)
+0:41            i: direct index for structure ( temp 4-component vector of int)
+0:41              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:41                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:41                  Constant:
+0:41                    0 (const uint)
+0:41                direct index ( temp uint)
+0:41                  'dti' ( in 3-component vector of uint)
+0:41                  Constant:
+0:41                    0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:41            Sequence
+0:41              Constant:
+0:41                0 (const int)
+0:41              Constant:
+0:41                1 (const int)
+0:42      move second child to first child ( temp 3-component vector of int)
+0:42        vector swizzle ( temp 3-component vector of int)
+0:42          i: direct index for structure ( temp 4-component vector of int)
+0:42            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                Constant:
+0:42                  0 (const uint)
+0:42              direct index ( temp uint)
+0:42                'dti' ( in 3-component vector of uint)
+0:42                Constant:
+0:42                  0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42          Sequence
+0:42            Constant:
+0:42              0 (const int)
+0:42            Constant:
+0:42              1 (const int)
+0:42            Constant:
+0:42              2 (const int)
+0:42        subgroupMul ( temp 3-component vector of int)
+0:42          vector swizzle ( temp 3-component vector of int)
+0:42            i: direct index for structure ( temp 4-component vector of int)
+0:42              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:42                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:42                  Constant:
+0:42                    0 (const uint)
+0:42                direct index ( temp uint)
+0:42                  'dti' ( in 3-component vector of uint)
+0:42                  Constant:
+0:42                    0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42            Sequence
+0:42              Constant:
+0:42                0 (const int)
+0:42              Constant:
+0:42                1 (const int)
+0:42              Constant:
+0:42                2 (const int)
+0:44      move second child to first child ( temp 4-component vector of float)
+0:44        f: direct index for structure ( temp 4-component vector of float)
+0:44          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44              Constant:
+0:44                0 (const uint)
+0:44            direct index ( temp uint)
+0:44              'dti' ( in 3-component vector of uint)
+0:44              Constant:
+0:44                0 (const int)
+0:44          Constant:
+0:44            2 (const int)
+0:44        subgroupMul ( temp 4-component vector of float)
+0:44          f: direct index for structure ( temp 4-component vector of float)
+0:44            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:44                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:44                Constant:
+0:44                  0 (const uint)
+0:44              direct index ( temp uint)
+0:44                'dti' ( in 3-component vector of uint)
+0:44                Constant:
+0:44                  0 (const int)
+0:44            Constant:
+0:44              2 (const int)
+0:45      move second child to first child ( temp float)
+0:45        direct index ( temp float)
+0:45          f: direct index for structure ( temp 4-component vector of float)
+0:45            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                Constant:
+0:45                  0 (const uint)
+0:45              direct index ( temp uint)
+0:45                'dti' ( in 3-component vector of uint)
+0:45                Constant:
+0:45                  0 (const int)
+0:45            Constant:
+0:45              2 (const int)
+0:45          Constant:
+0:45            0 (const int)
+0:45        subgroupMul ( temp float)
+0:45          direct index ( temp float)
+0:45            f: direct index for structure ( temp 4-component vector of float)
+0:45              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:45                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:45                  Constant:
+0:45                    0 (const uint)
+0:45                direct index ( temp uint)
+0:45                  'dti' ( in 3-component vector of uint)
+0:45                  Constant:
+0:45                    0 (const int)
+0:45              Constant:
+0:45                2 (const int)
+0:45            Constant:
+0:45              0 (const int)
+0:46      move second child to first child ( temp 2-component vector of float)
+0:46        vector swizzle ( temp 2-component vector of float)
+0:46          f: direct index for structure ( temp 4-component vector of float)
+0:46            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                Constant:
+0:46                  0 (const uint)
+0:46              direct index ( temp uint)
+0:46                'dti' ( in 3-component vector of uint)
+0:46                Constant:
+0:46                  0 (const int)
+0:46            Constant:
+0:46              2 (const int)
+0:46          Sequence
+0:46            Constant:
+0:46              0 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46        subgroupMul ( temp 2-component vector of float)
+0:46          vector swizzle ( temp 2-component vector of float)
+0:46            f: direct index for structure ( temp 4-component vector of float)
+0:46              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:46                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46                direct index ( temp uint)
+0:46                  'dti' ( in 3-component vector of uint)
+0:46                  Constant:
+0:46                    0 (const int)
+0:46              Constant:
+0:46                2 (const int)
+0:46            Sequence
+0:46              Constant:
+0:46                0 (const int)
+0:46              Constant:
+0:46                1 (const int)
+0:47      move second child to first child ( temp 3-component vector of float)
+0:47        vector swizzle ( temp 3-component vector of float)
+0:47          f: direct index for structure ( temp 4-component vector of float)
+0:47            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                Constant:
+0:47                  0 (const uint)
+0:47              direct index ( temp uint)
+0:47                'dti' ( in 3-component vector of uint)
+0:47                Constant:
+0:47                  0 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47          Sequence
+0:47            Constant:
+0:47              0 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47        subgroupMul ( temp 3-component vector of float)
+0:47          vector swizzle ( temp 3-component vector of float)
+0:47            f: direct index for structure ( temp 4-component vector of float)
+0:47              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:47                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:47                  Constant:
+0:47                    0 (const uint)
+0:47                direct index ( temp uint)
+0:47                  'dti' ( in 3-component vector of uint)
+0:47                  Constant:
+0:47                    0 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:47            Sequence
+0:47              Constant:
+0:47                0 (const int)
+0:47              Constant:
+0:47                1 (const int)
+0:47              Constant:
+0:47                2 (const int)
+0:49      move second child to first child ( temp 4-component vector of double)
+0:49        d: direct index for structure ( temp 4-component vector of double)
+0:49          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49              Constant:
+0:49                0 (const uint)
+0:49            direct index ( temp uint)
+0:49              'dti' ( in 3-component vector of uint)
+0:49              Constant:
+0:49                0 (const int)
+0:49          Constant:
+0:49            3 (const int)
+0:49        subgroupMul ( temp 4-component vector of double)
+0:49          d: direct index for structure ( temp 4-component vector of double)
+0:49            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:49                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:49                Constant:
+0:49                  0 (const uint)
+0:49              direct index ( temp uint)
+0:49                'dti' ( in 3-component vector of uint)
+0:49                Constant:
+0:49                  0 (const int)
+0:49            Constant:
+0:49              3 (const int)
+0:50      move second child to first child ( temp double)
+0:50        direct index ( temp double)
+0:50          d: direct index for structure ( temp 4-component vector of double)
+0:50            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                Constant:
+0:50                  0 (const uint)
+0:50              direct index ( temp uint)
+0:50                'dti' ( in 3-component vector of uint)
+0:50                Constant:
+0:50                  0 (const int)
+0:50            Constant:
+0:50              3 (const int)
+0:50          Constant:
+0:50            0 (const int)
+0:50        subgroupMul ( temp double)
+0:50          direct index ( temp double)
+0:50            d: direct index for structure ( temp 4-component vector of double)
+0:50              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:50                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:50                  Constant:
+0:50                    0 (const uint)
+0:50                direct index ( temp uint)
+0:50                  'dti' ( in 3-component vector of uint)
+0:50                  Constant:
+0:50                    0 (const int)
+0:50              Constant:
+0:50                3 (const int)
+0:50            Constant:
+0:50              0 (const int)
+0:51      move second child to first child ( temp 2-component vector of double)
+0:51        vector swizzle ( temp 2-component vector of double)
+0:51          d: direct index for structure ( temp 4-component vector of double)
+0:51            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                Constant:
+0:51                  0 (const uint)
+0:51              direct index ( temp uint)
+0:51                'dti' ( in 3-component vector of uint)
+0:51                Constant:
+0:51                  0 (const int)
+0:51            Constant:
+0:51              3 (const int)
+0:51          Sequence
+0:51            Constant:
+0:51              0 (const int)
+0:51            Constant:
+0:51              1 (const int)
+0:51        subgroupMul ( temp 2-component vector of double)
+0:51          vector swizzle ( temp 2-component vector of double)
+0:51            d: direct index for structure ( temp 4-component vector of double)
+0:51              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:51                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:51                  Constant:
+0:51                    0 (const uint)
+0:51                direct index ( temp uint)
+0:51                  'dti' ( in 3-component vector of uint)
+0:51                  Constant:
+0:51                    0 (const int)
+0:51              Constant:
+0:51                3 (const int)
+0:51            Sequence
+0:51              Constant:
+0:51                0 (const int)
+0:51              Constant:
+0:51                1 (const int)
+0:52      move second child to first child ( temp 3-component vector of double)
+0:52        vector swizzle ( temp 3-component vector of double)
+0:52          d: direct index for structure ( temp 4-component vector of double)
+0:52            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                Constant:
+0:52                  0 (const uint)
+0:52              direct index ( temp uint)
+0:52                'dti' ( in 3-component vector of uint)
+0:52                Constant:
+0:52                  0 (const int)
+0:52            Constant:
+0:52              3 (const int)
+0:52          Sequence
+0:52            Constant:
+0:52              0 (const int)
+0:52            Constant:
+0:52              1 (const int)
+0:52            Constant:
+0:52              2 (const int)
+0:52        subgroupMul ( temp 3-component vector of double)
+0:52          vector swizzle ( temp 3-component vector of double)
+0:52            d: direct index for structure ( temp 4-component vector of double)
+0:52              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:52                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:52                  Constant:
+0:52                    0 (const uint)
+0:52                direct index ( temp uint)
+0:52                  'dti' ( in 3-component vector of uint)
+0:52                  Constant:
+0:52                    0 (const int)
+0:52              Constant:
+0:52                3 (const int)
+0:52            Sequence
+0:52              Constant:
+0:52                0 (const int)
+0:52              Constant:
+0:52                1 (const int)
+0:52              Constant:
+0:52                2 (const int)
+0:54      move second child to first child ( temp 4-component vector of uint)
+0:54        u: direct index for structure ( temp 4-component vector of uint)
+0:54          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:54              Constant:
+0:54                0 (const uint)
+0:54            direct index ( temp uint)
+0:54              'dti' ( in 3-component vector of uint)
+0:54              Constant:
+0:54                0 (const int)
+0:54          Constant:
+0:54            0 (const int)
+0:54        subgroupMin ( temp 4-component vector of uint)
+0:54          u: direct index for structure ( temp 4-component vector of uint)
+0:54            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:54                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:54                Constant:
+0:54                  0 (const uint)
+0:54              direct index ( temp uint)
+0:54                'dti' ( in 3-component vector of uint)
+0:54                Constant:
+0:54                  0 (const int)
+0:54            Constant:
+0:54              0 (const int)
+0:55      move second child to first child ( temp uint)
+0:55        direct index ( temp uint)
+0:55          u: direct index for structure ( temp 4-component vector of uint)
+0:55            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:55                Constant:
+0:55                  0 (const uint)
+0:55              direct index ( temp uint)
+0:55                'dti' ( in 3-component vector of uint)
+0:55                Constant:
+0:55                  0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:55          Constant:
+0:55            0 (const int)
+0:55        subgroupMin ( temp uint)
+0:55          direct index ( temp uint)
+0:55            u: direct index for structure ( temp 4-component vector of uint)
+0:55              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:55                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:55                  Constant:
+0:55                    0 (const uint)
+0:55                direct index ( temp uint)
+0:55                  'dti' ( in 3-component vector of uint)
+0:55                  Constant:
+0:55                    0 (const int)
+0:55              Constant:
+0:55                0 (const int)
+0:55            Constant:
+0:55              0 (const int)
+0:56      move second child to first child ( temp 2-component vector of uint)
+0:56        vector swizzle ( temp 2-component vector of uint)
+0:56          u: direct index for structure ( temp 4-component vector of uint)
+0:56            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:56                Constant:
+0:56                  0 (const uint)
+0:56              direct index ( temp uint)
+0:56                'dti' ( in 3-component vector of uint)
+0:56                Constant:
+0:56                  0 (const int)
+0:56            Constant:
+0:56              0 (const int)
+0:56          Sequence
+0:56            Constant:
+0:56              0 (const int)
+0:56            Constant:
+0:56              1 (const int)
+0:56        subgroupMin ( temp 2-component vector of uint)
+0:56          vector swizzle ( temp 2-component vector of uint)
+0:56            u: direct index for structure ( temp 4-component vector of uint)
+0:56              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:56                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:56                  Constant:
+0:56                    0 (const uint)
+0:56                direct index ( temp uint)
+0:56                  'dti' ( in 3-component vector of uint)
+0:56                  Constant:
+0:56                    0 (const int)
+0:56              Constant:
+0:56                0 (const int)
+0:56            Sequence
+0:56              Constant:
+0:56                0 (const int)
+0:56              Constant:
+0:56                1 (const int)
+0:57      move second child to first child ( temp 3-component vector of uint)
+0:57        vector swizzle ( temp 3-component vector of uint)
+0:57          u: direct index for structure ( temp 4-component vector of uint)
+0:57            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:57                Constant:
+0:57                  0 (const uint)
+0:57              direct index ( temp uint)
+0:57                'dti' ( in 3-component vector of uint)
+0:57                Constant:
+0:57                  0 (const int)
+0:57            Constant:
+0:57              0 (const int)
+0:57          Sequence
+0:57            Constant:
+0:57              0 (const int)
+0:57            Constant:
+0:57              1 (const int)
+0:57            Constant:
+0:57              2 (const int)
+0:57        subgroupMin ( temp 3-component vector of uint)
+0:57          vector swizzle ( temp 3-component vector of uint)
+0:57            u: direct index for structure ( temp 4-component vector of uint)
+0:57              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:57                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:57                  Constant:
+0:57                    0 (const uint)
+0:57                direct index ( temp uint)
+0:57                  'dti' ( in 3-component vector of uint)
+0:57                  Constant:
+0:57                    0 (const int)
+0:57              Constant:
+0:57                0 (const int)
+0:57            Sequence
+0:57              Constant:
+0:57                0 (const int)
+0:57              Constant:
+0:57                1 (const int)
+0:57              Constant:
+0:57                2 (const int)
+0:59      move second child to first child ( temp 4-component vector of int)
+0:59        i: direct index for structure ( temp 4-component vector of int)
+0:59          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:59              Constant:
+0:59                0 (const uint)
+0:59            direct index ( temp uint)
+0:59              'dti' ( in 3-component vector of uint)
+0:59              Constant:
+0:59                0 (const int)
+0:59          Constant:
+0:59            1 (const int)
+0:59        subgroupMin ( temp 4-component vector of int)
+0:59          i: direct index for structure ( temp 4-component vector of int)
+0:59            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:59                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:59                Constant:
+0:59                  0 (const uint)
+0:59              direct index ( temp uint)
+0:59                'dti' ( in 3-component vector of uint)
+0:59                Constant:
+0:59                  0 (const int)
+0:59            Constant:
+0:59              1 (const int)
+0:60      move second child to first child ( temp int)
+0:60        direct index ( temp int)
+0:60          i: direct index for structure ( temp 4-component vector of int)
+0:60            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:60                Constant:
+0:60                  0 (const uint)
+0:60              direct index ( temp uint)
+0:60                'dti' ( in 3-component vector of uint)
+0:60                Constant:
+0:60                  0 (const int)
+0:60            Constant:
+0:60              1 (const int)
+0:60          Constant:
+0:60            0 (const int)
+0:60        subgroupMin ( temp int)
+0:60          direct index ( temp int)
+0:60            i: direct index for structure ( temp 4-component vector of int)
+0:60              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:60                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:60                  Constant:
+0:60                    0 (const uint)
+0:60                direct index ( temp uint)
+0:60                  'dti' ( in 3-component vector of uint)
+0:60                  Constant:
+0:60                    0 (const int)
+0:60              Constant:
+0:60                1 (const int)
+0:60            Constant:
+0:60              0 (const int)
+0:61      move second child to first child ( temp 2-component vector of int)
+0:61        vector swizzle ( temp 2-component vector of int)
+0:61          i: direct index for structure ( temp 4-component vector of int)
+0:61            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:61                Constant:
+0:61                  0 (const uint)
+0:61              direct index ( temp uint)
+0:61                'dti' ( in 3-component vector of uint)
+0:61                Constant:
+0:61                  0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61          Sequence
+0:61            Constant:
+0:61              0 (const int)
+0:61            Constant:
+0:61              1 (const int)
+0:61        subgroupMin ( temp 2-component vector of int)
+0:61          vector swizzle ( temp 2-component vector of int)
+0:61            i: direct index for structure ( temp 4-component vector of int)
+0:61              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:61                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:61                  Constant:
+0:61                    0 (const uint)
+0:61                direct index ( temp uint)
+0:61                  'dti' ( in 3-component vector of uint)
+0:61                  Constant:
+0:61                    0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:61            Sequence
+0:61              Constant:
+0:61                0 (const int)
+0:61              Constant:
+0:61                1 (const int)
+0:62      move second child to first child ( temp 3-component vector of int)
+0:62        vector swizzle ( temp 3-component vector of int)
+0:62          i: direct index for structure ( temp 4-component vector of int)
+0:62            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:62                Constant:
+0:62                  0 (const uint)
+0:62              direct index ( temp uint)
+0:62                'dti' ( in 3-component vector of uint)
+0:62                Constant:
+0:62                  0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62          Sequence
+0:62            Constant:
+0:62              0 (const int)
+0:62            Constant:
+0:62              1 (const int)
+0:62            Constant:
+0:62              2 (const int)
+0:62        subgroupMin ( temp 3-component vector of int)
+0:62          vector swizzle ( temp 3-component vector of int)
+0:62            i: direct index for structure ( temp 4-component vector of int)
+0:62              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:62                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:62                  Constant:
+0:62                    0 (const uint)
+0:62                direct index ( temp uint)
+0:62                  'dti' ( in 3-component vector of uint)
+0:62                  Constant:
+0:62                    0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62            Sequence
+0:62              Constant:
+0:62                0 (const int)
+0:62              Constant:
+0:62                1 (const int)
+0:62              Constant:
+0:62                2 (const int)
+0:64      move second child to first child ( temp 4-component vector of float)
+0:64        f: direct index for structure ( temp 4-component vector of float)
+0:64          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:64              Constant:
+0:64                0 (const uint)
+0:64            direct index ( temp uint)
+0:64              'dti' ( in 3-component vector of uint)
+0:64              Constant:
+0:64                0 (const int)
+0:64          Constant:
+0:64            2 (const int)
+0:64        subgroupMin ( temp 4-component vector of float)
+0:64          f: direct index for structure ( temp 4-component vector of float)
+0:64            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:64                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:64                Constant:
+0:64                  0 (const uint)
+0:64              direct index ( temp uint)
+0:64                'dti' ( in 3-component vector of uint)
+0:64                Constant:
+0:64                  0 (const int)
+0:64            Constant:
+0:64              2 (const int)
+0:65      move second child to first child ( temp float)
+0:65        direct index ( temp float)
+0:65          f: direct index for structure ( temp 4-component vector of float)
+0:65            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:65                Constant:
+0:65                  0 (const uint)
+0:65              direct index ( temp uint)
+0:65                'dti' ( in 3-component vector of uint)
+0:65                Constant:
+0:65                  0 (const int)
+0:65            Constant:
+0:65              2 (const int)
+0:65          Constant:
+0:65            0 (const int)
+0:65        subgroupMin ( temp float)
+0:65          direct index ( temp float)
+0:65            f: direct index for structure ( temp 4-component vector of float)
+0:65              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:65                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:65                  Constant:
+0:65                    0 (const uint)
+0:65                direct index ( temp uint)
+0:65                  'dti' ( in 3-component vector of uint)
+0:65                  Constant:
+0:65                    0 (const int)
+0:65              Constant:
+0:65                2 (const int)
+0:65            Constant:
+0:65              0 (const int)
+0:66      move second child to first child ( temp 2-component vector of float)
+0:66        vector swizzle ( temp 2-component vector of float)
+0:66          f: direct index for structure ( temp 4-component vector of float)
+0:66            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:66                Constant:
+0:66                  0 (const uint)
+0:66              direct index ( temp uint)
+0:66                'dti' ( in 3-component vector of uint)
+0:66                Constant:
+0:66                  0 (const int)
+0:66            Constant:
+0:66              2 (const int)
+0:66          Sequence
+0:66            Constant:
+0:66              0 (const int)
+0:66            Constant:
+0:66              1 (const int)
+0:66        subgroupMin ( temp 2-component vector of float)
+0:66          vector swizzle ( temp 2-component vector of float)
+0:66            f: direct index for structure ( temp 4-component vector of float)
+0:66              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:66                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:66                  Constant:
+0:66                    0 (const uint)
+0:66                direct index ( temp uint)
+0:66                  'dti' ( in 3-component vector of uint)
+0:66                  Constant:
+0:66                    0 (const int)
+0:66              Constant:
+0:66                2 (const int)
+0:66            Sequence
+0:66              Constant:
+0:66                0 (const int)
+0:66              Constant:
+0:66                1 (const int)
+0:67      move second child to first child ( temp 3-component vector of float)
+0:67        vector swizzle ( temp 3-component vector of float)
+0:67          f: direct index for structure ( temp 4-component vector of float)
+0:67            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:67                Constant:
+0:67                  0 (const uint)
+0:67              direct index ( temp uint)
+0:67                'dti' ( in 3-component vector of uint)
+0:67                Constant:
+0:67                  0 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67          Sequence
+0:67            Constant:
+0:67              0 (const int)
+0:67            Constant:
+0:67              1 (const int)
+0:67            Constant:
+0:67              2 (const int)
+0:67        subgroupMin ( temp 3-component vector of float)
+0:67          vector swizzle ( temp 3-component vector of float)
+0:67            f: direct index for structure ( temp 4-component vector of float)
+0:67              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:67                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:67                  Constant:
+0:67                    0 (const uint)
+0:67                direct index ( temp uint)
+0:67                  'dti' ( in 3-component vector of uint)
+0:67                  Constant:
+0:67                    0 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:67            Sequence
+0:67              Constant:
+0:67                0 (const int)
+0:67              Constant:
+0:67                1 (const int)
+0:67              Constant:
+0:67                2 (const int)
+0:69      move second child to first child ( temp 4-component vector of double)
+0:69        d: direct index for structure ( temp 4-component vector of double)
+0:69          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:69              Constant:
+0:69                0 (const uint)
+0:69            direct index ( temp uint)
+0:69              'dti' ( in 3-component vector of uint)
+0:69              Constant:
+0:69                0 (const int)
+0:69          Constant:
+0:69            3 (const int)
+0:69        subgroupMin ( temp 4-component vector of double)
+0:69          d: direct index for structure ( temp 4-component vector of double)
+0:69            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:69                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:69                Constant:
+0:69                  0 (const uint)
+0:69              direct index ( temp uint)
+0:69                'dti' ( in 3-component vector of uint)
+0:69                Constant:
+0:69                  0 (const int)
+0:69            Constant:
+0:69              3 (const int)
+0:70      move second child to first child ( temp double)
+0:70        direct index ( temp double)
+0:70          d: direct index for structure ( temp 4-component vector of double)
+0:70            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:70                Constant:
+0:70                  0 (const uint)
+0:70              direct index ( temp uint)
+0:70                'dti' ( in 3-component vector of uint)
+0:70                Constant:
+0:70                  0 (const int)
+0:70            Constant:
+0:70              3 (const int)
+0:70          Constant:
+0:70            0 (const int)
+0:70        subgroupMin ( temp double)
+0:70          direct index ( temp double)
+0:70            d: direct index for structure ( temp 4-component vector of double)
+0:70              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:70                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:70                  Constant:
+0:70                    0 (const uint)
+0:70                direct index ( temp uint)
+0:70                  'dti' ( in 3-component vector of uint)
+0:70                  Constant:
+0:70                    0 (const int)
+0:70              Constant:
+0:70                3 (const int)
+0:70            Constant:
+0:70              0 (const int)
+0:71      move second child to first child ( temp 2-component vector of double)
+0:71        vector swizzle ( temp 2-component vector of double)
+0:71          d: direct index for structure ( temp 4-component vector of double)
+0:71            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:71                Constant:
+0:71                  0 (const uint)
+0:71              direct index ( temp uint)
+0:71                'dti' ( in 3-component vector of uint)
+0:71                Constant:
+0:71                  0 (const int)
+0:71            Constant:
+0:71              3 (const int)
+0:71          Sequence
+0:71            Constant:
+0:71              0 (const int)
+0:71            Constant:
+0:71              1 (const int)
+0:71        subgroupMin ( temp 2-component vector of double)
+0:71          vector swizzle ( temp 2-component vector of double)
+0:71            d: direct index for structure ( temp 4-component vector of double)
+0:71              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:71                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:71                  Constant:
+0:71                    0 (const uint)
+0:71                direct index ( temp uint)
+0:71                  'dti' ( in 3-component vector of uint)
+0:71                  Constant:
+0:71                    0 (const int)
+0:71              Constant:
+0:71                3 (const int)
+0:71            Sequence
+0:71              Constant:
+0:71                0 (const int)
+0:71              Constant:
+0:71                1 (const int)
+0:72      move second child to first child ( temp 3-component vector of double)
+0:72        vector swizzle ( temp 3-component vector of double)
+0:72          d: direct index for structure ( temp 4-component vector of double)
+0:72            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:72                Constant:
+0:72                  0 (const uint)
+0:72              direct index ( temp uint)
+0:72                'dti' ( in 3-component vector of uint)
+0:72                Constant:
+0:72                  0 (const int)
+0:72            Constant:
+0:72              3 (const int)
+0:72          Sequence
+0:72            Constant:
+0:72              0 (const int)
+0:72            Constant:
+0:72              1 (const int)
+0:72            Constant:
+0:72              2 (const int)
+0:72        subgroupMin ( temp 3-component vector of double)
+0:72          vector swizzle ( temp 3-component vector of double)
+0:72            d: direct index for structure ( temp 4-component vector of double)
+0:72              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:72                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:72                  Constant:
+0:72                    0 (const uint)
+0:72                direct index ( temp uint)
+0:72                  'dti' ( in 3-component vector of uint)
+0:72                  Constant:
+0:72                    0 (const int)
+0:72              Constant:
+0:72                3 (const int)
+0:72            Sequence
+0:72              Constant:
+0:72                0 (const int)
+0:72              Constant:
+0:72                1 (const int)
+0:72              Constant:
+0:72                2 (const int)
+0:74      move second child to first child ( temp 4-component vector of uint)
+0:74        u: direct index for structure ( temp 4-component vector of uint)
+0:74          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:74              Constant:
+0:74                0 (const uint)
+0:74            direct index ( temp uint)
+0:74              'dti' ( in 3-component vector of uint)
+0:74              Constant:
+0:74                0 (const int)
+0:74          Constant:
+0:74            0 (const int)
+0:74        subgroupMax ( temp 4-component vector of uint)
+0:74          u: direct index for structure ( temp 4-component vector of uint)
+0:74            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:74                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:74                Constant:
+0:74                  0 (const uint)
+0:74              direct index ( temp uint)
+0:74                'dti' ( in 3-component vector of uint)
+0:74                Constant:
+0:74                  0 (const int)
+0:74            Constant:
+0:74              0 (const int)
+0:75      move second child to first child ( temp uint)
+0:75        direct index ( temp uint)
+0:75          u: direct index for structure ( temp 4-component vector of uint)
+0:75            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:75                Constant:
+0:75                  0 (const uint)
+0:75              direct index ( temp uint)
+0:75                'dti' ( in 3-component vector of uint)
+0:75                Constant:
+0:75                  0 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:75          Constant:
+0:75            0 (const int)
+0:75        subgroupMax ( temp uint)
+0:75          direct index ( temp uint)
+0:75            u: direct index for structure ( temp 4-component vector of uint)
+0:75              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:75                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:75                  Constant:
+0:75                    0 (const uint)
+0:75                direct index ( temp uint)
+0:75                  'dti' ( in 3-component vector of uint)
+0:75                  Constant:
+0:75                    0 (const int)
+0:75              Constant:
+0:75                0 (const int)
+0:75            Constant:
+0:75              0 (const int)
+0:76      move second child to first child ( temp 2-component vector of uint)
+0:76        vector swizzle ( temp 2-component vector of uint)
+0:76          u: direct index for structure ( temp 4-component vector of uint)
+0:76            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:76                Constant:
+0:76                  0 (const uint)
+0:76              direct index ( temp uint)
+0:76                'dti' ( in 3-component vector of uint)
+0:76                Constant:
+0:76                  0 (const int)
+0:76            Constant:
+0:76              0 (const int)
+0:76          Sequence
+0:76            Constant:
+0:76              0 (const int)
+0:76            Constant:
+0:76              1 (const int)
+0:76        subgroupMax ( temp 2-component vector of uint)
+0:76          vector swizzle ( temp 2-component vector of uint)
+0:76            u: direct index for structure ( temp 4-component vector of uint)
+0:76              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:76                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:76                  Constant:
+0:76                    0 (const uint)
+0:76                direct index ( temp uint)
+0:76                  'dti' ( in 3-component vector of uint)
+0:76                  Constant:
+0:76                    0 (const int)
+0:76              Constant:
+0:76                0 (const int)
+0:76            Sequence
+0:76              Constant:
+0:76                0 (const int)
+0:76              Constant:
+0:76                1 (const int)
+0:77      move second child to first child ( temp 3-component vector of uint)
+0:77        vector swizzle ( temp 3-component vector of uint)
+0:77          u: direct index for structure ( temp 4-component vector of uint)
+0:77            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:77                Constant:
+0:77                  0 (const uint)
+0:77              direct index ( temp uint)
+0:77                'dti' ( in 3-component vector of uint)
+0:77                Constant:
+0:77                  0 (const int)
+0:77            Constant:
+0:77              0 (const int)
+0:77          Sequence
+0:77            Constant:
+0:77              0 (const int)
+0:77            Constant:
+0:77              1 (const int)
+0:77            Constant:
+0:77              2 (const int)
+0:77        subgroupMax ( temp 3-component vector of uint)
+0:77          vector swizzle ( temp 3-component vector of uint)
+0:77            u: direct index for structure ( temp 4-component vector of uint)
+0:77              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:77                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:77                  Constant:
+0:77                    0 (const uint)
+0:77                direct index ( temp uint)
+0:77                  'dti' ( in 3-component vector of uint)
+0:77                  Constant:
+0:77                    0 (const int)
+0:77              Constant:
+0:77                0 (const int)
+0:77            Sequence
+0:77              Constant:
+0:77                0 (const int)
+0:77              Constant:
+0:77                1 (const int)
+0:77              Constant:
+0:77                2 (const int)
+0:79      move second child to first child ( temp 4-component vector of int)
+0:79        i: direct index for structure ( temp 4-component vector of int)
+0:79          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:79              Constant:
+0:79                0 (const uint)
+0:79            direct index ( temp uint)
+0:79              'dti' ( in 3-component vector of uint)
+0:79              Constant:
+0:79                0 (const int)
+0:79          Constant:
+0:79            1 (const int)
+0:79        subgroupMax ( temp 4-component vector of int)
+0:79          i: direct index for structure ( temp 4-component vector of int)
+0:79            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:79                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:79                Constant:
+0:79                  0 (const uint)
+0:79              direct index ( temp uint)
+0:79                'dti' ( in 3-component vector of uint)
+0:79                Constant:
+0:79                  0 (const int)
+0:79            Constant:
+0:79              1 (const int)
+0:80      move second child to first child ( temp int)
+0:80        direct index ( temp int)
+0:80          i: direct index for structure ( temp 4-component vector of int)
+0:80            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:80                Constant:
+0:80                  0 (const uint)
+0:80              direct index ( temp uint)
+0:80                'dti' ( in 3-component vector of uint)
+0:80                Constant:
+0:80                  0 (const int)
+0:80            Constant:
+0:80              1 (const int)
+0:80          Constant:
+0:80            0 (const int)
+0:80        subgroupMax ( temp int)
+0:80          direct index ( temp int)
+0:80            i: direct index for structure ( temp 4-component vector of int)
+0:80              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:80                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:80                  Constant:
+0:80                    0 (const uint)
+0:80                direct index ( temp uint)
+0:80                  'dti' ( in 3-component vector of uint)
+0:80                  Constant:
+0:80                    0 (const int)
+0:80              Constant:
+0:80                1 (const int)
+0:80            Constant:
+0:80              0 (const int)
+0:81      move second child to first child ( temp 2-component vector of int)
+0:81        vector swizzle ( temp 2-component vector of int)
+0:81          i: direct index for structure ( temp 4-component vector of int)
+0:81            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:81                Constant:
+0:81                  0 (const uint)
+0:81              direct index ( temp uint)
+0:81                'dti' ( in 3-component vector of uint)
+0:81                Constant:
+0:81                  0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81          Sequence
+0:81            Constant:
+0:81              0 (const int)
+0:81            Constant:
+0:81              1 (const int)
+0:81        subgroupMax ( temp 2-component vector of int)
+0:81          vector swizzle ( temp 2-component vector of int)
+0:81            i: direct index for structure ( temp 4-component vector of int)
+0:81              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:81                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:81                  Constant:
+0:81                    0 (const uint)
+0:81                direct index ( temp uint)
+0:81                  'dti' ( in 3-component vector of uint)
+0:81                  Constant:
+0:81                    0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:81            Sequence
+0:81              Constant:
+0:81                0 (const int)
+0:81              Constant:
+0:81                1 (const int)
+0:82      move second child to first child ( temp 3-component vector of int)
+0:82        vector swizzle ( temp 3-component vector of int)
+0:82          i: direct index for structure ( temp 4-component vector of int)
+0:82            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:82                Constant:
+0:82                  0 (const uint)
+0:82              direct index ( temp uint)
+0:82                'dti' ( in 3-component vector of uint)
+0:82                Constant:
+0:82                  0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82          Sequence
+0:82            Constant:
+0:82              0 (const int)
+0:82            Constant:
+0:82              1 (const int)
+0:82            Constant:
+0:82              2 (const int)
+0:82        subgroupMax ( temp 3-component vector of int)
+0:82          vector swizzle ( temp 3-component vector of int)
+0:82            i: direct index for structure ( temp 4-component vector of int)
+0:82              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:82                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:82                  Constant:
+0:82                    0 (const uint)
+0:82                direct index ( temp uint)
+0:82                  'dti' ( in 3-component vector of uint)
+0:82                  Constant:
+0:82                    0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82            Sequence
+0:82              Constant:
+0:82                0 (const int)
+0:82              Constant:
+0:82                1 (const int)
+0:82              Constant:
+0:82                2 (const int)
+0:84      move second child to first child ( temp 4-component vector of float)
+0:84        f: direct index for structure ( temp 4-component vector of float)
+0:84          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:84              Constant:
+0:84                0 (const uint)
+0:84            direct index ( temp uint)
+0:84              'dti' ( in 3-component vector of uint)
+0:84              Constant:
+0:84                0 (const int)
+0:84          Constant:
+0:84            2 (const int)
+0:84        subgroupMax ( temp 4-component vector of float)
+0:84          f: direct index for structure ( temp 4-component vector of float)
+0:84            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:84                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:84                Constant:
+0:84                  0 (const uint)
+0:84              direct index ( temp uint)
+0:84                'dti' ( in 3-component vector of uint)
+0:84                Constant:
+0:84                  0 (const int)
+0:84            Constant:
+0:84              2 (const int)
+0:85      move second child to first child ( temp float)
+0:85        direct index ( temp float)
+0:85          f: direct index for structure ( temp 4-component vector of float)
+0:85            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:85                Constant:
+0:85                  0 (const uint)
+0:85              direct index ( temp uint)
+0:85                'dti' ( in 3-component vector of uint)
+0:85                Constant:
+0:85                  0 (const int)
+0:85            Constant:
+0:85              2 (const int)
+0:85          Constant:
+0:85            0 (const int)
+0:85        subgroupMax ( temp float)
+0:85          direct index ( temp float)
+0:85            f: direct index for structure ( temp 4-component vector of float)
+0:85              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:85                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:85                  Constant:
+0:85                    0 (const uint)
+0:85                direct index ( temp uint)
+0:85                  'dti' ( in 3-component vector of uint)
+0:85                  Constant:
+0:85                    0 (const int)
+0:85              Constant:
+0:85                2 (const int)
+0:85            Constant:
+0:85              0 (const int)
+0:86      move second child to first child ( temp 2-component vector of float)
+0:86        vector swizzle ( temp 2-component vector of float)
+0:86          f: direct index for structure ( temp 4-component vector of float)
+0:86            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:86                Constant:
+0:86                  0 (const uint)
+0:86              direct index ( temp uint)
+0:86                'dti' ( in 3-component vector of uint)
+0:86                Constant:
+0:86                  0 (const int)
+0:86            Constant:
+0:86              2 (const int)
+0:86          Sequence
+0:86            Constant:
+0:86              0 (const int)
+0:86            Constant:
+0:86              1 (const int)
+0:86        subgroupMax ( temp 2-component vector of float)
+0:86          vector swizzle ( temp 2-component vector of float)
+0:86            f: direct index for structure ( temp 4-component vector of float)
+0:86              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:86                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:86                  Constant:
+0:86                    0 (const uint)
+0:86                direct index ( temp uint)
+0:86                  'dti' ( in 3-component vector of uint)
+0:86                  Constant:
+0:86                    0 (const int)
+0:86              Constant:
+0:86                2 (const int)
+0:86            Sequence
+0:86              Constant:
+0:86                0 (const int)
+0:86              Constant:
+0:86                1 (const int)
+0:87      move second child to first child ( temp 3-component vector of float)
+0:87        vector swizzle ( temp 3-component vector of float)
+0:87          f: direct index for structure ( temp 4-component vector of float)
+0:87            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:87                Constant:
+0:87                  0 (const uint)
+0:87              direct index ( temp uint)
+0:87                'dti' ( in 3-component vector of uint)
+0:87                Constant:
+0:87                  0 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87          Sequence
+0:87            Constant:
+0:87              0 (const int)
+0:87            Constant:
+0:87              1 (const int)
+0:87            Constant:
+0:87              2 (const int)
+0:87        subgroupMax ( temp 3-component vector of float)
+0:87          vector swizzle ( temp 3-component vector of float)
+0:87            f: direct index for structure ( temp 4-component vector of float)
+0:87              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:87                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:87                  Constant:
+0:87                    0 (const uint)
+0:87                direct index ( temp uint)
+0:87                  'dti' ( in 3-component vector of uint)
+0:87                  Constant:
+0:87                    0 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:87            Sequence
+0:87              Constant:
+0:87                0 (const int)
+0:87              Constant:
+0:87                1 (const int)
+0:87              Constant:
+0:87                2 (const int)
+0:89      move second child to first child ( temp 4-component vector of double)
+0:89        d: direct index for structure ( temp 4-component vector of double)
+0:89          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:89              Constant:
+0:89                0 (const uint)
+0:89            direct index ( temp uint)
+0:89              'dti' ( in 3-component vector of uint)
+0:89              Constant:
+0:89                0 (const int)
+0:89          Constant:
+0:89            3 (const int)
+0:89        subgroupMax ( temp 4-component vector of double)
+0:89          d: direct index for structure ( temp 4-component vector of double)
+0:89            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:89                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:89                Constant:
+0:89                  0 (const uint)
+0:89              direct index ( temp uint)
+0:89                'dti' ( in 3-component vector of uint)
+0:89                Constant:
+0:89                  0 (const int)
+0:89            Constant:
+0:89              3 (const int)
+0:90      move second child to first child ( temp double)
+0:90        direct index ( temp double)
+0:90          d: direct index for structure ( temp 4-component vector of double)
+0:90            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:90                Constant:
+0:90                  0 (const uint)
+0:90              direct index ( temp uint)
+0:90                'dti' ( in 3-component vector of uint)
+0:90                Constant:
+0:90                  0 (const int)
+0:90            Constant:
+0:90              3 (const int)
+0:90          Constant:
+0:90            0 (const int)
+0:90        subgroupMax ( temp double)
+0:90          direct index ( temp double)
+0:90            d: direct index for structure ( temp 4-component vector of double)
+0:90              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:90                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:90                  Constant:
+0:90                    0 (const uint)
+0:90                direct index ( temp uint)
+0:90                  'dti' ( in 3-component vector of uint)
+0:90                  Constant:
+0:90                    0 (const int)
+0:90              Constant:
+0:90                3 (const int)
+0:90            Constant:
+0:90              0 (const int)
+0:91      move second child to first child ( temp 2-component vector of double)
+0:91        vector swizzle ( temp 2-component vector of double)
+0:91          d: direct index for structure ( temp 4-component vector of double)
+0:91            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:91                Constant:
+0:91                  0 (const uint)
+0:91              direct index ( temp uint)
+0:91                'dti' ( in 3-component vector of uint)
+0:91                Constant:
+0:91                  0 (const int)
+0:91            Constant:
+0:91              3 (const int)
+0:91          Sequence
+0:91            Constant:
+0:91              0 (const int)
+0:91            Constant:
+0:91              1 (const int)
+0:91        subgroupMax ( temp 2-component vector of double)
+0:91          vector swizzle ( temp 2-component vector of double)
+0:91            d: direct index for structure ( temp 4-component vector of double)
+0:91              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:91                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:91                  Constant:
+0:91                    0 (const uint)
+0:91                direct index ( temp uint)
+0:91                  'dti' ( in 3-component vector of uint)
+0:91                  Constant:
+0:91                    0 (const int)
+0:91              Constant:
+0:91                3 (const int)
+0:91            Sequence
+0:91              Constant:
+0:91                0 (const int)
+0:91              Constant:
+0:91                1 (const int)
+0:92      move second child to first child ( temp 3-component vector of double)
+0:92        vector swizzle ( temp 3-component vector of double)
+0:92          d: direct index for structure ( temp 4-component vector of double)
+0:92            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:92                Constant:
+0:92                  0 (const uint)
+0:92              direct index ( temp uint)
+0:92                'dti' ( in 3-component vector of uint)
+0:92                Constant:
+0:92                  0 (const int)
+0:92            Constant:
+0:92              3 (const int)
+0:92          Sequence
+0:92            Constant:
+0:92              0 (const int)
+0:92            Constant:
+0:92              1 (const int)
+0:92            Constant:
+0:92              2 (const int)
+0:92        subgroupMax ( temp 3-component vector of double)
+0:92          vector swizzle ( temp 3-component vector of double)
+0:92            d: direct index for structure ( temp 4-component vector of double)
+0:92              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:92                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:92                  Constant:
+0:92                    0 (const uint)
+0:92                direct index ( temp uint)
+0:92                  'dti' ( in 3-component vector of uint)
+0:92                  Constant:
+0:92                    0 (const int)
+0:92              Constant:
+0:92                3 (const int)
+0:92            Sequence
+0:92              Constant:
+0:92                0 (const int)
+0:92              Constant:
+0:92                1 (const int)
+0:92              Constant:
+0:92                2 (const int)
+0:94      move second child to first child ( temp 4-component vector of uint)
+0:94        u: direct index for structure ( temp 4-component vector of uint)
+0:94          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:94              Constant:
+0:94                0 (const uint)
+0:94            direct index ( temp uint)
+0:94              'dti' ( in 3-component vector of uint)
+0:94              Constant:
+0:94                0 (const int)
+0:94          Constant:
+0:94            0 (const int)
+0:94        subgroupAnd ( temp 4-component vector of uint)
+0:94          u: direct index for structure ( temp 4-component vector of uint)
+0:94            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:94                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:94                Constant:
+0:94                  0 (const uint)
+0:94              direct index ( temp uint)
+0:94                'dti' ( in 3-component vector of uint)
+0:94                Constant:
+0:94                  0 (const int)
+0:94            Constant:
+0:94              0 (const int)
+0:95      move second child to first child ( temp uint)
+0:95        direct index ( temp uint)
+0:95          u: direct index for structure ( temp 4-component vector of uint)
+0:95            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:95                Constant:
+0:95                  0 (const uint)
+0:95              direct index ( temp uint)
+0:95                'dti' ( in 3-component vector of uint)
+0:95                Constant:
+0:95                  0 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:95          Constant:
+0:95            0 (const int)
+0:95        subgroupAnd ( temp uint)
+0:95          direct index ( temp uint)
+0:95            u: direct index for structure ( temp 4-component vector of uint)
+0:95              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:95                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:95                  Constant:
+0:95                    0 (const uint)
+0:95                direct index ( temp uint)
+0:95                  'dti' ( in 3-component vector of uint)
+0:95                  Constant:
+0:95                    0 (const int)
+0:95              Constant:
+0:95                0 (const int)
+0:95            Constant:
+0:95              0 (const int)
+0:96      move second child to first child ( temp 2-component vector of uint)
+0:96        vector swizzle ( temp 2-component vector of uint)
+0:96          u: direct index for structure ( temp 4-component vector of uint)
+0:96            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:96                Constant:
+0:96                  0 (const uint)
+0:96              direct index ( temp uint)
+0:96                'dti' ( in 3-component vector of uint)
+0:96                Constant:
+0:96                  0 (const int)
+0:96            Constant:
+0:96              0 (const int)
+0:96          Sequence
+0:96            Constant:
+0:96              0 (const int)
+0:96            Constant:
+0:96              1 (const int)
+0:96        subgroupAnd ( temp 2-component vector of uint)
+0:96          vector swizzle ( temp 2-component vector of uint)
+0:96            u: direct index for structure ( temp 4-component vector of uint)
+0:96              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:96                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:96                  Constant:
+0:96                    0 (const uint)
+0:96                direct index ( temp uint)
+0:96                  'dti' ( in 3-component vector of uint)
+0:96                  Constant:
+0:96                    0 (const int)
+0:96              Constant:
+0:96                0 (const int)
+0:96            Sequence
+0:96              Constant:
+0:96                0 (const int)
+0:96              Constant:
+0:96                1 (const int)
+0:97      move second child to first child ( temp 3-component vector of uint)
+0:97        vector swizzle ( temp 3-component vector of uint)
+0:97          u: direct index for structure ( temp 4-component vector of uint)
+0:97            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:97                Constant:
+0:97                  0 (const uint)
+0:97              direct index ( temp uint)
+0:97                'dti' ( in 3-component vector of uint)
+0:97                Constant:
+0:97                  0 (const int)
+0:97            Constant:
+0:97              0 (const int)
+0:97          Sequence
+0:97            Constant:
+0:97              0 (const int)
+0:97            Constant:
+0:97              1 (const int)
+0:97            Constant:
+0:97              2 (const int)
+0:97        subgroupAnd ( temp 3-component vector of uint)
+0:97          vector swizzle ( temp 3-component vector of uint)
+0:97            u: direct index for structure ( temp 4-component vector of uint)
+0:97              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:97                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:97                  Constant:
+0:97                    0 (const uint)
+0:97                direct index ( temp uint)
+0:97                  'dti' ( in 3-component vector of uint)
+0:97                  Constant:
+0:97                    0 (const int)
+0:97              Constant:
+0:97                0 (const int)
+0:97            Sequence
+0:97              Constant:
+0:97                0 (const int)
+0:97              Constant:
+0:97                1 (const int)
+0:97              Constant:
+0:97                2 (const int)
+0:99      move second child to first child ( temp 4-component vector of int)
+0:99        i: direct index for structure ( temp 4-component vector of int)
+0:99          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:99              Constant:
+0:99                0 (const uint)
+0:99            direct index ( temp uint)
+0:99              'dti' ( in 3-component vector of uint)
+0:99              Constant:
+0:99                0 (const int)
+0:99          Constant:
+0:99            1 (const int)
+0:99        subgroupAnd ( temp 4-component vector of int)
+0:99          i: direct index for structure ( temp 4-component vector of int)
+0:99            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:99                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:99                Constant:
+0:99                  0 (const uint)
+0:99              direct index ( temp uint)
+0:99                'dti' ( in 3-component vector of uint)
+0:99                Constant:
+0:99                  0 (const int)
+0:99            Constant:
+0:99              1 (const int)
+0:100      move second child to first child ( temp int)
+0:100        direct index ( temp int)
+0:100          i: direct index for structure ( temp 4-component vector of int)
+0:100            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:100                Constant:
+0:100                  0 (const uint)
+0:100              direct index ( temp uint)
+0:100                'dti' ( in 3-component vector of uint)
+0:100                Constant:
+0:100                  0 (const int)
+0:100            Constant:
+0:100              1 (const int)
+0:100          Constant:
+0:100            0 (const int)
+0:100        subgroupAnd ( temp int)
+0:100          direct index ( temp int)
+0:100            i: direct index for structure ( temp 4-component vector of int)
+0:100              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:100                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:100                  Constant:
+0:100                    0 (const uint)
+0:100                direct index ( temp uint)
+0:100                  'dti' ( in 3-component vector of uint)
+0:100                  Constant:
+0:100                    0 (const int)
+0:100              Constant:
+0:100                1 (const int)
+0:100            Constant:
+0:100              0 (const int)
+0:101      move second child to first child ( temp 2-component vector of int)
+0:101        vector swizzle ( temp 2-component vector of int)
+0:101          i: direct index for structure ( temp 4-component vector of int)
+0:101            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:101                Constant:
+0:101                  0 (const uint)
+0:101              direct index ( temp uint)
+0:101                'dti' ( in 3-component vector of uint)
+0:101                Constant:
+0:101                  0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101          Sequence
+0:101            Constant:
+0:101              0 (const int)
+0:101            Constant:
+0:101              1 (const int)
+0:101        subgroupAnd ( temp 2-component vector of int)
+0:101          vector swizzle ( temp 2-component vector of int)
+0:101            i: direct index for structure ( temp 4-component vector of int)
+0:101              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:101                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:101                  Constant:
+0:101                    0 (const uint)
+0:101                direct index ( temp uint)
+0:101                  'dti' ( in 3-component vector of uint)
+0:101                  Constant:
+0:101                    0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:101            Sequence
+0:101              Constant:
+0:101                0 (const int)
+0:101              Constant:
+0:101                1 (const int)
+0:102      move second child to first child ( temp 3-component vector of int)
+0:102        vector swizzle ( temp 3-component vector of int)
+0:102          i: direct index for structure ( temp 4-component vector of int)
+0:102            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:102                Constant:
+0:102                  0 (const uint)
+0:102              direct index ( temp uint)
+0:102                'dti' ( in 3-component vector of uint)
+0:102                Constant:
+0:102                  0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102          Sequence
+0:102            Constant:
+0:102              0 (const int)
+0:102            Constant:
+0:102              1 (const int)
+0:102            Constant:
+0:102              2 (const int)
+0:102        subgroupAnd ( temp 3-component vector of int)
+0:102          vector swizzle ( temp 3-component vector of int)
+0:102            i: direct index for structure ( temp 4-component vector of int)
+0:102              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:102                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:102                  Constant:
+0:102                    0 (const uint)
+0:102                direct index ( temp uint)
+0:102                  'dti' ( in 3-component vector of uint)
+0:102                  Constant:
+0:102                    0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102            Sequence
+0:102              Constant:
+0:102                0 (const int)
+0:102              Constant:
+0:102                1 (const int)
+0:102              Constant:
+0:102                2 (const int)
+0:104      move second child to first child ( temp 4-component vector of uint)
+0:104        u: direct index for structure ( temp 4-component vector of uint)
+0:104          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:104              Constant:
+0:104                0 (const uint)
+0:104            direct index ( temp uint)
+0:104              'dti' ( in 3-component vector of uint)
+0:104              Constant:
+0:104                0 (const int)
+0:104          Constant:
+0:104            0 (const int)
+0:104        subgroupOr ( temp 4-component vector of uint)
+0:104          u: direct index for structure ( temp 4-component vector of uint)
+0:104            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:104                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:104                Constant:
+0:104                  0 (const uint)
+0:104              direct index ( temp uint)
+0:104                'dti' ( in 3-component vector of uint)
+0:104                Constant:
+0:104                  0 (const int)
+0:104            Constant:
+0:104              0 (const int)
+0:105      move second child to first child ( temp uint)
+0:105        direct index ( temp uint)
+0:105          u: direct index for structure ( temp 4-component vector of uint)
+0:105            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:105                Constant:
+0:105                  0 (const uint)
+0:105              direct index ( temp uint)
+0:105                'dti' ( in 3-component vector of uint)
+0:105                Constant:
+0:105                  0 (const int)
+0:105            Constant:
+0:105              0 (const int)
+0:105          Constant:
+0:105            0 (const int)
+0:105        subgroupOr ( temp uint)
+0:105          direct index ( temp uint)
+0:105            u: direct index for structure ( temp 4-component vector of uint)
+0:105              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:105                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:105                  Constant:
+0:105                    0 (const uint)
+0:105                direct index ( temp uint)
+0:105                  'dti' ( in 3-component vector of uint)
+0:105                  Constant:
+0:105                    0 (const int)
+0:105              Constant:
+0:105                0 (const int)
+0:105            Constant:
+0:105              0 (const int)
+0:106      move second child to first child ( temp 2-component vector of uint)
+0:106        vector swizzle ( temp 2-component vector of uint)
+0:106          u: direct index for structure ( temp 4-component vector of uint)
+0:106            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:106                Constant:
+0:106                  0 (const uint)
+0:106              direct index ( temp uint)
+0:106                'dti' ( in 3-component vector of uint)
+0:106                Constant:
+0:106                  0 (const int)
+0:106            Constant:
+0:106              0 (const int)
+0:106          Sequence
+0:106            Constant:
+0:106              0 (const int)
+0:106            Constant:
+0:106              1 (const int)
+0:106        subgroupOr ( temp 2-component vector of uint)
+0:106          vector swizzle ( temp 2-component vector of uint)
+0:106            u: direct index for structure ( temp 4-component vector of uint)
+0:106              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:106                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:106                  Constant:
+0:106                    0 (const uint)
+0:106                direct index ( temp uint)
+0:106                  'dti' ( in 3-component vector of uint)
+0:106                  Constant:
+0:106                    0 (const int)
+0:106              Constant:
+0:106                0 (const int)
+0:106            Sequence
+0:106              Constant:
+0:106                0 (const int)
+0:106              Constant:
+0:106                1 (const int)
+0:107      move second child to first child ( temp 3-component vector of uint)
+0:107        vector swizzle ( temp 3-component vector of uint)
+0:107          u: direct index for structure ( temp 4-component vector of uint)
+0:107            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:107                Constant:
+0:107                  0 (const uint)
+0:107              direct index ( temp uint)
+0:107                'dti' ( in 3-component vector of uint)
+0:107                Constant:
+0:107                  0 (const int)
+0:107            Constant:
+0:107              0 (const int)
+0:107          Sequence
+0:107            Constant:
+0:107              0 (const int)
+0:107            Constant:
+0:107              1 (const int)
+0:107            Constant:
+0:107              2 (const int)
+0:107        subgroupOr ( temp 3-component vector of uint)
+0:107          vector swizzle ( temp 3-component vector of uint)
+0:107            u: direct index for structure ( temp 4-component vector of uint)
+0:107              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:107                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:107                  Constant:
+0:107                    0 (const uint)
+0:107                direct index ( temp uint)
+0:107                  'dti' ( in 3-component vector of uint)
+0:107                  Constant:
+0:107                    0 (const int)
+0:107              Constant:
+0:107                0 (const int)
+0:107            Sequence
+0:107              Constant:
+0:107                0 (const int)
+0:107              Constant:
+0:107                1 (const int)
+0:107              Constant:
+0:107                2 (const int)
+0:109      move second child to first child ( temp 4-component vector of int)
+0:109        i: direct index for structure ( temp 4-component vector of int)
+0:109          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:109              Constant:
+0:109                0 (const uint)
+0:109            direct index ( temp uint)
+0:109              'dti' ( in 3-component vector of uint)
+0:109              Constant:
+0:109                0 (const int)
+0:109          Constant:
+0:109            1 (const int)
+0:109        subgroupOr ( temp 4-component vector of int)
+0:109          i: direct index for structure ( temp 4-component vector of int)
+0:109            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:109                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:109                Constant:
+0:109                  0 (const uint)
+0:109              direct index ( temp uint)
+0:109                'dti' ( in 3-component vector of uint)
+0:109                Constant:
+0:109                  0 (const int)
+0:109            Constant:
+0:109              1 (const int)
+0:110      move second child to first child ( temp int)
+0:110        direct index ( temp int)
+0:110          i: direct index for structure ( temp 4-component vector of int)
+0:110            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:110                Constant:
+0:110                  0 (const uint)
+0:110              direct index ( temp uint)
+0:110                'dti' ( in 3-component vector of uint)
+0:110                Constant:
+0:110                  0 (const int)
+0:110            Constant:
+0:110              1 (const int)
+0:110          Constant:
+0:110            0 (const int)
+0:110        subgroupOr ( temp int)
+0:110          direct index ( temp int)
+0:110            i: direct index for structure ( temp 4-component vector of int)
+0:110              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:110                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:110                  Constant:
+0:110                    0 (const uint)
+0:110                direct index ( temp uint)
+0:110                  'dti' ( in 3-component vector of uint)
+0:110                  Constant:
+0:110                    0 (const int)
+0:110              Constant:
+0:110                1 (const int)
+0:110            Constant:
+0:110              0 (const int)
+0:111      move second child to first child ( temp 2-component vector of int)
+0:111        vector swizzle ( temp 2-component vector of int)
+0:111          i: direct index for structure ( temp 4-component vector of int)
+0:111            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:111                Constant:
+0:111                  0 (const uint)
+0:111              direct index ( temp uint)
+0:111                'dti' ( in 3-component vector of uint)
+0:111                Constant:
+0:111                  0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111          Sequence
+0:111            Constant:
+0:111              0 (const int)
+0:111            Constant:
+0:111              1 (const int)
+0:111        subgroupOr ( temp 2-component vector of int)
+0:111          vector swizzle ( temp 2-component vector of int)
+0:111            i: direct index for structure ( temp 4-component vector of int)
+0:111              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:111                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:111                  Constant:
+0:111                    0 (const uint)
+0:111                direct index ( temp uint)
+0:111                  'dti' ( in 3-component vector of uint)
+0:111                  Constant:
+0:111                    0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:111            Sequence
+0:111              Constant:
+0:111                0 (const int)
+0:111              Constant:
+0:111                1 (const int)
+0:112      move second child to first child ( temp 3-component vector of int)
+0:112        vector swizzle ( temp 3-component vector of int)
+0:112          i: direct index for structure ( temp 4-component vector of int)
+0:112            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:112                Constant:
+0:112                  0 (const uint)
+0:112              direct index ( temp uint)
+0:112                'dti' ( in 3-component vector of uint)
+0:112                Constant:
+0:112                  0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112          Sequence
+0:112            Constant:
+0:112              0 (const int)
+0:112            Constant:
+0:112              1 (const int)
+0:112            Constant:
+0:112              2 (const int)
+0:112        subgroupOr ( temp 3-component vector of int)
+0:112          vector swizzle ( temp 3-component vector of int)
+0:112            i: direct index for structure ( temp 4-component vector of int)
+0:112              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:112                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:112                  Constant:
+0:112                    0 (const uint)
+0:112                direct index ( temp uint)
+0:112                  'dti' ( in 3-component vector of uint)
+0:112                  Constant:
+0:112                    0 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112            Sequence
+0:112              Constant:
+0:112                0 (const int)
+0:112              Constant:
+0:112                1 (const int)
+0:112              Constant:
+0:112                2 (const int)
+0:114      move second child to first child ( temp 4-component vector of uint)
+0:114        u: direct index for structure ( temp 4-component vector of uint)
+0:114          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:114              Constant:
+0:114                0 (const uint)
+0:114            direct index ( temp uint)
+0:114              'dti' ( in 3-component vector of uint)
+0:114              Constant:
+0:114                0 (const int)
+0:114          Constant:
+0:114            0 (const int)
+0:114        subgroupXor ( temp 4-component vector of uint)
+0:114          u: direct index for structure ( temp 4-component vector of uint)
+0:114            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:114                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:114                Constant:
+0:114                  0 (const uint)
+0:114              direct index ( temp uint)
+0:114                'dti' ( in 3-component vector of uint)
+0:114                Constant:
+0:114                  0 (const int)
+0:114            Constant:
+0:114              0 (const int)
+0:115      move second child to first child ( temp uint)
+0:115        direct index ( temp uint)
+0:115          u: direct index for structure ( temp 4-component vector of uint)
+0:115            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:115                Constant:
+0:115                  0 (const uint)
+0:115              direct index ( temp uint)
+0:115                'dti' ( in 3-component vector of uint)
+0:115                Constant:
+0:115                  0 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:115          Constant:
+0:115            0 (const int)
+0:115        subgroupXor ( temp uint)
+0:115          direct index ( temp uint)
+0:115            u: direct index for structure ( temp 4-component vector of uint)
+0:115              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:115                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:115                  Constant:
+0:115                    0 (const uint)
+0:115                direct index ( temp uint)
+0:115                  'dti' ( in 3-component vector of uint)
+0:115                  Constant:
+0:115                    0 (const int)
+0:115              Constant:
+0:115                0 (const int)
+0:115            Constant:
+0:115              0 (const int)
+0:116      move second child to first child ( temp 2-component vector of uint)
+0:116        vector swizzle ( temp 2-component vector of uint)
+0:116          u: direct index for structure ( temp 4-component vector of uint)
+0:116            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:116                Constant:
+0:116                  0 (const uint)
+0:116              direct index ( temp uint)
+0:116                'dti' ( in 3-component vector of uint)
+0:116                Constant:
+0:116                  0 (const int)
+0:116            Constant:
+0:116              0 (const int)
+0:116          Sequence
+0:116            Constant:
+0:116              0 (const int)
+0:116            Constant:
+0:116              1 (const int)
+0:116        subgroupXor ( temp 2-component vector of uint)
+0:116          vector swizzle ( temp 2-component vector of uint)
+0:116            u: direct index for structure ( temp 4-component vector of uint)
+0:116              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:116                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:116                  Constant:
+0:116                    0 (const uint)
+0:116                direct index ( temp uint)
+0:116                  'dti' ( in 3-component vector of uint)
+0:116                  Constant:
+0:116                    0 (const int)
+0:116              Constant:
+0:116                0 (const int)
+0:116            Sequence
+0:116              Constant:
+0:116                0 (const int)
+0:116              Constant:
+0:116                1 (const int)
+0:117      move second child to first child ( temp 3-component vector of uint)
+0:117        vector swizzle ( temp 3-component vector of uint)
+0:117          u: direct index for structure ( temp 4-component vector of uint)
+0:117            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:117                Constant:
+0:117                  0 (const uint)
+0:117              direct index ( temp uint)
+0:117                'dti' ( in 3-component vector of uint)
+0:117                Constant:
+0:117                  0 (const int)
+0:117            Constant:
+0:117              0 (const int)
+0:117          Sequence
+0:117            Constant:
+0:117              0 (const int)
+0:117            Constant:
+0:117              1 (const int)
+0:117            Constant:
+0:117              2 (const int)
+0:117        subgroupXor ( temp 3-component vector of uint)
+0:117          vector swizzle ( temp 3-component vector of uint)
+0:117            u: direct index for structure ( temp 4-component vector of uint)
+0:117              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:117                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:117                  Constant:
+0:117                    0 (const uint)
+0:117                direct index ( temp uint)
+0:117                  'dti' ( in 3-component vector of uint)
+0:117                  Constant:
+0:117                    0 (const int)
+0:117              Constant:
+0:117                0 (const int)
+0:117            Sequence
+0:117              Constant:
+0:117                0 (const int)
+0:117              Constant:
+0:117                1 (const int)
+0:117              Constant:
+0:117                2 (const int)
+0:119      move second child to first child ( temp 4-component vector of int)
+0:119        i: direct index for structure ( temp 4-component vector of int)
+0:119          indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119            @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119              'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:119              Constant:
+0:119                0 (const uint)
+0:119            direct index ( temp uint)
+0:119              'dti' ( in 3-component vector of uint)
+0:119              Constant:
+0:119                0 (const int)
+0:119          Constant:
+0:119            1 (const int)
+0:119        subgroupXor ( temp 4-component vector of int)
+0:119          i: direct index for structure ( temp 4-component vector of int)
+0:119            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:119                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:119                Constant:
+0:119                  0 (const uint)
+0:119              direct index ( temp uint)
+0:119                'dti' ( in 3-component vector of uint)
+0:119                Constant:
+0:119                  0 (const int)
+0:119            Constant:
+0:119              1 (const int)
+0:120      move second child to first child ( temp int)
+0:120        direct index ( temp int)
+0:120          i: direct index for structure ( temp 4-component vector of int)
+0:120            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:120                Constant:
+0:120                  0 (const uint)
+0:120              direct index ( temp uint)
+0:120                'dti' ( in 3-component vector of uint)
+0:120                Constant:
+0:120                  0 (const int)
+0:120            Constant:
+0:120              1 (const int)
+0:120          Constant:
+0:120            0 (const int)
+0:120        subgroupXor ( temp int)
+0:120          direct index ( temp int)
+0:120            i: direct index for structure ( temp 4-component vector of int)
+0:120              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:120                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:120                  Constant:
+0:120                    0 (const uint)
+0:120                direct index ( temp uint)
+0:120                  'dti' ( in 3-component vector of uint)
+0:120                  Constant:
+0:120                    0 (const int)
+0:120              Constant:
+0:120                1 (const int)
+0:120            Constant:
+0:120              0 (const int)
+0:121      move second child to first child ( temp 2-component vector of int)
+0:121        vector swizzle ( temp 2-component vector of int)
+0:121          i: direct index for structure ( temp 4-component vector of int)
+0:121            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:121                Constant:
+0:121                  0 (const uint)
+0:121              direct index ( temp uint)
+0:121                'dti' ( in 3-component vector of uint)
+0:121                Constant:
+0:121                  0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121          Sequence
+0:121            Constant:
+0:121              0 (const int)
+0:121            Constant:
+0:121              1 (const int)
+0:121        subgroupXor ( temp 2-component vector of int)
+0:121          vector swizzle ( temp 2-component vector of int)
+0:121            i: direct index for structure ( temp 4-component vector of int)
+0:121              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:121                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:121                  Constant:
+0:121                    0 (const uint)
+0:121                direct index ( temp uint)
+0:121                  'dti' ( in 3-component vector of uint)
+0:121                  Constant:
+0:121                    0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:121            Sequence
+0:121              Constant:
+0:121                0 (const int)
+0:121              Constant:
+0:121                1 (const int)
+0:122      move second child to first child ( temp 3-component vector of int)
+0:122        vector swizzle ( temp 3-component vector of int)
+0:122          i: direct index for structure ( temp 4-component vector of int)
+0:122            indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122              @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:122                Constant:
+0:122                  0 (const uint)
+0:122              direct index ( temp uint)
+0:122                'dti' ( in 3-component vector of uint)
+0:122                Constant:
+0:122                  0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122          Sequence
+0:122            Constant:
+0:122              0 (const int)
+0:122            Constant:
+0:122              1 (const int)
+0:122            Constant:
+0:122              2 (const int)
+0:122        subgroupXor ( temp 3-component vector of int)
+0:122          vector swizzle ( temp 3-component vector of int)
+0:122            i: direct index for structure ( temp 4-component vector of int)
+0:122              indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d})
+0:122                  'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:122                  Constant:
+0:122                    0 (const uint)
+0:122                direct index ( temp uint)
+0:122                  'dti' ( in 3-component vector of uint)
+0:122                  Constant:
+0:122                    0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122            Sequence
+0:122              Constant:
+0:122                0 (const int)
+0:122              Constant:
+0:122                1 (const int)
+0:122              Constant:
+0:122                2 (const int)
+0:13  Function Definition: CSMain( ( temp void)
+0:13    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:13      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of uint u,  temp 4-component vector of int i,  temp 4-component vector of float f,  temp 4-component vector of double d} @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 890
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformArithmetic
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "CSMain" 885
+                              ExecutionMode 4 LocalSize 32 16 1
+                              Source HLSL 500
+                              Name 4  "CSMain"
+                              Name 11  "@CSMain(vu3;"
+                              Name 10  "dti"
+                              Name 20  "Types"
+                              MemberName 20(Types) 0  "u"
+                              MemberName 20(Types) 1  "i"
+                              MemberName 20(Types) 2  "f"
+                              MemberName 20(Types) 3  "d"
+                              Name 22  "data"
+                              MemberName 22(data) 0  "@data"
+                              Name 24  "data"
+                              Name 883  "dti"
+                              Name 885  "dti"
+                              Name 887  "param"
+                              MemberDecorate 20(Types) 0 Offset 0
+                              MemberDecorate 20(Types) 1 Offset 16
+                              MemberDecorate 20(Types) 2 Offset 32
+                              MemberDecorate 20(Types) 3 Offset 64
+                              Decorate 21 ArrayStride 96
+                              MemberDecorate 22(data) 0 Offset 0
+                              Decorate 22(data) BufferBlock
+                              Decorate 24(data) DescriptorSet 0
+                              Decorate 885(dti) BuiltIn GlobalInvocationId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 3
+               8:             TypePointer Function 7(ivec3)
+               9:             TypeFunction 2 8(ptr)
+              13:             TypeVector 6(int) 4
+              14:             TypeInt 32 1
+              15:             TypeVector 14(int) 4
+              16:             TypeFloat 32
+              17:             TypeVector 16(float) 4
+              18:             TypeFloat 64
+              19:             TypeVector 18(float) 4
+       20(Types):             TypeStruct 13(ivec4) 15(ivec4) 17(fvec4) 19(fvec4)
+              21:             TypeRuntimeArray 20(Types)
+        22(data):             TypeStruct 21
+              23:             TypePointer Uniform 22(data)
+        24(data):     23(ptr) Variable Uniform
+              25:     14(int) Constant 0
+              26:      6(int) Constant 0
+              27:             TypePointer Function 6(int)
+              32:             TypePointer Uniform 13(ivec4)
+              35:      6(int) Constant 3
+              42:             TypePointer Uniform 6(int)
+              51:             TypeVector 6(int) 2
+              72:     14(int) Constant 1
+              75:             TypePointer Uniform 15(ivec4)
+              84:             TypePointer Uniform 14(int)
+              93:             TypeVector 14(int) 2
+             105:             TypeVector 14(int) 3
+             115:     14(int) Constant 2
+             118:             TypePointer Uniform 17(fvec4)
+             127:             TypePointer Uniform 16(float)
+             136:             TypeVector 16(float) 2
+             148:             TypeVector 16(float) 3
+             158:     14(int) Constant 3
+             161:             TypePointer Uniform 19(fvec4)
+             170:             TypePointer Uniform 18(float)
+             179:             TypeVector 18(float) 2
+             191:             TypeVector 18(float) 3
+             884:             TypePointer Input 7(ivec3)
+        885(dti):    884(ptr) Variable Input
+       4(CSMain):           2 Function None 3
+               5:             Label
+        883(dti):      8(ptr) Variable Function
+      887(param):      8(ptr) Variable Function
+             886:    7(ivec3) Load 885(dti)
+                              Store 883(dti) 886
+             888:    7(ivec3) Load 883(dti)
+                              Store 887(param) 888
+             889:           2 FunctionCall 11(@CSMain(vu3;) 887(param)
+                              Return
+                              FunctionEnd
+11(@CSMain(vu3;):           2 Function None 9
+         10(dti):      8(ptr) FunctionParameter
+              12:             Label
+              28:     27(ptr) AccessChain 10(dti) 26
+              29:      6(int) Load 28
+              30:     27(ptr) AccessChain 10(dti) 26
+              31:      6(int) Load 30
+              33:     32(ptr) AccessChain 24(data) 25 31 25
+              34:   13(ivec4) Load 33
+              36:   13(ivec4) GroupNonUniformIAdd 35 Reduce 34
+              37:     32(ptr) AccessChain 24(data) 25 29 25
+                              Store 37 36
+              38:     27(ptr) AccessChain 10(dti) 26
+              39:      6(int) Load 38
+              40:     27(ptr) AccessChain 10(dti) 26
+              41:      6(int) Load 40
+              43:     42(ptr) AccessChain 24(data) 25 41 25 26
+              44:      6(int) Load 43
+              45:      6(int) GroupNonUniformIAdd 35 Reduce 44
+              46:     42(ptr) AccessChain 24(data) 25 39 25 26
+                              Store 46 45
+              47:     27(ptr) AccessChain 10(dti) 26
+              48:      6(int) Load 47
+              49:     27(ptr) AccessChain 10(dti) 26
+              50:      6(int) Load 49
+              52:     32(ptr) AccessChain 24(data) 25 50 25
+              53:   13(ivec4) Load 52
+              54:   51(ivec2) VectorShuffle 53 53 0 1
+              55:   51(ivec2) GroupNonUniformIAdd 35 Reduce 54
+              56:     32(ptr) AccessChain 24(data) 25 48 25
+              57:   13(ivec4) Load 56
+              58:   13(ivec4) VectorShuffle 57 55 4 5 2 3
+                              Store 56 58
+              59:     27(ptr) AccessChain 10(dti) 26
+              60:      6(int) Load 59
+              61:     27(ptr) AccessChain 10(dti) 26
+              62:      6(int) Load 61
+              63:     32(ptr) AccessChain 24(data) 25 62 25
+              64:   13(ivec4) Load 63
+              65:    7(ivec3) VectorShuffle 64 64 0 1 2
+              66:    7(ivec3) GroupNonUniformIAdd 35 Reduce 65
+              67:     32(ptr) AccessChain 24(data) 25 60 25
+              68:   13(ivec4) Load 67
+              69:   13(ivec4) VectorShuffle 68 66 4 5 6 3
+                              Store 67 69
+              70:     27(ptr) AccessChain 10(dti) 26
+              71:      6(int) Load 70
+              73:     27(ptr) AccessChain 10(dti) 26
+              74:      6(int) Load 73
+              76:     75(ptr) AccessChain 24(data) 25 74 72
+              77:   15(ivec4) Load 76
+              78:   15(ivec4) GroupNonUniformIAdd 35 Reduce 77
+              79:     75(ptr) AccessChain 24(data) 25 71 72
+                              Store 79 78
+              80:     27(ptr) AccessChain 10(dti) 26
+              81:      6(int) Load 80
+              82:     27(ptr) AccessChain 10(dti) 26
+              83:      6(int) Load 82
+              85:     84(ptr) AccessChain 24(data) 25 83 72 26
+              86:     14(int) Load 85
+              87:     14(int) GroupNonUniformIAdd 35 Reduce 86
+              88:     84(ptr) AccessChain 24(data) 25 81 72 26
+                              Store 88 87
+              89:     27(ptr) AccessChain 10(dti) 26
+              90:      6(int) Load 89
+              91:     27(ptr) AccessChain 10(dti) 26
+              92:      6(int) Load 91
+              94:     75(ptr) AccessChain 24(data) 25 92 72
+              95:   15(ivec4) Load 94
+              96:   93(ivec2) VectorShuffle 95 95 0 1
+              97:   93(ivec2) GroupNonUniformIAdd 35 Reduce 96
+              98:     75(ptr) AccessChain 24(data) 25 90 72
+              99:   15(ivec4) Load 98
+             100:   15(ivec4) VectorShuffle 99 97 4 5 2 3
+                              Store 98 100
+             101:     27(ptr) AccessChain 10(dti) 26
+             102:      6(int) Load 101
+             103:     27(ptr) AccessChain 10(dti) 26
+             104:      6(int) Load 103
+             106:     75(ptr) AccessChain 24(data) 25 104 72
+             107:   15(ivec4) Load 106
+             108:  105(ivec3) VectorShuffle 107 107 0 1 2
+             109:  105(ivec3) GroupNonUniformIAdd 35 Reduce 108
+             110:     75(ptr) AccessChain 24(data) 25 102 72
+             111:   15(ivec4) Load 110
+             112:   15(ivec4) VectorShuffle 111 109 4 5 6 3
+                              Store 110 112
+             113:     27(ptr) AccessChain 10(dti) 26
+             114:      6(int) Load 113
+             116:     27(ptr) AccessChain 10(dti) 26
+             117:      6(int) Load 116
+             119:    118(ptr) AccessChain 24(data) 25 117 115
+             120:   17(fvec4) Load 119
+             121:   17(fvec4) GroupNonUniformFAdd 35 Reduce 120
+             122:    118(ptr) AccessChain 24(data) 25 114 115
+                              Store 122 121
+             123:     27(ptr) AccessChain 10(dti) 26
+             124:      6(int) Load 123
+             125:     27(ptr) AccessChain 10(dti) 26
+             126:      6(int) Load 125
+             128:    127(ptr) AccessChain 24(data) 25 126 115 26
+             129:   16(float) Load 128
+             130:   16(float) GroupNonUniformFAdd 35 Reduce 129
+             131:    127(ptr) AccessChain 24(data) 25 124 115 26
+                              Store 131 130
+             132:     27(ptr) AccessChain 10(dti) 26
+             133:      6(int) Load 132
+             134:     27(ptr) AccessChain 10(dti) 26
+             135:      6(int) Load 134
+             137:    118(ptr) AccessChain 24(data) 25 135 115
+             138:   17(fvec4) Load 137
+             139:  136(fvec2) VectorShuffle 138 138 0 1
+             140:  136(fvec2) GroupNonUniformFAdd 35 Reduce 139
+             141:    118(ptr) AccessChain 24(data) 25 133 115
+             142:   17(fvec4) Load 141
+             143:   17(fvec4) VectorShuffle 142 140 4 5 2 3
+                              Store 141 143
+             144:     27(ptr) AccessChain 10(dti) 26
+             145:      6(int) Load 144
+             146:     27(ptr) AccessChain 10(dti) 26
+             147:      6(int) Load 146
+             149:    118(ptr) AccessChain 24(data) 25 147 115
+             150:   17(fvec4) Load 149
+             151:  148(fvec3) VectorShuffle 150 150 0 1 2
+             152:  148(fvec3) GroupNonUniformFAdd 35 Reduce 151
+             153:    118(ptr) AccessChain 24(data) 25 145 115
+             154:   17(fvec4) Load 153
+             155:   17(fvec4) VectorShuffle 154 152 4 5 6 3
+                              Store 153 155
+             156:     27(ptr) AccessChain 10(dti) 26
+             157:      6(int) Load 156
+             159:     27(ptr) AccessChain 10(dti) 26
+             160:      6(int) Load 159
+             162:    161(ptr) AccessChain 24(data) 25 160 158
+             163:   19(fvec4) Load 162
+             164:   19(fvec4) GroupNonUniformFAdd 35 Reduce 163
+             165:    161(ptr) AccessChain 24(data) 25 157 158
+                              Store 165 164
+             166:     27(ptr) AccessChain 10(dti) 26
+             167:      6(int) Load 166
+             168:     27(ptr) AccessChain 10(dti) 26
+             169:      6(int) Load 168
+             171:    170(ptr) AccessChain 24(data) 25 169 158 26
+             172:   18(float) Load 171
+             173:   18(float) GroupNonUniformFAdd 35 Reduce 172
+             174:    170(ptr) AccessChain 24(data) 25 167 158 26
+                              Store 174 173
+             175:     27(ptr) AccessChain 10(dti) 26
+             176:      6(int) Load 175
+             177:     27(ptr) AccessChain 10(dti) 26
+             178:      6(int) Load 177
+             180:    161(ptr) AccessChain 24(data) 25 178 158
+             181:   19(fvec4) Load 180
+             182:  179(fvec2) VectorShuffle 181 181 0 1
+             183:  179(fvec2) GroupNonUniformFAdd 35 Reduce 182
+             184:    161(ptr) AccessChain 24(data) 25 176 158
+             185:   19(fvec4) Load 184
+             186:   19(fvec4) VectorShuffle 185 183 4 5 2 3
+                              Store 184 186
+             187:     27(ptr) AccessChain 10(dti) 26
+             188:      6(int) Load 187
+             189:     27(ptr) AccessChain 10(dti) 26
+             190:      6(int) Load 189
+             192:    161(ptr) AccessChain 24(data) 25 190 158
+             193:   19(fvec4) Load 192
+             194:  191(fvec3) VectorShuffle 193 193 0 1 2
+             195:  191(fvec3) GroupNonUniformFAdd 35 Reduce 194
+             196:    161(ptr) AccessChain 24(data) 25 188 158
+             197:   19(fvec4) Load 196
+             198:   19(fvec4) VectorShuffle 197 195 4 5 6 3
+                              Store 196 198
+             199:     27(ptr) AccessChain 10(dti) 26
+             200:      6(int) Load 199
+             201:     27(ptr) AccessChain 10(dti) 26
+             202:      6(int) Load 201
+             203:     32(ptr) AccessChain 24(data) 25 202 25
+             204:   13(ivec4) Load 203
+             205:   13(ivec4) GroupNonUniformIMul 35 Reduce 204
+             206:     32(ptr) AccessChain 24(data) 25 200 25
+                              Store 206 205
+             207:     27(ptr) AccessChain 10(dti) 26
+             208:      6(int) Load 207
+             209:     27(ptr) AccessChain 10(dti) 26
+             210:      6(int) Load 209
+             211:     42(ptr) AccessChain 24(data) 25 210 25 26
+             212:      6(int) Load 211
+             213:      6(int) GroupNonUniformIMul 35 Reduce 212
+             214:     42(ptr) AccessChain 24(data) 25 208 25 26
+                              Store 214 213
+             215:     27(ptr) AccessChain 10(dti) 26
+             216:      6(int) Load 215
+             217:     27(ptr) AccessChain 10(dti) 26
+             218:      6(int) Load 217
+             219:     32(ptr) AccessChain 24(data) 25 218 25
+             220:   13(ivec4) Load 219
+             221:   51(ivec2) VectorShuffle 220 220 0 1
+             222:   51(ivec2) GroupNonUniformIMul 35 Reduce 221
+             223:     32(ptr) AccessChain 24(data) 25 216 25
+             224:   13(ivec4) Load 223
+             225:   13(ivec4) VectorShuffle 224 222 4 5 2 3
+                              Store 223 225
+             226:     27(ptr) AccessChain 10(dti) 26
+             227:      6(int) Load 226
+             228:     27(ptr) AccessChain 10(dti) 26
+             229:      6(int) Load 228
+             230:     32(ptr) AccessChain 24(data) 25 229 25
+             231:   13(ivec4) Load 230
+             232:    7(ivec3) VectorShuffle 231 231 0 1 2
+             233:    7(ivec3) GroupNonUniformIMul 35 Reduce 232
+             234:     32(ptr) AccessChain 24(data) 25 227 25
+             235:   13(ivec4) Load 234
+             236:   13(ivec4) VectorShuffle 235 233 4 5 6 3
+                              Store 234 236
+             237:     27(ptr) AccessChain 10(dti) 26
+             238:      6(int) Load 237
+             239:     27(ptr) AccessChain 10(dti) 26
+             240:      6(int) Load 239
+             241:     75(ptr) AccessChain 24(data) 25 240 72
+             242:   15(ivec4) Load 241
+             243:   15(ivec4) GroupNonUniformIMul 35 Reduce 242
+             244:     75(ptr) AccessChain 24(data) 25 238 72
+                              Store 244 243
+             245:     27(ptr) AccessChain 10(dti) 26
+             246:      6(int) Load 245
+             247:     27(ptr) AccessChain 10(dti) 26
+             248:      6(int) Load 247
+             249:     84(ptr) AccessChain 24(data) 25 248 72 26
+             250:     14(int) Load 249
+             251:     14(int) GroupNonUniformIMul 35 Reduce 250
+             252:     84(ptr) AccessChain 24(data) 25 246 72 26
+                              Store 252 251
+             253:     27(ptr) AccessChain 10(dti) 26
+             254:      6(int) Load 253
+             255:     27(ptr) AccessChain 10(dti) 26
+             256:      6(int) Load 255
+             257:     75(ptr) AccessChain 24(data) 25 256 72
+             258:   15(ivec4) Load 257
+             259:   93(ivec2) VectorShuffle 258 258 0 1
+             260:   93(ivec2) GroupNonUniformIMul 35 Reduce 259
+             261:     75(ptr) AccessChain 24(data) 25 254 72
+             262:   15(ivec4) Load 261
+             263:   15(ivec4) VectorShuffle 262 260 4 5 2 3
+                              Store 261 263
+             264:     27(ptr) AccessChain 10(dti) 26
+             265:      6(int) Load 264
+             266:     27(ptr) AccessChain 10(dti) 26
+             267:      6(int) Load 266
+             268:     75(ptr) AccessChain 24(data) 25 267 72
+             269:   15(ivec4) Load 268
+             270:  105(ivec3) VectorShuffle 269 269 0 1 2
+             271:  105(ivec3) GroupNonUniformIMul 35 Reduce 270
+             272:     75(ptr) AccessChain 24(data) 25 265 72
+             273:   15(ivec4) Load 272
+             274:   15(ivec4) VectorShuffle 273 271 4 5 6 3
+                              Store 272 274
+             275:     27(ptr) AccessChain 10(dti) 26
+             276:      6(int) Load 275
+             277:     27(ptr) AccessChain 10(dti) 26
+             278:      6(int) Load 277
+             279:    118(ptr) AccessChain 24(data) 25 278 115
+             280:   17(fvec4) Load 279
+             281:   17(fvec4) GroupNonUniformFMul 35 Reduce 280
+             282:    118(ptr) AccessChain 24(data) 25 276 115
+                              Store 282 281
+             283:     27(ptr) AccessChain 10(dti) 26
+             284:      6(int) Load 283
+             285:     27(ptr) AccessChain 10(dti) 26
+             286:      6(int) Load 285
+             287:    127(ptr) AccessChain 24(data) 25 286 115 26
+             288:   16(float) Load 287
+             289:   16(float) GroupNonUniformFMul 35 Reduce 288
+             290:    127(ptr) AccessChain 24(data) 25 284 115 26
+                              Store 290 289
+             291:     27(ptr) AccessChain 10(dti) 26
+             292:      6(int) Load 291
+             293:     27(ptr) AccessChain 10(dti) 26
+             294:      6(int) Load 293
+             295:    118(ptr) AccessChain 24(data) 25 294 115
+             296:   17(fvec4) Load 295
+             297:  136(fvec2) VectorShuffle 296 296 0 1
+             298:  136(fvec2) GroupNonUniformFMul 35 Reduce 297
+             299:    118(ptr) AccessChain 24(data) 25 292 115
+             300:   17(fvec4) Load 299
+             301:   17(fvec4) VectorShuffle 300 298 4 5 2 3
+                              Store 299 301
+             302:     27(ptr) AccessChain 10(dti) 26
+             303:      6(int) Load 302
+             304:     27(ptr) AccessChain 10(dti) 26
+             305:      6(int) Load 304
+             306:    118(ptr) AccessChain 24(data) 25 305 115
+             307:   17(fvec4) Load 306
+             308:  148(fvec3) VectorShuffle 307 307 0 1 2
+             309:  148(fvec3) GroupNonUniformFMul 35 Reduce 308
+             310:    118(ptr) AccessChain 24(data) 25 303 115
+             311:   17(fvec4) Load 310
+             312:   17(fvec4) VectorShuffle 311 309 4 5 6 3
+                              Store 310 312
+             313:     27(ptr) AccessChain 10(dti) 26
+             314:      6(int) Load 313
+             315:     27(ptr) AccessChain 10(dti) 26
+             316:      6(int) Load 315
+             317:    161(ptr) AccessChain 24(data) 25 316 158
+             318:   19(fvec4) Load 317
+             319:   19(fvec4) GroupNonUniformFMul 35 Reduce 318
+             320:    161(ptr) AccessChain 24(data) 25 314 158
+                              Store 320 319
+             321:     27(ptr) AccessChain 10(dti) 26
+             322:      6(int) Load 321
+             323:     27(ptr) AccessChain 10(dti) 26
+             324:      6(int) Load 323
+             325:    170(ptr) AccessChain 24(data) 25 324 158 26
+             326:   18(float) Load 325
+             327:   18(float) GroupNonUniformFMul 35 Reduce 326
+             328:    170(ptr) AccessChain 24(data) 25 322 158 26
+                              Store 328 327
+             329:     27(ptr) AccessChain 10(dti) 26
+             330:      6(int) Load 329
+             331:     27(ptr) AccessChain 10(dti) 26
+             332:      6(int) Load 331
+             333:    161(ptr) AccessChain 24(data) 25 332 158
+             334:   19(fvec4) Load 333
+             335:  179(fvec2) VectorShuffle 334 334 0 1
+             336:  179(fvec2) GroupNonUniformFMul 35 Reduce 335
+             337:    161(ptr) AccessChain 24(data) 25 330 158
+             338:   19(fvec4) Load 337
+             339:   19(fvec4) VectorShuffle 338 336 4 5 2 3
+                              Store 337 339
+             340:     27(ptr) AccessChain 10(dti) 26
+             341:      6(int) Load 340
+             342:     27(ptr) AccessChain 10(dti) 26
+             343:      6(int) Load 342
+             344:    161(ptr) AccessChain 24(data) 25 343 158
+             345:   19(fvec4) Load 344
+             346:  191(fvec3) VectorShuffle 345 345 0 1 2
+             347:  191(fvec3) GroupNonUniformFMul 35 Reduce 346
+             348:    161(ptr) AccessChain 24(data) 25 341 158
+             349:   19(fvec4) Load 348
+             350:   19(fvec4) VectorShuffle 349 347 4 5 6 3
+                              Store 348 350
+             351:     27(ptr) AccessChain 10(dti) 26
+             352:      6(int) Load 351
+             353:     27(ptr) AccessChain 10(dti) 26
+             354:      6(int) Load 353
+             355:     32(ptr) AccessChain 24(data) 25 354 25
+             356:   13(ivec4) Load 355
+             357:   13(ivec4) GroupNonUniformUMin 35 Reduce 356
+             358:     32(ptr) AccessChain 24(data) 25 352 25
+                              Store 358 357
+             359:     27(ptr) AccessChain 10(dti) 26
+             360:      6(int) Load 359
+             361:     27(ptr) AccessChain 10(dti) 26
+             362:      6(int) Load 361
+             363:     42(ptr) AccessChain 24(data) 25 362 25 26
+             364:      6(int) Load 363
+             365:      6(int) GroupNonUniformUMin 35 Reduce 364
+             366:     42(ptr) AccessChain 24(data) 25 360 25 26
+                              Store 366 365
+             367:     27(ptr) AccessChain 10(dti) 26
+             368:      6(int) Load 367
+             369:     27(ptr) AccessChain 10(dti) 26
+             370:      6(int) Load 369
+             371:     32(ptr) AccessChain 24(data) 25 370 25
+             372:   13(ivec4) Load 371
+             373:   51(ivec2) VectorShuffle 372 372 0 1
+             374:   51(ivec2) GroupNonUniformUMin 35 Reduce 373
+             375:     32(ptr) AccessChain 24(data) 25 368 25
+             376:   13(ivec4) Load 375
+             377:   13(ivec4) VectorShuffle 376 374 4 5 2 3
+                              Store 375 377
+             378:     27(ptr) AccessChain 10(dti) 26
+             379:      6(int) Load 378
+             380:     27(ptr) AccessChain 10(dti) 26
+             381:      6(int) Load 380
+             382:     32(ptr) AccessChain 24(data) 25 381 25
+             383:   13(ivec4) Load 382
+             384:    7(ivec3) VectorShuffle 383 383 0 1 2
+             385:    7(ivec3) GroupNonUniformUMin 35 Reduce 384
+             386:     32(ptr) AccessChain 24(data) 25 379 25
+             387:   13(ivec4) Load 386
+             388:   13(ivec4) VectorShuffle 387 385 4 5 6 3
+                              Store 386 388
+             389:     27(ptr) AccessChain 10(dti) 26
+             390:      6(int) Load 389
+             391:     27(ptr) AccessChain 10(dti) 26
+             392:      6(int) Load 391
+             393:     75(ptr) AccessChain 24(data) 25 392 72
+             394:   15(ivec4) Load 393
+             395:   15(ivec4) GroupNonUniformSMin 35 Reduce 394
+             396:     75(ptr) AccessChain 24(data) 25 390 72
+                              Store 396 395
+             397:     27(ptr) AccessChain 10(dti) 26
+             398:      6(int) Load 397
+             399:     27(ptr) AccessChain 10(dti) 26
+             400:      6(int) Load 399
+             401:     84(ptr) AccessChain 24(data) 25 400 72 26
+             402:     14(int) Load 401
+             403:     14(int) GroupNonUniformSMin 35 Reduce 402
+             404:     84(ptr) AccessChain 24(data) 25 398 72 26
+                              Store 404 403
+             405:     27(ptr) AccessChain 10(dti) 26
+             406:      6(int) Load 405
+             407:     27(ptr) AccessChain 10(dti) 26
+             408:      6(int) Load 407
+             409:     75(ptr) AccessChain 24(data) 25 408 72
+             410:   15(ivec4) Load 409
+             411:   93(ivec2) VectorShuffle 410 410 0 1
+             412:   93(ivec2) GroupNonUniformSMin 35 Reduce 411
+             413:     75(ptr) AccessChain 24(data) 25 406 72
+             414:   15(ivec4) Load 413
+             415:   15(ivec4) VectorShuffle 414 412 4 5 2 3
+                              Store 413 415
+             416:     27(ptr) AccessChain 10(dti) 26
+             417:      6(int) Load 416
+             418:     27(ptr) AccessChain 10(dti) 26
+             419:      6(int) Load 418
+             420:     75(ptr) AccessChain 24(data) 25 419 72
+             421:   15(ivec4) Load 420
+             422:  105(ivec3) VectorShuffle 421 421 0 1 2
+             423:  105(ivec3) GroupNonUniformSMin 35 Reduce 422
+             424:     75(ptr) AccessChain 24(data) 25 417 72
+             425:   15(ivec4) Load 424
+             426:   15(ivec4) VectorShuffle 425 423 4 5 6 3
+                              Store 424 426
+             427:     27(ptr) AccessChain 10(dti) 26
+             428:      6(int) Load 427
+             429:     27(ptr) AccessChain 10(dti) 26
+             430:      6(int) Load 429
+             431:    118(ptr) AccessChain 24(data) 25 430 115
+             432:   17(fvec4) Load 431
+             433:   17(fvec4) GroupNonUniformFMin 35 Reduce 432
+             434:    118(ptr) AccessChain 24(data) 25 428 115
+                              Store 434 433
+             435:     27(ptr) AccessChain 10(dti) 26
+             436:      6(int) Load 435
+             437:     27(ptr) AccessChain 10(dti) 26
+             438:      6(int) Load 437
+             439:    127(ptr) AccessChain 24(data) 25 438 115 26
+             440:   16(float) Load 439
+             441:   16(float) GroupNonUniformFMin 35 Reduce 440
+             442:    127(ptr) AccessChain 24(data) 25 436 115 26
+                              Store 442 441
+             443:     27(ptr) AccessChain 10(dti) 26
+             444:      6(int) Load 443
+             445:     27(ptr) AccessChain 10(dti) 26
+             446:      6(int) Load 445
+             447:    118(ptr) AccessChain 24(data) 25 446 115
+             448:   17(fvec4) Load 447
+             449:  136(fvec2) VectorShuffle 448 448 0 1
+             450:  136(fvec2) GroupNonUniformFMin 35 Reduce 449
+             451:    118(ptr) AccessChain 24(data) 25 444 115
+             452:   17(fvec4) Load 451
+             453:   17(fvec4) VectorShuffle 452 450 4 5 2 3
+                              Store 451 453
+             454:     27(ptr) AccessChain 10(dti) 26
+             455:      6(int) Load 454
+             456:     27(ptr) AccessChain 10(dti) 26
+             457:      6(int) Load 456
+             458:    118(ptr) AccessChain 24(data) 25 457 115
+             459:   17(fvec4) Load 458
+             460:  148(fvec3) VectorShuffle 459 459 0 1 2
+             461:  148(fvec3) GroupNonUniformFMin 35 Reduce 460
+             462:    118(ptr) AccessChain 24(data) 25 455 115
+             463:   17(fvec4) Load 462
+             464:   17(fvec4) VectorShuffle 463 461 4 5 6 3
+                              Store 462 464
+             465:     27(ptr) AccessChain 10(dti) 26
+             466:      6(int) Load 465
+             467:     27(ptr) AccessChain 10(dti) 26
+             468:      6(int) Load 467
+             469:    161(ptr) AccessChain 24(data) 25 468 158
+             470:   19(fvec4) Load 469
+             471:   19(fvec4) GroupNonUniformFMin 35 Reduce 470
+             472:    161(ptr) AccessChain 24(data) 25 466 158
+                              Store 472 471
+             473:     27(ptr) AccessChain 10(dti) 26
+             474:      6(int) Load 473
+             475:     27(ptr) AccessChain 10(dti) 26
+             476:      6(int) Load 475
+             477:    170(ptr) AccessChain 24(data) 25 476 158 26
+             478:   18(float) Load 477
+             479:   18(float) GroupNonUniformFMin 35 Reduce 478
+             480:    170(ptr) AccessChain 24(data) 25 474 158 26
+                              Store 480 479
+             481:     27(ptr) AccessChain 10(dti) 26
+             482:      6(int) Load 481
+             483:     27(ptr) AccessChain 10(dti) 26
+             484:      6(int) Load 483
+             485:    161(ptr) AccessChain 24(data) 25 484 158
+             486:   19(fvec4) Load 485
+             487:  179(fvec2) VectorShuffle 486 486 0 1
+             488:  179(fvec2) GroupNonUniformFMin 35 Reduce 487
+             489:    161(ptr) AccessChain 24(data) 25 482 158
+             490:   19(fvec4) Load 489
+             491:   19(fvec4) VectorShuffle 490 488 4 5 2 3
+                              Store 489 491
+             492:     27(ptr) AccessChain 10(dti) 26
+             493:      6(int) Load 492
+             494:     27(ptr) AccessChain 10(dti) 26
+             495:      6(int) Load 494
+             496:    161(ptr) AccessChain 24(data) 25 495 158
+             497:   19(fvec4) Load 496
+             498:  191(fvec3) VectorShuffle 497 497 0 1 2
+             499:  191(fvec3) GroupNonUniformFMin 35 Reduce 498
+             500:    161(ptr) AccessChain 24(data) 25 493 158
+             501:   19(fvec4) Load 500
+             502:   19(fvec4) VectorShuffle 501 499 4 5 6 3
+                              Store 500 502
+             503:     27(ptr) AccessChain 10(dti) 26
+             504:      6(int) Load 503
+             505:     27(ptr) AccessChain 10(dti) 26
+             506:      6(int) Load 505
+             507:     32(ptr) AccessChain 24(data) 25 506 25
+             508:   13(ivec4) Load 507
+             509:   13(ivec4) GroupNonUniformUMax 35 Reduce 508
+             510:     32(ptr) AccessChain 24(data) 25 504 25
+                              Store 510 509
+             511:     27(ptr) AccessChain 10(dti) 26
+             512:      6(int) Load 511
+             513:     27(ptr) AccessChain 10(dti) 26
+             514:      6(int) Load 513
+             515:     42(ptr) AccessChain 24(data) 25 514 25 26
+             516:      6(int) Load 515
+             517:      6(int) GroupNonUniformUMax 35 Reduce 516
+             518:     42(ptr) AccessChain 24(data) 25 512 25 26
+                              Store 518 517
+             519:     27(ptr) AccessChain 10(dti) 26
+             520:      6(int) Load 519
+             521:     27(ptr) AccessChain 10(dti) 26
+             522:      6(int) Load 521
+             523:     32(ptr) AccessChain 24(data) 25 522 25
+             524:   13(ivec4) Load 523
+             525:   51(ivec2) VectorShuffle 524 524 0 1
+             526:   51(ivec2) GroupNonUniformUMax 35 Reduce 525
+             527:     32(ptr) AccessChain 24(data) 25 520 25
+             528:   13(ivec4) Load 527
+             529:   13(ivec4) VectorShuffle 528 526 4 5 2 3
+                              Store 527 529
+             530:     27(ptr) AccessChain 10(dti) 26
+             531:      6(int) Load 530
+             532:     27(ptr) AccessChain 10(dti) 26
+             533:      6(int) Load 532
+             534:     32(ptr) AccessChain 24(data) 25 533 25
+             535:   13(ivec4) Load 534
+             536:    7(ivec3) VectorShuffle 535 535 0 1 2
+             537:    7(ivec3) GroupNonUniformUMax 35 Reduce 536
+             538:     32(ptr) AccessChain 24(data) 25 531 25
+             539:   13(ivec4) Load 538
+             540:   13(ivec4) VectorShuffle 539 537 4 5 6 3
+                              Store 538 540
+             541:     27(ptr) AccessChain 10(dti) 26
+             542:      6(int) Load 541
+             543:     27(ptr) AccessChain 10(dti) 26
+             544:      6(int) Load 543
+             545:     75(ptr) AccessChain 24(data) 25 544 72
+             546:   15(ivec4) Load 545
+             547:   15(ivec4) GroupNonUniformSMax 35 Reduce 546
+             548:     75(ptr) AccessChain 24(data) 25 542 72
+                              Store 548 547
+             549:     27(ptr) AccessChain 10(dti) 26
+             550:      6(int) Load 549
+             551:     27(ptr) AccessChain 10(dti) 26
+             552:      6(int) Load 551
+             553:     84(ptr) AccessChain 24(data) 25 552 72 26
+             554:     14(int) Load 553
+             555:     14(int) GroupNonUniformSMax 35 Reduce 554
+             556:     84(ptr) AccessChain 24(data) 25 550 72 26
+                              Store 556 555
+             557:     27(ptr) AccessChain 10(dti) 26
+             558:      6(int) Load 557
+             559:     27(ptr) AccessChain 10(dti) 26
+             560:      6(int) Load 559
+             561:     75(ptr) AccessChain 24(data) 25 560 72
+             562:   15(ivec4) Load 561
+             563:   93(ivec2) VectorShuffle 562 562 0 1
+             564:   93(ivec2) GroupNonUniformSMax 35 Reduce 563
+             565:     75(ptr) AccessChain 24(data) 25 558 72
+             566:   15(ivec4) Load 565
+             567:   15(ivec4) VectorShuffle 566 564 4 5 2 3
+                              Store 565 567
+             568:     27(ptr) AccessChain 10(dti) 26
+             569:      6(int) Load 568
+             570:     27(ptr) AccessChain 10(dti) 26
+             571:      6(int) Load 570
+             572:     75(ptr) AccessChain 24(data) 25 571 72
+             573:   15(ivec4) Load 572
+             574:  105(ivec3) VectorShuffle 573 573 0 1 2
+             575:  105(ivec3) GroupNonUniformSMax 35 Reduce 574
+             576:     75(ptr) AccessChain 24(data) 25 569 72
+             577:   15(ivec4) Load 576
+             578:   15(ivec4) VectorShuffle 577 575 4 5 6 3
+                              Store 576 578
+             579:     27(ptr) AccessChain 10(dti) 26
+             580:      6(int) Load 579
+             581:     27(ptr) AccessChain 10(dti) 26
+             582:      6(int) Load 581
+             583:    118(ptr) AccessChain 24(data) 25 582 115
+             584:   17(fvec4) Load 583
+             585:   17(fvec4) GroupNonUniformFMax 35 Reduce 584
+             586:    118(ptr) AccessChain 24(data) 25 580 115
+                              Store 586 585
+             587:     27(ptr) AccessChain 10(dti) 26
+             588:      6(int) Load 587
+             589:     27(ptr) AccessChain 10(dti) 26
+             590:      6(int) Load 589
+             591:    127(ptr) AccessChain 24(data) 25 590 115 26
+             592:   16(float) Load 591
+             593:   16(float) GroupNonUniformFMax 35 Reduce 592
+             594:    127(ptr) AccessChain 24(data) 25 588 115 26
+                              Store 594 593
+             595:     27(ptr) AccessChain 10(dti) 26
+             596:      6(int) Load 595
+             597:     27(ptr) AccessChain 10(dti) 26
+             598:      6(int) Load 597
+             599:    118(ptr) AccessChain 24(data) 25 598 115
+             600:   17(fvec4) Load 599
+             601:  136(fvec2) VectorShuffle 600 600 0 1
+             602:  136(fvec2) GroupNonUniformFMax 35 Reduce 601
+             603:    118(ptr) AccessChain 24(data) 25 596 115
+             604:   17(fvec4) Load 603
+             605:   17(fvec4) VectorShuffle 604 602 4 5 2 3
+                              Store 603 605
+             606:     27(ptr) AccessChain 10(dti) 26
+             607:      6(int) Load 606
+             608:     27(ptr) AccessChain 10(dti) 26
+             609:      6(int) Load 608
+             610:    118(ptr) AccessChain 24(data) 25 609 115
+             611:   17(fvec4) Load 610
+             612:  148(fvec3) VectorShuffle 611 611 0 1 2
+             613:  148(fvec3) GroupNonUniformFMax 35 Reduce 612
+             614:    118(ptr) AccessChain 24(data) 25 607 115
+             615:   17(fvec4) Load 614
+             616:   17(fvec4) VectorShuffle 615 613 4 5 6 3
+                              Store 614 616
+             617:     27(ptr) AccessChain 10(dti) 26
+             618:      6(int) Load 617
+             619:     27(ptr) AccessChain 10(dti) 26
+             620:      6(int) Load 619
+             621:    161(ptr) AccessChain 24(data) 25 620 158
+             622:   19(fvec4) Load 621
+             623:   19(fvec4) GroupNonUniformFMax 35 Reduce 622
+             624:    161(ptr) AccessChain 24(data) 25 618 158
+                              Store 624 623
+             625:     27(ptr) AccessChain 10(dti) 26
+             626:      6(int) Load 625
+             627:     27(ptr) AccessChain 10(dti) 26
+             628:      6(int) Load 627
+             629:    170(ptr) AccessChain 24(data) 25 628 158 26
+             630:   18(float) Load 629
+             631:   18(float) GroupNonUniformFMax 35 Reduce 630
+             632:    170(ptr) AccessChain 24(data) 25 626 158 26
+                              Store 632 631
+             633:     27(ptr) AccessChain 10(dti) 26
+             634:      6(int) Load 633
+             635:     27(ptr) AccessChain 10(dti) 26
+             636:      6(int) Load 635
+             637:    161(ptr) AccessChain 24(data) 25 636 158
+             638:   19(fvec4) Load 637
+             639:  179(fvec2) VectorShuffle 638 638 0 1
+             640:  179(fvec2) GroupNonUniformFMax 35 Reduce 639
+             641:    161(ptr) AccessChain 24(data) 25 634 158
+             642:   19(fvec4) Load 641
+             643:   19(fvec4) VectorShuffle 642 640 4 5 2 3
+                              Store 641 643
+             644:     27(ptr) AccessChain 10(dti) 26
+             645:      6(int) Load 644
+             646:     27(ptr) AccessChain 10(dti) 26
+             647:      6(int) Load 646
+             648:    161(ptr) AccessChain 24(data) 25 647 158
+             649:   19(fvec4) Load 648
+             650:  191(fvec3) VectorShuffle 649 649 0 1 2
+             651:  191(fvec3) GroupNonUniformFMax 35 Reduce 650
+             652:    161(ptr) AccessChain 24(data) 25 645 158
+             653:   19(fvec4) Load 652
+             654:   19(fvec4) VectorShuffle 653 651 4 5 6 3
+                              Store 652 654
+             655:     27(ptr) AccessChain 10(dti) 26
+             656:      6(int) Load 655
+             657:     27(ptr) AccessChain 10(dti) 26
+             658:      6(int) Load 657
+             659:     32(ptr) AccessChain 24(data) 25 658 25
+             660:   13(ivec4) Load 659
+             661:   13(ivec4) GroupNonUniformBitwiseAnd 35 Reduce 660
+             662:     32(ptr) AccessChain 24(data) 25 656 25
+                              Store 662 661
+             663:     27(ptr) AccessChain 10(dti) 26
+             664:      6(int) Load 663
+             665:     27(ptr) AccessChain 10(dti) 26
+             666:      6(int) Load 665
+             667:     42(ptr) AccessChain 24(data) 25 666 25 26
+             668:      6(int) Load 667
+             669:      6(int) GroupNonUniformBitwiseAnd 35 Reduce 668
+             670:     42(ptr) AccessChain 24(data) 25 664 25 26
+                              Store 670 669
+             671:     27(ptr) AccessChain 10(dti) 26
+             672:      6(int) Load 671
+             673:     27(ptr) AccessChain 10(dti) 26
+             674:      6(int) Load 673
+             675:     32(ptr) AccessChain 24(data) 25 674 25
+             676:   13(ivec4) Load 675
+             677:   51(ivec2) VectorShuffle 676 676 0 1
+             678:   51(ivec2) GroupNonUniformBitwiseAnd 35 Reduce 677
+             679:     32(ptr) AccessChain 24(data) 25 672 25
+             680:   13(ivec4) Load 679
+             681:   13(ivec4) VectorShuffle 680 678 4 5 2 3
+                              Store 679 681
+             682:     27(ptr) AccessChain 10(dti) 26
+             683:      6(int) Load 682
+             684:     27(ptr) AccessChain 10(dti) 26
+             685:      6(int) Load 684
+             686:     32(ptr) AccessChain 24(data) 25 685 25
+             687:   13(ivec4) Load 686
+             688:    7(ivec3) VectorShuffle 687 687 0 1 2
+             689:    7(ivec3) GroupNonUniformBitwiseAnd 35 Reduce 688
+             690:     32(ptr) AccessChain 24(data) 25 683 25
+             691:   13(ivec4) Load 690
+             692:   13(ivec4) VectorShuffle 691 689 4 5 6 3
+                              Store 690 692
+             693:     27(ptr) AccessChain 10(dti) 26
+             694:      6(int) Load 693
+             695:     27(ptr) AccessChain 10(dti) 26
+             696:      6(int) Load 695
+             697:     75(ptr) AccessChain 24(data) 25 696 72
+             698:   15(ivec4) Load 697
+             699:   15(ivec4) GroupNonUniformBitwiseAnd 35 Reduce 698
+             700:     75(ptr) AccessChain 24(data) 25 694 72
+                              Store 700 699
+             701:     27(ptr) AccessChain 10(dti) 26
+             702:      6(int) Load 701
+             703:     27(ptr) AccessChain 10(dti) 26
+             704:      6(int) Load 703
+             705:     84(ptr) AccessChain 24(data) 25 704 72 26
+             706:     14(int) Load 705
+             707:     14(int) GroupNonUniformBitwiseAnd 35 Reduce 706
+             708:     84(ptr) AccessChain 24(data) 25 702 72 26
+                              Store 708 707
+             709:     27(ptr) AccessChain 10(dti) 26
+             710:      6(int) Load 709
+             711:     27(ptr) AccessChain 10(dti) 26
+             712:      6(int) Load 711
+             713:     75(ptr) AccessChain 24(data) 25 712 72
+             714:   15(ivec4) Load 713
+             715:   93(ivec2) VectorShuffle 714 714 0 1
+             716:   93(ivec2) GroupNonUniformBitwiseAnd 35 Reduce 715
+             717:     75(ptr) AccessChain 24(data) 25 710 72
+             718:   15(ivec4) Load 717
+             719:   15(ivec4) VectorShuffle 718 716 4 5 2 3
+                              Store 717 719
+             720:     27(ptr) AccessChain 10(dti) 26
+             721:      6(int) Load 720
+             722:     27(ptr) AccessChain 10(dti) 26
+             723:      6(int) Load 722
+             724:     75(ptr) AccessChain 24(data) 25 723 72
+             725:   15(ivec4) Load 724
+             726:  105(ivec3) VectorShuffle 725 725 0 1 2
+             727:  105(ivec3) GroupNonUniformBitwiseAnd 35 Reduce 726
+             728:     75(ptr) AccessChain 24(data) 25 721 72
+             729:   15(ivec4) Load 728
+             730:   15(ivec4) VectorShuffle 729 727 4 5 6 3
+                              Store 728 730
+             731:     27(ptr) AccessChain 10(dti) 26
+             732:      6(int) Load 731
+             733:     27(ptr) AccessChain 10(dti) 26
+             734:      6(int) Load 733
+             735:     32(ptr) AccessChain 24(data) 25 734 25
+             736:   13(ivec4) Load 735
+             737:   13(ivec4) GroupNonUniformBitwiseOr 35 Reduce 736
+             738:     32(ptr) AccessChain 24(data) 25 732 25
+                              Store 738 737
+             739:     27(ptr) AccessChain 10(dti) 26
+             740:      6(int) Load 739
+             741:     27(ptr) AccessChain 10(dti) 26
+             742:      6(int) Load 741
+             743:     42(ptr) AccessChain 24(data) 25 742 25 26
+             744:      6(int) Load 743
+             745:      6(int) GroupNonUniformBitwiseOr 35 Reduce 744
+             746:     42(ptr) AccessChain 24(data) 25 740 25 26
+                              Store 746 745
+             747:     27(ptr) AccessChain 10(dti) 26
+             748:      6(int) Load 747
+             749:     27(ptr) AccessChain 10(dti) 26
+             750:      6(int) Load 749
+             751:     32(ptr) AccessChain 24(data) 25 750 25
+             752:   13(ivec4) Load 751
+             753:   51(ivec2) VectorShuffle 752 752 0 1
+             754:   51(ivec2) GroupNonUniformBitwiseOr 35 Reduce 753
+             755:     32(ptr) AccessChain 24(data) 25 748 25
+             756:   13(ivec4) Load 755
+             757:   13(ivec4) VectorShuffle 756 754 4 5 2 3
+                              Store 755 757
+             758:     27(ptr) AccessChain 10(dti) 26
+             759:      6(int) Load 758
+             760:     27(ptr) AccessChain 10(dti) 26
+             761:      6(int) Load 760
+             762:     32(ptr) AccessChain 24(data) 25 761 25
+             763:   13(ivec4) Load 762
+             764:    7(ivec3) VectorShuffle 763 763 0 1 2
+             765:    7(ivec3) GroupNonUniformBitwiseOr 35 Reduce 764
+             766:     32(ptr) AccessChain 24(data) 25 759 25
+             767:   13(ivec4) Load 766
+             768:   13(ivec4) VectorShuffle 767 765 4 5 6 3
+                              Store 766 768
+             769:     27(ptr) AccessChain 10(dti) 26
+             770:      6(int) Load 769
+             771:     27(ptr) AccessChain 10(dti) 26
+             772:      6(int) Load 771
+             773:     75(ptr) AccessChain 24(data) 25 772 72
+             774:   15(ivec4) Load 773
+             775:   15(ivec4) GroupNonUniformBitwiseOr 35 Reduce 774
+             776:     75(ptr) AccessChain 24(data) 25 770 72
+                              Store 776 775
+             777:     27(ptr) AccessChain 10(dti) 26
+             778:      6(int) Load 777
+             779:     27(ptr) AccessChain 10(dti) 26
+             780:      6(int) Load 779
+             781:     84(ptr) AccessChain 24(data) 25 780 72 26
+             782:     14(int) Load 781
+             783:     14(int) GroupNonUniformBitwiseOr 35 Reduce 782
+             784:     84(ptr) AccessChain 24(data) 25 778 72 26
+                              Store 784 783
+             785:     27(ptr) AccessChain 10(dti) 26
+             786:      6(int) Load 785
+             787:     27(ptr) AccessChain 10(dti) 26
+             788:      6(int) Load 787
+             789:     75(ptr) AccessChain 24(data) 25 788 72
+             790:   15(ivec4) Load 789
+             791:   93(ivec2) VectorShuffle 790 790 0 1
+             792:   93(ivec2) GroupNonUniformBitwiseOr 35 Reduce 791
+             793:     75(ptr) AccessChain 24(data) 25 786 72
+             794:   15(ivec4) Load 793
+             795:   15(ivec4) VectorShuffle 794 792 4 5 2 3
+                              Store 793 795
+             796:     27(ptr) AccessChain 10(dti) 26
+             797:      6(int) Load 796
+             798:     27(ptr) AccessChain 10(dti) 26
+             799:      6(int) Load 798
+             800:     75(ptr) AccessChain 24(data) 25 799 72
+             801:   15(ivec4) Load 800
+             802:  105(ivec3) VectorShuffle 801 801 0 1 2
+             803:  105(ivec3) GroupNonUniformBitwiseOr 35 Reduce 802
+             804:     75(ptr) AccessChain 24(data) 25 797 72
+             805:   15(ivec4) Load 804
+             806:   15(ivec4) VectorShuffle 805 803 4 5 6 3
+                              Store 804 806
+             807:     27(ptr) AccessChain 10(dti) 26
+             808:      6(int) Load 807
+             809:     27(ptr) AccessChain 10(dti) 26
+             810:      6(int) Load 809
+             811:     32(ptr) AccessChain 24(data) 25 810 25
+             812:   13(ivec4) Load 811
+             813:   13(ivec4) GroupNonUniformBitwiseXor 35 Reduce 812
+             814:     32(ptr) AccessChain 24(data) 25 808 25
+                              Store 814 813
+             815:     27(ptr) AccessChain 10(dti) 26
+             816:      6(int) Load 815
+             817:     27(ptr) AccessChain 10(dti) 26
+             818:      6(int) Load 817
+             819:     42(ptr) AccessChain 24(data) 25 818 25 26
+             820:      6(int) Load 819
+             821:      6(int) GroupNonUniformBitwiseXor 35 Reduce 820
+             822:     42(ptr) AccessChain 24(data) 25 816 25 26
+                              Store 822 821
+             823:     27(ptr) AccessChain 10(dti) 26
+             824:      6(int) Load 823
+             825:     27(ptr) AccessChain 10(dti) 26
+             826:      6(int) Load 825
+             827:     32(ptr) AccessChain 24(data) 25 826 25
+             828:   13(ivec4) Load 827
+             829:   51(ivec2) VectorShuffle 828 828 0 1
+             830:   51(ivec2) GroupNonUniformBitwiseXor 35 Reduce 829
+             831:     32(ptr) AccessChain 24(data) 25 824 25
+             832:   13(ivec4) Load 831
+             833:   13(ivec4) VectorShuffle 832 830 4 5 2 3
+                              Store 831 833
+             834:     27(ptr) AccessChain 10(dti) 26
+             835:      6(int) Load 834
+             836:     27(ptr) AccessChain 10(dti) 26
+             837:      6(int) Load 836
+             838:     32(ptr) AccessChain 24(data) 25 837 25
+             839:   13(ivec4) Load 838
+             840:    7(ivec3) VectorShuffle 839 839 0 1 2
+             841:    7(ivec3) GroupNonUniformBitwiseXor 35 Reduce 840
+             842:     32(ptr) AccessChain 24(data) 25 835 25
+             843:   13(ivec4) Load 842
+             844:   13(ivec4) VectorShuffle 843 841 4 5 6 3
+                              Store 842 844
+             845:     27(ptr) AccessChain 10(dti) 26
+             846:      6(int) Load 845
+             847:     27(ptr) AccessChain 10(dti) 26
+             848:      6(int) Load 847
+             849:     75(ptr) AccessChain 24(data) 25 848 72
+             850:   15(ivec4) Load 849
+             851:   15(ivec4) GroupNonUniformBitwiseXor 35 Reduce 850
+             852:     75(ptr) AccessChain 24(data) 25 846 72
+                              Store 852 851
+             853:     27(ptr) AccessChain 10(dti) 26
+             854:      6(int) Load 853
+             855:     27(ptr) AccessChain 10(dti) 26
+             856:      6(int) Load 855
+             857:     84(ptr) AccessChain 24(data) 25 856 72 26
+             858:     14(int) Load 857
+             859:     14(int) GroupNonUniformBitwiseXor 35 Reduce 858
+             860:     84(ptr) AccessChain 24(data) 25 854 72 26
+                              Store 860 859
+             861:     27(ptr) AccessChain 10(dti) 26
+             862:      6(int) Load 861
+             863:     27(ptr) AccessChain 10(dti) 26
+             864:      6(int) Load 863
+             865:     75(ptr) AccessChain 24(data) 25 864 72
+             866:   15(ivec4) Load 865
+             867:   93(ivec2) VectorShuffle 866 866 0 1
+             868:   93(ivec2) GroupNonUniformBitwiseXor 35 Reduce 867
+             869:     75(ptr) AccessChain 24(data) 25 862 72
+             870:   15(ivec4) Load 869
+             871:   15(ivec4) VectorShuffle 870 868 4 5 2 3
+                              Store 869 871
+             872:     27(ptr) AccessChain 10(dti) 26
+             873:      6(int) Load 872
+             874:     27(ptr) AccessChain 10(dti) 26
+             875:      6(int) Load 874
+             876:     75(ptr) AccessChain 24(data) 25 875 72
+             877:   15(ivec4) Load 876
+             878:  105(ivec3) VectorShuffle 877 877 0 1 2
+             879:  105(ivec3) GroupNonUniformBitwiseXor 35 Reduce 878
+             880:     75(ptr) AccessChain 24(data) 25 873 72
+             881:   15(ivec4) Load 880
+             882:   15(ivec4) VectorShuffle 881 879 4 5 6 3
+                              Store 880 882
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.wavevote.comp.out b/Test/baseResults/hlsl.wavevote.comp.out
new file mode 100644
index 0000000..6e5e5fb
--- /dev/null
+++ b/Test/baseResults/hlsl.wavevote.comp.out
@@ -0,0 +1,300 @@
+hlsl.wavevote.comp
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:5  Function Definition: @CSMain(vu3; ( temp void)
+0:5    Function Parameters: 
+0:5      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:6      move second child to first child ( temp uint64_t)
+0:6        indirect index (layout( row_major std430) buffer uint64_t)
+0:6          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
+0:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
+0:6            Constant:
+0:6              0 (const uint)
+0:6          direct index ( temp uint)
+0:6            'dti' ( in 3-component vector of uint)
+0:6            Constant:
+0:6              0 (const int)
+0:6        packUint2x32 ( temp uint64_t)
+0:6          vector swizzle ( temp 2-component vector of uint)
+0:6            subgroupBallot ( temp 4-component vector of uint)
+0:6              subgroupAny ( temp bool)
+0:6                Compare Equal ( temp bool)
+0:6                  direct index ( temp uint)
+0:6                    'dti' ( in 3-component vector of uint)
+0:6                    Constant:
+0:6                      0 (const int)
+0:6                  Constant:
+0:6                    0 (const uint)
+0:6            Sequence
+0:6              Constant:
+0:6                0 (const int)
+0:6              Constant:
+0:6                1 (const int)
+0:7      move second child to first child ( temp uint64_t)
+0:7        indirect index (layout( row_major std430) buffer uint64_t)
+0:7          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
+0:7            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
+0:7            Constant:
+0:7              0 (const uint)
+0:7          direct index ( temp uint)
+0:7            'dti' ( in 3-component vector of uint)
+0:7            Constant:
+0:7              1 (const int)
+0:7        packUint2x32 ( temp uint64_t)
+0:7          vector swizzle ( temp 2-component vector of uint)
+0:7            subgroupBallot ( temp 4-component vector of uint)
+0:7              subgroupAll ( temp bool)
+0:7                Compare Equal ( temp bool)
+0:7                  direct index ( temp uint)
+0:7                    'dti' ( in 3-component vector of uint)
+0:7                    Constant:
+0:7                      1 (const int)
+0:7                  Constant:
+0:7                    0 (const uint)
+0:7            Sequence
+0:7              Constant:
+0:7                0 (const int)
+0:7              Constant:
+0:7                1 (const int)
+0:8      move second child to first child ( temp uint64_t)
+0:8        indirect index (layout( row_major std430) buffer uint64_t)
+0:8          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
+0:8            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
+0:8            Constant:
+0:8              0 (const uint)
+0:8          direct index ( temp uint)
+0:8            'dti' ( in 3-component vector of uint)
+0:8            Constant:
+0:8              2 (const int)
+0:8        packUint2x32 ( temp uint64_t)
+0:8          vector swizzle ( temp 2-component vector of uint)
+0:8            subgroupBallot ( temp 4-component vector of uint)
+0:8              subgroupAllEqual ( temp bool)
+0:8                Compare Equal ( temp bool)
+0:8                  direct index ( temp uint)
+0:8                    'dti' ( in 3-component vector of uint)
+0:8                    Constant:
+0:8                      2 (const int)
+0:8                  Constant:
+0:8                    0 (const uint)
+0:8            Sequence
+0:8              Constant:
+0:8                0 (const int)
+0:8              Constant:
+0:8                1 (const int)
+0:5  Function Definition: CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:5      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:5      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (32, 16, 1)
+0:? Sequence
+0:5  Function Definition: @CSMain(vu3; ( temp void)
+0:5    Function Parameters: 
+0:5      'dti' ( in 3-component vector of uint)
+0:?     Sequence
+0:6      move second child to first child ( temp uint64_t)
+0:6        indirect index (layout( row_major std430) buffer uint64_t)
+0:6          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
+0:6            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
+0:6            Constant:
+0:6              0 (const uint)
+0:6          direct index ( temp uint)
+0:6            'dti' ( in 3-component vector of uint)
+0:6            Constant:
+0:6              0 (const int)
+0:6        packUint2x32 ( temp uint64_t)
+0:6          vector swizzle ( temp 2-component vector of uint)
+0:6            subgroupBallot ( temp 4-component vector of uint)
+0:6              subgroupAny ( temp bool)
+0:6                Compare Equal ( temp bool)
+0:6                  direct index ( temp uint)
+0:6                    'dti' ( in 3-component vector of uint)
+0:6                    Constant:
+0:6                      0 (const int)
+0:6                  Constant:
+0:6                    0 (const uint)
+0:6            Sequence
+0:6              Constant:
+0:6                0 (const int)
+0:6              Constant:
+0:6                1 (const int)
+0:7      move second child to first child ( temp uint64_t)
+0:7        indirect index (layout( row_major std430) buffer uint64_t)
+0:7          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
+0:7            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
+0:7            Constant:
+0:7              0 (const uint)
+0:7          direct index ( temp uint)
+0:7            'dti' ( in 3-component vector of uint)
+0:7            Constant:
+0:7              1 (const int)
+0:7        packUint2x32 ( temp uint64_t)
+0:7          vector swizzle ( temp 2-component vector of uint)
+0:7            subgroupBallot ( temp 4-component vector of uint)
+0:7              subgroupAll ( temp bool)
+0:7                Compare Equal ( temp bool)
+0:7                  direct index ( temp uint)
+0:7                    'dti' ( in 3-component vector of uint)
+0:7                    Constant:
+0:7                      1 (const int)
+0:7                  Constant:
+0:7                    0 (const uint)
+0:7            Sequence
+0:7              Constant:
+0:7                0 (const int)
+0:7              Constant:
+0:7                1 (const int)
+0:8      move second child to first child ( temp uint64_t)
+0:8        indirect index (layout( row_major std430) buffer uint64_t)
+0:8          @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
+0:8            'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
+0:8            Constant:
+0:8              0 (const uint)
+0:8          direct index ( temp uint)
+0:8            'dti' ( in 3-component vector of uint)
+0:8            Constant:
+0:8              2 (const int)
+0:8        packUint2x32 ( temp uint64_t)
+0:8          vector swizzle ( temp 2-component vector of uint)
+0:8            subgroupBallot ( temp 4-component vector of uint)
+0:8              subgroupAllEqual ( temp bool)
+0:8                Compare Equal ( temp bool)
+0:8                  direct index ( temp uint)
+0:8                    'dti' ( in 3-component vector of uint)
+0:8                    Constant:
+0:8                      2 (const int)
+0:8                  Constant:
+0:8                    0 (const uint)
+0:8            Sequence
+0:8              Constant:
+0:8                0 (const int)
+0:8              Constant:
+0:8                1 (const int)
+0:5  Function Definition: CSMain( ( temp void)
+0:5    Function Parameters: 
+0:?     Sequence
+0:5      move second child to first child ( temp 3-component vector of uint)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?         'dti' ( in 3-component vector of uint GlobalInvocationID)
+0:5      Function Call: @CSMain(vu3; ( temp void)
+0:?         'dti' ( temp 3-component vector of uint)
+0:?   Linker Objects
+0:?     'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
+0:?     'dti' ( in 3-component vector of uint GlobalInvocationID)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 66
+
+                              Capability Shader
+                              Capability Int64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformVote
+                              Capability GroupNonUniformBallot
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "CSMain" 61
+                              ExecutionMode 4 LocalSize 32 16 1
+                              Source HLSL 500
+                              Name 4  "CSMain"
+                              Name 11  "@CSMain(vu3;"
+                              Name 10  "dti"
+                              Name 15  "data"
+                              MemberName 15(data) 0  "@data"
+                              Name 17  "data"
+                              Name 59  "dti"
+                              Name 61  "dti"
+                              Name 63  "param"
+                              Decorate 14 ArrayStride 8
+                              MemberDecorate 15(data) 0 Offset 0
+                              Decorate 15(data) BufferBlock
+                              Decorate 17(data) DescriptorSet 0
+                              Decorate 61(dti) BuiltIn GlobalInvocationId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 3
+               8:             TypePointer Function 7(ivec3)
+               9:             TypeFunction 2 8(ptr)
+              13:             TypeInt 64 0
+              14:             TypeRuntimeArray 13(int)
+        15(data):             TypeStruct 14
+              16:             TypePointer Uniform 15(data)
+        17(data):     16(ptr) Variable Uniform
+              18:             TypeInt 32 1
+              19:     18(int) Constant 0
+              20:      6(int) Constant 0
+              21:             TypePointer Function 6(int)
+              26:             TypeBool
+              28:      6(int) Constant 3
+              30:             TypeVector 6(int) 4
+              32:             TypeVector 6(int) 2
+              35:             TypePointer Uniform 13(int)
+              37:      6(int) Constant 1
+              48:      6(int) Constant 2
+              60:             TypePointer Input 7(ivec3)
+         61(dti):     60(ptr) Variable Input
+       4(CSMain):           2 Function None 3
+               5:             Label
+         59(dti):      8(ptr) Variable Function
+       63(param):      8(ptr) Variable Function
+              62:    7(ivec3) Load 61(dti)
+                              Store 59(dti) 62
+              64:    7(ivec3) Load 59(dti)
+                              Store 63(param) 64
+              65:           2 FunctionCall 11(@CSMain(vu3;) 63(param)
+                              Return
+                              FunctionEnd
+11(@CSMain(vu3;):           2 Function None 9
+         10(dti):      8(ptr) FunctionParameter
+              12:             Label
+              22:     21(ptr) AccessChain 10(dti) 20
+              23:      6(int) Load 22
+              24:     21(ptr) AccessChain 10(dti) 20
+              25:      6(int) Load 24
+              27:    26(bool) IEqual 25 20
+              29:    26(bool) GroupNonUniformAny 28 27
+              31:   30(ivec4) GroupNonUniformBallot 28 29
+              33:   32(ivec2) VectorShuffle 31 31 0 1
+              34:     13(int) Bitcast 33
+              36:     35(ptr) AccessChain 17(data) 19 23
+                              Store 36 34
+              38:     21(ptr) AccessChain 10(dti) 37
+              39:      6(int) Load 38
+              40:     21(ptr) AccessChain 10(dti) 37
+              41:      6(int) Load 40
+              42:    26(bool) IEqual 41 20
+              43:    26(bool) GroupNonUniformAll 28 42
+              44:   30(ivec4) GroupNonUniformBallot 28 43
+              45:   32(ivec2) VectorShuffle 44 44 0 1
+              46:     13(int) Bitcast 45
+              47:     35(ptr) AccessChain 17(data) 19 39
+                              Store 47 46
+              49:     21(ptr) AccessChain 10(dti) 48
+              50:      6(int) Load 49
+              51:     21(ptr) AccessChain 10(dti) 48
+              52:      6(int) Load 51
+              53:    26(bool) IEqual 52 20
+              54:    26(bool) GroupNonUniformAllEqual 28 53
+              55:   30(ivec4) GroupNonUniformBallot 28 54
+              56:   32(ivec2) VectorShuffle 55 55 0 1
+              57:     13(int) Bitcast 56
+              58:     35(ptr) AccessChain 17(data) 19 50
+                              Store 58 57
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.debugInfo.1.1.frag.out b/Test/baseResults/spv.debugInfo.1.1.frag.out
new file mode 100644
index 0000000..f8d069a
--- /dev/null
+++ b/Test/baseResults/spv.debugInfo.1.1.frag.out
@@ -0,0 +1,279 @@
+spv.debugInfo.frag
+// Module Version 10300
+// Generated by (magic number): 80002
+// Id's are bound by 126
+
+                              Capability Shader
+               2:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 5  "main" 24 52
+                              ExecutionMode 5 OriginLowerLeft
+               1:             String  "spv.debugInfo.frag"
+                              Source GLSL 450 1  "#version 450
+
+struct S {
+    int a;
+};
+
+uniform ubuf {
+    S s;
+};
+
+uniform sampler2D s2d;
+
+layout(location = 0) in vec4 inv;
+layout(location = 0) out vec4 outv;
+
+vec4 foo(S s)
+{
+    vec4 r = s.a * inv;
+    ++r;
+    if (r.x > 3.0)
+        --r;
+    else
+        r *= 2;
+
+    return r;
+}
+
+void main()
+{
+    outv = foo(s);
+    outv += texture(s2d, vec2(0.5));
+
+    switch (s.a) {
+    case 10:
+        ++outv;
+        break;
+    case 20:
+        outv = 2 * outv;
+        ++outv;
+        break;
+    default:
+        --outv;
+        break;
+    }
+
+    for (int i = 0; i < 10; ++i)
+        outv *= 3.0;
+
+    outv.x < 10.0 ?
+        outv = sin(outv) :
+        outv = cos(outv);
+}"
+                              Name 5  "main"
+                              Name 8  "S"
+                              MemberName 8(S) 0  "a"
+                              Name 14  "foo(struct-S-i11;"
+                              Name 13  "s"
+                              Name 17  "r"
+                              Name 24  "inv"
+                              Name 52  "outv"
+                              Name 53  "S"
+                              MemberName 53(S) 0  "a"
+                              Name 54  "ubuf"
+                              MemberName 54(ubuf) 0  "s"
+                              Name 56  ""
+                              Name 57  "S"
+                              MemberName 57(S) 0  "a"
+                              Name 59  "param"
+                              Name 69  "s2d"
+                              Name 99  "i"
+                              ModuleProcesses  "no-storage-format"
+                              ModuleProcesses  "resource-set-binding 3"
+                              ModuleProcesses  "auto-map-locations"
+                              ModuleProcesses  "client opengl100"
+                              ModuleProcesses  "target-env opengl"
+                              ModuleProcesses  "relaxed-errors"
+                              ModuleProcesses  "suppress-warnings"
+                              ModuleProcesses  "hlsl-offsets"
+                              ModuleProcesses  "entry-point main"
+                              Decorate 24(inv) Location 0
+                              Decorate 52(outv) Location 0
+                              MemberDecorate 53(S) 0 Offset 0
+                              MemberDecorate 54(ubuf) 0 Offset 0
+                              Decorate 54(ubuf) Block
+                              Decorate 56 DescriptorSet 3
+                              Decorate 69(s2d) DescriptorSet 3
+               3:             TypeVoid
+               4:             TypeFunction 3
+               7:             TypeInt 32 1
+            8(S):             TypeStruct 7(int)
+               9:             TypePointer Function 8(S)
+              10:             TypeFloat 32
+              11:             TypeVector 10(float) 4
+              12:             TypeFunction 11(fvec4) 9(ptr)
+              16:             TypePointer Function 11(fvec4)
+              18:      7(int) Constant 0
+              19:             TypePointer Function 7(int)
+              23:             TypePointer Input 11(fvec4)
+         24(inv):     23(ptr) Variable Input
+              28:   10(float) Constant 1065353216
+              31:             TypeInt 32 0
+              32:     31(int) Constant 0
+              33:             TypePointer Function 10(float)
+              36:   10(float) Constant 1077936128
+              37:             TypeBool
+              45:   10(float) Constant 1073741824
+              51:             TypePointer Output 11(fvec4)
+        52(outv):     51(ptr) Variable Output
+           53(S):             TypeStruct 7(int)
+        54(ubuf):             TypeStruct 53(S)
+              55:             TypePointer Uniform 54(ubuf)
+              56:     55(ptr) Variable Uniform
+           57(S):             TypeStruct 7(int)
+              58:             TypePointer Function 57(S)
+              60:             TypePointer Uniform 53(S)
+              66:             TypeImage 10(float) 2D sampled format:Unknown
+              67:             TypeSampledImage 66
+              68:             TypePointer UniformConstant 67
+         69(s2d):     68(ptr) Variable UniformConstant
+              71:             TypeVector 10(float) 2
+              72:   10(float) Constant 1056964608
+              73:   71(fvec2) ConstantComposite 72 72
+              77:             TypePointer Uniform 7(int)
+             106:      7(int) Constant 10
+             111:      7(int) Constant 1
+             114:             TypePointer Output 10(float)
+             117:   10(float) Constant 1092616192
+         5(main):           3 Function None 4
+               6:             Label
+       59(param):     58(ptr) Variable Function
+           99(i):     19(ptr) Variable Function
+             113:     16(ptr) Variable Function
+                              Line 1 30 0
+              61:     60(ptr) AccessChain 56 18
+              62:       53(S) Load 61
+              63:      7(int) CompositeExtract 62 0
+              64:     19(ptr) AccessChain 59(param) 18
+                              Store 64 63
+              65:   11(fvec4) FunctionCall 14(foo(struct-S-i11;) 59(param)
+                              Store 52(outv) 65
+                              Line 1 31 0
+              70:          67 Load 69(s2d)
+              74:   11(fvec4) ImageSampleImplicitLod 70 73
+              75:   11(fvec4) Load 52(outv)
+              76:   11(fvec4) FAdd 75 74
+                              Store 52(outv) 76
+                              Line 1 33 0
+              78:     77(ptr) AccessChain 56 18 18
+              79:      7(int) Load 78
+                              SelectionMerge 83 None
+                              Switch 79 82 
+                                     case 10: 80
+                                     case 20: 81
+              82:               Label
+                                Line 1 42 0
+              94:   11(fvec4)   Load 52(outv)
+              95:   11(fvec4)   CompositeConstruct 28 28 28 28
+              96:   11(fvec4)   FSub 94 95
+                                Store 52(outv) 96
+                                Line 1 43 0
+                                Branch 83
+              80:               Label
+                                Line 1 35 0
+              84:   11(fvec4)   Load 52(outv)
+              85:   11(fvec4)   CompositeConstruct 28 28 28 28
+              86:   11(fvec4)   FAdd 84 85
+                                Store 52(outv) 86
+                                Line 1 36 0
+                                Branch 83
+              81:               Label
+                                Line 1 38 0
+              88:   11(fvec4)   Load 52(outv)
+              89:   11(fvec4)   VectorTimesScalar 88 45
+                                Store 52(outv) 89
+                                Line 1 39 0
+              90:   11(fvec4)   Load 52(outv)
+              91:   11(fvec4)   CompositeConstruct 28 28 28 28
+              92:   11(fvec4)   FAdd 90 91
+                                Store 52(outv) 92
+                                Line 1 40 0
+                                Branch 83
+              83:             Label
+                              Line 1 46 0
+                              Store 99(i) 18
+                              Branch 100
+             100:             Label
+                              LoopMerge 102 103 None
+                              Branch 104
+             104:             Label
+             105:      7(int) Load 99(i)
+             107:    37(bool) SLessThan 105 106
+                              BranchConditional 107 101 102
+             101:               Label
+                                Line 1 47 0
+             108:   11(fvec4)   Load 52(outv)
+             109:   11(fvec4)   VectorTimesScalar 108 36
+                                Store 52(outv) 109
+                                Branch 103
+             103:               Label
+                                Line 1 46 0
+             110:      7(int)   Load 99(i)
+             112:      7(int)   IAdd 110 111
+                                Store 99(i) 112
+                                Branch 100
+             102:             Label
+                              Line 1 49 0
+             115:    114(ptr) AccessChain 52(outv) 32
+             116:   10(float) Load 115
+             118:    37(bool) FOrdLessThan 116 117
+                              SelectionMerge 120 None
+                              BranchConditional 118 119 123
+             119:               Label
+                                Line 1 50 0
+             121:   11(fvec4)   Load 52(outv)
+             122:   11(fvec4)   ExtInst 2(GLSL.std.450) 13(Sin) 121
+                                Store 52(outv) 122
+                                Store 113 122
+                                Branch 120
+             123:               Label
+                                Line 1 51 0
+             124:   11(fvec4)   Load 52(outv)
+             125:   11(fvec4)   ExtInst 2(GLSL.std.450) 14(Cos) 124
+                                Store 52(outv) 125
+                                Store 113 125
+                                Branch 120
+             120:             Label
+                              Return
+                              FunctionEnd
+14(foo(struct-S-i11;):   11(fvec4) Function None 12
+           13(s):      9(ptr) FunctionParameter
+              15:             Label
+           17(r):     16(ptr) Variable Function
+                              Line 1 18 0
+              20:     19(ptr) AccessChain 13(s) 18
+              21:      7(int) Load 20
+              22:   10(float) ConvertSToF 21
+              25:   11(fvec4) Load 24(inv)
+              26:   11(fvec4) VectorTimesScalar 25 22
+                              Store 17(r) 26
+                              Line 1 19 0
+              27:   11(fvec4) Load 17(r)
+              29:   11(fvec4) CompositeConstruct 28 28 28 28
+              30:   11(fvec4) FAdd 27 29
+                              Store 17(r) 30
+                              Line 1 20 0
+              34:     33(ptr) AccessChain 17(r) 32
+              35:   10(float) Load 34
+              38:    37(bool) FOrdGreaterThan 35 36
+                              SelectionMerge 40 None
+                              BranchConditional 38 39 44
+              39:               Label
+                                Line 1 21 0
+              41:   11(fvec4)   Load 17(r)
+              42:   11(fvec4)   CompositeConstruct 28 28 28 28
+              43:   11(fvec4)   FSub 41 42
+                                Store 17(r) 43
+                                Branch 40
+              44:               Label
+                                Line 1 23 0
+              46:   11(fvec4)   Load 17(r)
+              47:   11(fvec4)   VectorTimesScalar 46 45
+                                Store 17(r) 47
+                                Branch 40
+              40:             Label
+                              Line 1 25 0
+              48:   11(fvec4) Load 17(r)
+                              ReturnValue 48
+                              FunctionEnd
diff --git a/Test/baseResults/spv.deviceGroup.frag.out b/Test/baseResults/spv.deviceGroup.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.drawParams.vert.out b/Test/baseResults/spv.drawParams.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.float32.frag.out b/Test/baseResults/spv.float32.frag.out
new file mode 100644
index 0000000..85d50b6
--- /dev/null
+++ b/Test/baseResults/spv.float32.frag.out
@@ -0,0 +1,800 @@
+spv.float32.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 528
+
+                              Capability Shader
+                              Capability Float16
+                              Capability Float64
+                              Capability Int64
+                              Capability Int16
+                              Capability Int8
+                              Capability DerivativeControl
+                              Capability InterpolationFunction
+                              Extension  "SPV_AMD_gpu_shader_half_float"
+                              Extension  "SPV_AMD_gpu_shader_int16"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 466
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int8"
+                              Name 4  "main"
+                              Name 6  "literal("
+                              Name 8  "operators("
+                              Name 10  "typeCast("
+                              Name 12  "builtinAngleTrigFuncs("
+                              Name 14  "builtinExpFuncs("
+                              Name 16  "builtinCommonFuncs("
+                              Name 18  "builtinGeometryFuncs("
+                              Name 20  "builtinMatrixFuncs("
+                              Name 22  "builtinVecRelFuncs("
+                              Name 24  "builtinFragProcFuncs("
+                              Name 29  "f32v"
+                              Name 40  "f32v"
+                              Name 62  "f32m"
+                              Name 85  "f32"
+                              Name 109  "b"
+                              Name 152  "f64v"
+                              Name 155  "f32v"
+                              Name 160  "bv"
+                              Name 175  "f16v"
+                              Name 183  "i8v"
+                              Name 189  "i16v"
+                              Name 195  "i32v"
+                              Name 201  "i64v"
+                              Name 204  "u8v"
+                              Name 208  "u16v"
+                              Name 213  "u32v"
+                              Name 219  "u64v"
+                              Name 224  "f32v2"
+                              Name 225  "f32v1"
+                              Name 257  "f32v2"
+                              Name 258  "f32v1"
+                              Name 274  "f32v2"
+                              Name 275  "f32v1"
+                              Name 296  "f32"
+                              Name 300  "f32v3"
+                              Name 340  "bv"
+                              Name 361  "b"
+                              Name 371  "iv"
+                              Name 372  "ResType"
+                              Name 379  "f32"
+                              Name 380  "f32v1"
+                              Name 384  "f32v2"
+                              Name 390  "f32v3"
+                              Name 409  "f32m3"
+                              Name 410  "f32m1"
+                              Name 412  "f32m2"
+                              Name 421  "f32v1"
+                              Name 423  "f32v2"
+                              Name 428  "f32m4"
+                              Name 431  "f32"
+                              Name 434  "f32m5"
+                              Name 439  "f32m6"
+                              Name 440  "f32m7"
+                              Name 443  "bv"
+                              Name 444  "f32v1"
+                              Name 446  "f32v2"
+                              Name 464  "f32v"
+                              Name 466  "if32v"
+                              Name 515  "S"
+                              MemberName 515(S) 0  "x"
+                              MemberName 515(S) 1  "y"
+                              MemberName 515(S) 2  "z"
+                              Name 517  "B1"
+                              MemberName 517(B1) 0  "a"
+                              MemberName 517(B1) 1  "b"
+                              MemberName 517(B1) 2  "c"
+                              MemberName 517(B1) 3  "d"
+                              MemberName 517(B1) 4  "e"
+                              MemberName 517(B1) 5  "f"
+                              MemberName 517(B1) 6  "g"
+                              MemberName 517(B1) 7  "h"
+                              Name 519  ""
+                              Name 520  "sf16"
+                              Name 521  "sf"
+                              Name 522  "sd"
+                              Decorate 513 ArrayStride 16
+                              Decorate 514 ArrayStride 32
+                              MemberDecorate 515(S) 0 Offset 0
+                              MemberDecorate 515(S) 1 Offset 8
+                              MemberDecorate 515(S) 2 Offset 16
+                              Decorate 516 ArrayStride 32
+                              MemberDecorate 517(B1) 0 Offset 0
+                              MemberDecorate 517(B1) 1 Offset 8
+                              MemberDecorate 517(B1) 2 Offset 16
+                              MemberDecorate 517(B1) 3 Offset 32
+                              MemberDecorate 517(B1) 4 ColMajor
+                              MemberDecorate 517(B1) 4 Offset 64
+                              MemberDecorate 517(B1) 4 MatrixStride 16
+                              MemberDecorate 517(B1) 5 ColMajor
+                              MemberDecorate 517(B1) 5 Offset 96
+                              MemberDecorate 517(B1) 5 MatrixStride 16
+                              MemberDecorate 517(B1) 6 Offset 160
+                              MemberDecorate 517(B1) 7 Offset 192
+                              Decorate 517(B1) Block
+                              Decorate 519 DescriptorSet 0
+                              Decorate 520(sf16) SpecId 100
+                              Decorate 521(sf) SpecId 101
+                              Decorate 522(sd) SpecId 102
+               2:             TypeVoid
+               3:             TypeFunction 2
+              26:             TypeFloat 32
+              27:             TypeVector 26(float) 2
+              28:             TypePointer Function 27(fvec2)
+              30:   26(float) Constant 897988541
+              31:             TypeInt 32 0
+              32:     31(int) Constant 0
+              33:             TypePointer Function 26(float)
+              35:   26(float) Constant 3196059648
+              36:   26(float) Constant 1022739087
+              37:   27(fvec2) ConstantComposite 35 36
+              54:   26(float) Constant 1065353216
+              60:             TypeMatrix 27(fvec2) 2
+              61:             TypePointer Function 60
+              88:     31(int) Constant 1
+             107:             TypeBool
+             108:             TypePointer Function 107(bool)
+             149:             TypeFloat 64
+             150:             TypeVector 149(float) 3
+             151:             TypePointer Function 150(fvec3)
+             153:             TypeVector 26(float) 3
+             154:             TypePointer Function 153(fvec3)
+             158:             TypeVector 107(bool) 3
+             159:             TypePointer Function 158(bvec3)
+             162:   26(float) Constant 0
+             163:  153(fvec3) ConstantComposite 162 162 162
+             164:  153(fvec3) ConstantComposite 54 54 54
+             172:             TypeFloat 16
+             173:             TypeVector 172(float) 3
+             174:             TypePointer Function 173(fvec3)
+             180:             TypeInt 8 1
+             181:             TypeVector 180(int) 3
+             182:             TypePointer Function 181(ivec3)
+             186:             TypeInt 16 1
+             187:             TypeVector 186(int) 3
+             188:             TypePointer Function 187(ivec3)
+             192:             TypeInt 32 1
+             193:             TypeVector 192(int) 3
+             194:             TypePointer Function 193(ivec3)
+             198:             TypeInt 64 1
+             199:             TypeVector 198(int) 3
+             200:             TypePointer Function 199(ivec3)
+             207:             TypeInt 16 0
+             211:             TypeVector 31(int) 3
+             212:             TypePointer Function 211(ivec3)
+             216:             TypeInt 64 0
+             217:             TypeVector 216(int) 3
+             218:             TypePointer Function 217(ivec3)
+             222:             TypeVector 26(float) 4
+             223:             TypePointer Function 222(fvec4)
+    372(ResType):             TypeStruct 153(fvec3) 193(ivec3)
+             407:             TypeMatrix 153(fvec3) 2
+             408:             TypePointer Function 407
+             426:             TypeMatrix 27(fvec2) 3
+             427:             TypePointer Function 426
+             432:             TypeMatrix 153(fvec3) 3
+             433:             TypePointer Function 432
+             437:             TypeMatrix 222(fvec4) 4
+             438:             TypePointer Function 437
+             465:             TypePointer Input 153(fvec3)
+      466(if32v):    465(ptr) Variable Input
+             467:             TypePointer Input 26(float)
+             504:    192(int) Constant 1
+             509:   26(float) Constant 1056964608
+             510:   27(fvec2) ConstantComposite 509 509
+             512:     31(int) Constant 2
+             513:             TypeArray 26(float) 512
+             514:             TypeArray 407 512
+          515(S):             TypeStruct 26(float) 27(fvec2) 153(fvec3)
+             516:             TypeArray 515(S) 512
+         517(B1):             TypeStruct 26(float) 27(fvec2) 153(fvec3) 513 407 514 515(S) 516
+             518:             TypePointer Uniform 517(B1)
+             519:    518(ptr) Variable Uniform
+       520(sf16):  172(float) SpecConstant 12288
+         521(sf):   26(float) SpecConstant 1048576000
+         522(sd):  149(float) SpecConstant 0 1071644672
+             523:   26(float) SpecConstantOp 115 520(sf16)
+             524:   26(float) SpecConstantOp 115 520(sf16)
+             525:  149(float) SpecConstantOp 115 524
+             526:  172(float) SpecConstantOp 115 521(sf)
+             527:  172(float) SpecConstantOp 115 522(sd)
+         4(main):           2 Function None 3
+               5:             Label
+                              Return
+                              FunctionEnd
+     6(literal():           2 Function None 3
+               7:             Label
+        29(f32v):     28(ptr) Variable Function
+              34:     33(ptr) AccessChain 29(f32v) 32
+                              Store 34 30
+              38:   27(fvec2) Load 29(f32v)
+              39:   27(fvec2) FAdd 38 37
+                              Store 29(f32v) 39
+                              Return
+                              FunctionEnd
+   8(operators():           2 Function None 3
+               9:             Label
+        40(f32v):     28(ptr) Variable Function
+        62(f32m):     61(ptr) Variable Function
+         85(f32):     33(ptr) Variable Function
+          109(b):    108(ptr) Variable Function
+              41:   27(fvec2) Load 40(f32v)
+              42:   27(fvec2) Load 40(f32v)
+              43:   27(fvec2) FAdd 42 41
+                              Store 40(f32v) 43
+              44:   27(fvec2) Load 40(f32v)
+              45:   27(fvec2) Load 40(f32v)
+              46:   27(fvec2) FSub 45 44
+                              Store 40(f32v) 46
+              47:   27(fvec2) Load 40(f32v)
+              48:   27(fvec2) Load 40(f32v)
+              49:   27(fvec2) FMul 48 47
+                              Store 40(f32v) 49
+              50:   27(fvec2) Load 40(f32v)
+              51:   27(fvec2) Load 40(f32v)
+              52:   27(fvec2) FDiv 51 50
+                              Store 40(f32v) 52
+              53:   27(fvec2) Load 40(f32v)
+              55:   27(fvec2) CompositeConstruct 54 54
+              56:   27(fvec2) FAdd 53 55
+                              Store 40(f32v) 56
+              57:   27(fvec2) Load 40(f32v)
+              58:   27(fvec2) CompositeConstruct 54 54
+              59:   27(fvec2) FSub 57 58
+                              Store 40(f32v) 59
+              63:          60 Load 62(f32m)
+              64:   27(fvec2) CompositeConstruct 54 54
+              65:   27(fvec2) CompositeExtract 63 0
+              66:   27(fvec2) FAdd 65 64
+              67:   27(fvec2) CompositeExtract 63 1
+              68:   27(fvec2) FAdd 67 64
+              69:          60 CompositeConstruct 66 68
+                              Store 62(f32m) 69
+              70:          60 Load 62(f32m)
+              71:   27(fvec2) CompositeConstruct 54 54
+              72:   27(fvec2) CompositeExtract 70 0
+              73:   27(fvec2) FSub 72 71
+              74:   27(fvec2) CompositeExtract 70 1
+              75:   27(fvec2) FSub 74 71
+              76:          60 CompositeConstruct 73 75
+                              Store 62(f32m) 76
+              77:   27(fvec2) Load 40(f32v)
+              78:   27(fvec2) FNegate 77
+                              Store 40(f32v) 78
+              79:          60 Load 62(f32m)
+              80:   27(fvec2) CompositeExtract 79 0
+              81:   27(fvec2) FNegate 80
+              82:   27(fvec2) CompositeExtract 79 1
+              83:   27(fvec2) FNegate 82
+              84:          60 CompositeConstruct 81 83
+                              Store 62(f32m) 84
+              86:     33(ptr) AccessChain 40(f32v) 32
+              87:   26(float) Load 86
+              89:     33(ptr) AccessChain 40(f32v) 88
+              90:   26(float) Load 89
+              91:   26(float) FAdd 87 90
+                              Store 85(f32) 91
+              92:     33(ptr) AccessChain 40(f32v) 32
+              93:   26(float) Load 92
+              94:     33(ptr) AccessChain 40(f32v) 88
+              95:   26(float) Load 94
+              96:   26(float) FSub 93 95
+                              Store 85(f32) 96
+              97:     33(ptr) AccessChain 40(f32v) 32
+              98:   26(float) Load 97
+              99:     33(ptr) AccessChain 40(f32v) 88
+             100:   26(float) Load 99
+             101:   26(float) FMul 98 100
+                              Store 85(f32) 101
+             102:     33(ptr) AccessChain 40(f32v) 32
+             103:   26(float) Load 102
+             104:     33(ptr) AccessChain 40(f32v) 88
+             105:   26(float) Load 104
+             106:   26(float) FDiv 103 105
+                              Store 85(f32) 106
+             110:     33(ptr) AccessChain 40(f32v) 32
+             111:   26(float) Load 110
+             112:   26(float) Load 85(f32)
+             113:   107(bool) FOrdNotEqual 111 112
+                              Store 109(b) 113
+             114:     33(ptr) AccessChain 40(f32v) 88
+             115:   26(float) Load 114
+             116:   26(float) Load 85(f32)
+             117:   107(bool) FOrdEqual 115 116
+                              Store 109(b) 117
+             118:     33(ptr) AccessChain 40(f32v) 32
+             119:   26(float) Load 118
+             120:   26(float) Load 85(f32)
+             121:   107(bool) FOrdGreaterThan 119 120
+                              Store 109(b) 121
+             122:     33(ptr) AccessChain 40(f32v) 88
+             123:   26(float) Load 122
+             124:   26(float) Load 85(f32)
+             125:   107(bool) FOrdLessThan 123 124
+                              Store 109(b) 125
+             126:     33(ptr) AccessChain 40(f32v) 32
+             127:   26(float) Load 126
+             128:   26(float) Load 85(f32)
+             129:   107(bool) FOrdGreaterThanEqual 127 128
+                              Store 109(b) 129
+             130:     33(ptr) AccessChain 40(f32v) 88
+             131:   26(float) Load 130
+             132:   26(float) Load 85(f32)
+             133:   107(bool) FOrdLessThanEqual 131 132
+                              Store 109(b) 133
+             134:   27(fvec2) Load 40(f32v)
+             135:   26(float) Load 85(f32)
+             136:   27(fvec2) VectorTimesScalar 134 135
+                              Store 40(f32v) 136
+             137:          60 Load 62(f32m)
+             138:   26(float) Load 85(f32)
+             139:          60 MatrixTimesScalar 137 138
+                              Store 62(f32m) 139
+             140:          60 Load 62(f32m)
+             141:   27(fvec2) Load 40(f32v)
+             142:   27(fvec2) MatrixTimesVector 140 141
+                              Store 40(f32v) 142
+             143:   27(fvec2) Load 40(f32v)
+             144:          60 Load 62(f32m)
+             145:   27(fvec2) VectorTimesMatrix 143 144
+                              Store 40(f32v) 145
+             146:          60 Load 62(f32m)
+             147:          60 Load 62(f32m)
+             148:          60 MatrixTimesMatrix 146 147
+                              Store 62(f32m) 148
+                              Return
+                              FunctionEnd
+   10(typeCast():           2 Function None 3
+              11:             Label
+       152(f64v):    151(ptr) Variable Function
+       155(f32v):    154(ptr) Variable Function
+         160(bv):    159(ptr) Variable Function
+       175(f16v):    174(ptr) Variable Function
+        183(i8v):    182(ptr) Variable Function
+       189(i16v):    188(ptr) Variable Function
+       195(i32v):    194(ptr) Variable Function
+       201(i64v):    200(ptr) Variable Function
+        204(u8v):    182(ptr) Variable Function
+       208(u16v):    194(ptr) Variable Function
+       213(u32v):    212(ptr) Variable Function
+       219(u64v):    218(ptr) Variable Function
+             156:  153(fvec3) Load 155(f32v)
+             157:  150(fvec3) FConvert 156
+                              Store 152(f64v) 157
+             161:  158(bvec3) Load 160(bv)
+             165:  153(fvec3) Select 161 164 163
+                              Store 155(f32v) 165
+             166:  153(fvec3) Load 155(f32v)
+             167:  158(bvec3) FOrdNotEqual 166 163
+                              Store 160(bv) 167
+             168:  150(fvec3) Load 152(f64v)
+             169:  153(fvec3) FConvert 168
+                              Store 155(f32v) 169
+             170:  153(fvec3) Load 155(f32v)
+             171:  150(fvec3) FConvert 170
+                              Store 152(f64v) 171
+             176:  173(fvec3) Load 175(f16v)
+             177:  153(fvec3) FConvert 176
+                              Store 155(f32v) 177
+             178:  153(fvec3) Load 155(f32v)
+             179:  173(fvec3) FConvert 178
+                              Store 175(f16v) 179
+             184:  153(fvec3) Load 155(f32v)
+             185:  181(ivec3) ConvertFToS 184
+                              Store 183(i8v) 185
+             190:  153(fvec3) Load 155(f32v)
+             191:  187(ivec3) ConvertFToS 190
+                              Store 189(i16v) 191
+             196:  153(fvec3) Load 155(f32v)
+             197:  193(ivec3) ConvertFToS 196
+                              Store 195(i32v) 197
+             202:  153(fvec3) Load 155(f32v)
+             203:  199(ivec3) ConvertFToS 202
+                              Store 201(i64v) 203
+             205:  153(fvec3) Load 155(f32v)
+             206:  181(ivec3) ConvertFToS 205
+                              Store 204(u8v) 206
+             209:  153(fvec3) Load 155(f32v)
+             210:  193(ivec3) ConvertFToU 209
+                              Store 208(u16v) 210
+             214:  153(fvec3) Load 155(f32v)
+             215:  211(ivec3) ConvertFToU 214
+                              Store 213(u32v) 215
+             220:  153(fvec3) Load 155(f32v)
+             221:  217(ivec3) ConvertFToU 220
+                              Store 219(u64v) 221
+                              Return
+                              FunctionEnd
+12(builtinAngleTrigFuncs():           2 Function None 3
+              13:             Label
+      224(f32v2):    223(ptr) Variable Function
+      225(f32v1):    223(ptr) Variable Function
+             226:  222(fvec4) Load 225(f32v1)
+             227:  222(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 226
+                              Store 224(f32v2) 227
+             228:  222(fvec4) Load 225(f32v1)
+             229:  222(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 228
+                              Store 224(f32v2) 229
+             230:  222(fvec4) Load 225(f32v1)
+             231:  222(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 230
+                              Store 224(f32v2) 231
+             232:  222(fvec4) Load 225(f32v1)
+             233:  222(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 232
+                              Store 224(f32v2) 233
+             234:  222(fvec4) Load 225(f32v1)
+             235:  222(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 234
+                              Store 224(f32v2) 235
+             236:  222(fvec4) Load 225(f32v1)
+             237:  222(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 236
+                              Store 224(f32v2) 237
+             238:  222(fvec4) Load 225(f32v1)
+             239:  222(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 238
+                              Store 224(f32v2) 239
+             240:  222(fvec4) Load 225(f32v1)
+             241:  222(fvec4) Load 224(f32v2)
+             242:  222(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 240 241
+                              Store 224(f32v2) 242
+             243:  222(fvec4) Load 225(f32v1)
+             244:  222(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 243
+                              Store 224(f32v2) 244
+             245:  222(fvec4) Load 225(f32v1)
+             246:  222(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 245
+                              Store 224(f32v2) 246
+             247:  222(fvec4) Load 225(f32v1)
+             248:  222(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 247
+                              Store 224(f32v2) 248
+             249:  222(fvec4) Load 225(f32v1)
+             250:  222(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 249
+                              Store 224(f32v2) 250
+             251:  222(fvec4) Load 225(f32v1)
+             252:  222(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 251
+                              Store 224(f32v2) 252
+             253:  222(fvec4) Load 225(f32v1)
+             254:  222(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 253
+                              Store 224(f32v2) 254
+             255:  222(fvec4) Load 225(f32v1)
+             256:  222(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 255
+                              Store 224(f32v2) 256
+                              Return
+                              FunctionEnd
+14(builtinExpFuncs():           2 Function None 3
+              15:             Label
+      257(f32v2):     28(ptr) Variable Function
+      258(f32v1):     28(ptr) Variable Function
+             259:   27(fvec2) Load 258(f32v1)
+             260:   27(fvec2) Load 257(f32v2)
+             261:   27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 259 260
+                              Store 257(f32v2) 261
+             262:   27(fvec2) Load 258(f32v1)
+             263:   27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 262
+                              Store 257(f32v2) 263
+             264:   27(fvec2) Load 258(f32v1)
+             265:   27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 264
+                              Store 257(f32v2) 265
+             266:   27(fvec2) Load 258(f32v1)
+             267:   27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 266
+                              Store 257(f32v2) 267
+             268:   27(fvec2) Load 258(f32v1)
+             269:   27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 268
+                              Store 257(f32v2) 269
+             270:   27(fvec2) Load 258(f32v1)
+             271:   27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 270
+                              Store 257(f32v2) 271
+             272:   27(fvec2) Load 258(f32v1)
+             273:   27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 272
+                              Store 257(f32v2) 273
+                              Return
+                              FunctionEnd
+16(builtinCommonFuncs():           2 Function None 3
+              17:             Label
+      274(f32v2):    154(ptr) Variable Function
+      275(f32v1):    154(ptr) Variable Function
+        296(f32):     33(ptr) Variable Function
+      300(f32v3):    154(ptr) Variable Function
+         340(bv):    159(ptr) Variable Function
+          361(b):    108(ptr) Variable Function
+         371(iv):    194(ptr) Variable Function
+             276:  153(fvec3) Load 275(f32v1)
+             277:  153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 276
+                              Store 274(f32v2) 277
+             278:  153(fvec3) Load 275(f32v1)
+             279:  153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 278
+                              Store 274(f32v2) 279
+             280:  153(fvec3) Load 275(f32v1)
+             281:  153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 280
+                              Store 274(f32v2) 281
+             282:  153(fvec3) Load 275(f32v1)
+             283:  153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 282
+                              Store 274(f32v2) 283
+             284:  153(fvec3) Load 275(f32v1)
+             285:  153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 284
+                              Store 274(f32v2) 285
+             286:  153(fvec3) Load 275(f32v1)
+             287:  153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 286
+                              Store 274(f32v2) 287
+             288:  153(fvec3) Load 275(f32v1)
+             289:  153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 288
+                              Store 274(f32v2) 289
+             290:  153(fvec3) Load 275(f32v1)
+             291:  153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 290
+                              Store 274(f32v2) 291
+             292:  153(fvec3) Load 275(f32v1)
+             293:  153(fvec3) Load 274(f32v2)
+             294:  153(fvec3) FMod 292 293
+                              Store 274(f32v2) 294
+             295:  153(fvec3) Load 275(f32v1)
+             297:   26(float) Load 296(f32)
+             298:  153(fvec3) CompositeConstruct 297 297 297
+             299:  153(fvec3) FMod 295 298
+                              Store 274(f32v2) 299
+             301:  153(fvec3) Load 275(f32v1)
+             302:  153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 301 274(f32v2)
+                              Store 300(f32v3) 302
+             303:  153(fvec3) Load 275(f32v1)
+             304:  153(fvec3) Load 274(f32v2)
+             305:  153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 303 304
+                              Store 300(f32v3) 305
+             306:  153(fvec3) Load 275(f32v1)
+             307:   26(float) Load 296(f32)
+             308:  153(fvec3) CompositeConstruct 307 307 307
+             309:  153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 306 308
+                              Store 300(f32v3) 309
+             310:  153(fvec3) Load 275(f32v1)
+             311:  153(fvec3) Load 274(f32v2)
+             312:  153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 310 311
+                              Store 300(f32v3) 312
+             313:  153(fvec3) Load 275(f32v1)
+             314:   26(float) Load 296(f32)
+             315:  153(fvec3) CompositeConstruct 314 314 314
+             316:  153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 313 315
+                              Store 300(f32v3) 316
+             317:  153(fvec3) Load 275(f32v1)
+             318:   26(float) Load 296(f32)
+             319:     33(ptr) AccessChain 274(f32v2) 32
+             320:   26(float) Load 319
+             321:  153(fvec3) CompositeConstruct 318 318 318
+             322:  153(fvec3) CompositeConstruct 320 320 320
+             323:  153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 317 321 322
+                              Store 300(f32v3) 323
+             324:  153(fvec3) Load 275(f32v1)
+             325:  153(fvec3) Load 274(f32v2)
+             326:   26(float) Load 296(f32)
+             327:  153(fvec3) CompositeConstruct 326 326 326
+             328:  153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 324 325 327
+                              Store 300(f32v3) 328
+             329:  153(fvec3) Load 275(f32v1)
+             330:  153(fvec3) Load 274(f32v2)
+             331:   26(float) Load 296(f32)
+             332:  153(fvec3) CompositeConstruct 331 331 331
+             333:  153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 329 330 332
+                              Store 300(f32v3) 333
+             334:  153(fvec3) Load 275(f32v1)
+             335:  153(fvec3) Load 274(f32v2)
+             336:  153(fvec3) Load 300(f32v3)
+             337:  153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 334 335 336
+                              Store 300(f32v3) 337
+             338:  153(fvec3) Load 275(f32v1)
+             339:  153(fvec3) Load 274(f32v2)
+             341:  158(bvec3) Load 340(bv)
+             342:  153(fvec3) Select 341 339 338
+                              Store 300(f32v3) 342
+             343:  153(fvec3) Load 275(f32v1)
+             344:  153(fvec3) Load 274(f32v2)
+             345:  153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 343 344
+                              Store 300(f32v3) 345
+             346:   26(float) Load 296(f32)
+             347:  153(fvec3) Load 300(f32v3)
+             348:  153(fvec3) CompositeConstruct 346 346 346
+             349:  153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 348 347
+                              Store 300(f32v3) 349
+             350:  153(fvec3) Load 275(f32v1)
+             351:  153(fvec3) Load 274(f32v2)
+             352:  153(fvec3) Load 300(f32v3)
+             353:  153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 350 351 352
+                              Store 300(f32v3) 353
+             354:   26(float) Load 296(f32)
+             355:     33(ptr) AccessChain 275(f32v1) 32
+             356:   26(float) Load 355
+             357:  153(fvec3) Load 274(f32v2)
+             358:  153(fvec3) CompositeConstruct 354 354 354
+             359:  153(fvec3) CompositeConstruct 356 356 356
+             360:  153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 358 359 357
+                              Store 300(f32v3) 360
+             362:   26(float) Load 296(f32)
+             363:   107(bool) IsNan 362
+                              Store 361(b) 363
+             364:  153(fvec3) Load 275(f32v1)
+             365:  158(bvec3) IsInf 364
+                              Store 340(bv) 365
+             366:  153(fvec3) Load 275(f32v1)
+             367:  153(fvec3) Load 274(f32v2)
+             368:  153(fvec3) Load 300(f32v3)
+             369:  153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 366 367 368
+                              Store 300(f32v3) 369
+             370:  153(fvec3) Load 275(f32v1)
+             373:372(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 370
+             374:  193(ivec3) CompositeExtract 373 1
+                              Store 371(iv) 374
+             375:  153(fvec3) CompositeExtract 373 0
+                              Store 274(f32v2) 375
+             376:  153(fvec3) Load 275(f32v1)
+             377:  193(ivec3) Load 371(iv)
+             378:  153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 376 377
+                              Store 274(f32v2) 378
+                              Return
+                              FunctionEnd
+18(builtinGeometryFuncs():           2 Function None 3
+              19:             Label
+        379(f32):     33(ptr) Variable Function
+      380(f32v1):    154(ptr) Variable Function
+      384(f32v2):    154(ptr) Variable Function
+      390(f32v3):    154(ptr) Variable Function
+             381:  153(fvec3) Load 380(f32v1)
+             382:   26(float) ExtInst 1(GLSL.std.450) 66(Length) 381
+                              Store 379(f32) 382
+             383:  153(fvec3) Load 380(f32v1)
+             385:  153(fvec3) Load 384(f32v2)
+             386:   26(float) ExtInst 1(GLSL.std.450) 67(Distance) 383 385
+                              Store 379(f32) 386
+             387:  153(fvec3) Load 380(f32v1)
+             388:  153(fvec3) Load 384(f32v2)
+             389:   26(float) Dot 387 388
+                              Store 379(f32) 389
+             391:  153(fvec3) Load 380(f32v1)
+             392:  153(fvec3) Load 384(f32v2)
+             393:  153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 391 392
+                              Store 390(f32v3) 393
+             394:  153(fvec3) Load 380(f32v1)
+             395:  153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 394
+                              Store 384(f32v2) 395
+             396:  153(fvec3) Load 380(f32v1)
+             397:  153(fvec3) Load 384(f32v2)
+             398:  153(fvec3) Load 390(f32v3)
+             399:  153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 396 397 398
+                              Store 390(f32v3) 399
+             400:  153(fvec3) Load 380(f32v1)
+             401:  153(fvec3) Load 384(f32v2)
+             402:  153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 400 401
+                              Store 390(f32v3) 402
+             403:  153(fvec3) Load 380(f32v1)
+             404:  153(fvec3) Load 384(f32v2)
+             405:   26(float) Load 379(f32)
+             406:  153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 403 404 405
+                              Store 390(f32v3) 406
+                              Return
+                              FunctionEnd
+20(builtinMatrixFuncs():           2 Function None 3
+              21:             Label
+      409(f32m3):    408(ptr) Variable Function
+      410(f32m1):    408(ptr) Variable Function
+      412(f32m2):    408(ptr) Variable Function
+      421(f32v1):    154(ptr) Variable Function
+      423(f32v2):     28(ptr) Variable Function
+      428(f32m4):    427(ptr) Variable Function
+        431(f32):     33(ptr) Variable Function
+      434(f32m5):    433(ptr) Variable Function
+      439(f32m6):    438(ptr) Variable Function
+      440(f32m7):    438(ptr) Variable Function
+             411:         407 Load 410(f32m1)
+             413:         407 Load 412(f32m2)
+             414:  153(fvec3) CompositeExtract 411 0
+             415:  153(fvec3) CompositeExtract 413 0
+             416:  153(fvec3) FMul 414 415
+             417:  153(fvec3) CompositeExtract 411 1
+             418:  153(fvec3) CompositeExtract 413 1
+             419:  153(fvec3) FMul 417 418
+             420:         407 CompositeConstruct 416 419
+                              Store 409(f32m3) 420
+             422:  153(fvec3) Load 421(f32v1)
+             424:   27(fvec2) Load 423(f32v2)
+             425:         407 OuterProduct 422 424
+                              Store 410(f32m1) 425
+             429:         407 Load 410(f32m1)
+             430:         426 Transpose 429
+                              Store 428(f32m4) 430
+             435:         432 Load 434(f32m5)
+             436:   26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 435
+                              Store 431(f32) 436
+             441:         437 Load 440(f32m7)
+             442:         437 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 441
+                              Store 439(f32m6) 442
+                              Return
+                              FunctionEnd
+22(builtinVecRelFuncs():           2 Function None 3
+              23:             Label
+         443(bv):    159(ptr) Variable Function
+      444(f32v1):    154(ptr) Variable Function
+      446(f32v2):    154(ptr) Variable Function
+             445:  153(fvec3) Load 444(f32v1)
+             447:  153(fvec3) Load 446(f32v2)
+             448:  158(bvec3) FOrdLessThan 445 447
+                              Store 443(bv) 448
+             449:  153(fvec3) Load 444(f32v1)
+             450:  153(fvec3) Load 446(f32v2)
+             451:  158(bvec3) FOrdLessThanEqual 449 450
+                              Store 443(bv) 451
+             452:  153(fvec3) Load 444(f32v1)
+             453:  153(fvec3) Load 446(f32v2)
+             454:  158(bvec3) FOrdGreaterThan 452 453
+                              Store 443(bv) 454
+             455:  153(fvec3) Load 444(f32v1)
+             456:  153(fvec3) Load 446(f32v2)
+             457:  158(bvec3) FOrdGreaterThanEqual 455 456
+                              Store 443(bv) 457
+             458:  153(fvec3) Load 444(f32v1)
+             459:  153(fvec3) Load 446(f32v2)
+             460:  158(bvec3) FOrdEqual 458 459
+                              Store 443(bv) 460
+             461:  153(fvec3) Load 444(f32v1)
+             462:  153(fvec3) Load 446(f32v2)
+             463:  158(bvec3) FOrdNotEqual 461 462
+                              Store 443(bv) 463
+                              Return
+                              FunctionEnd
+24(builtinFragProcFuncs():           2 Function None 3
+              25:             Label
+       464(f32v):    154(ptr) Variable Function
+             468:    467(ptr) AccessChain 466(if32v) 32
+             469:   26(float) Load 468
+             470:   26(float) DPdx 469
+             471:     33(ptr) AccessChain 464(f32v) 32
+                              Store 471 470
+             472:    467(ptr) AccessChain 466(if32v) 88
+             473:   26(float) Load 472
+             474:   26(float) DPdy 473
+             475:     33(ptr) AccessChain 464(f32v) 88
+                              Store 475 474
+             476:  153(fvec3) Load 466(if32v)
+             477:   27(fvec2) VectorShuffle 476 476 0 1
+             478:   27(fvec2) DPdxFine 477
+             479:  153(fvec3) Load 464(f32v)
+             480:  153(fvec3) VectorShuffle 479 478 3 4 2
+                              Store 464(f32v) 480
+             481:  153(fvec3) Load 466(if32v)
+             482:   27(fvec2) VectorShuffle 481 481 0 1
+             483:   27(fvec2) DPdyFine 482
+             484:  153(fvec3) Load 464(f32v)
+             485:  153(fvec3) VectorShuffle 484 483 3 4 2
+                              Store 464(f32v) 485
+             486:  153(fvec3) Load 466(if32v)
+             487:  153(fvec3) DPdxCoarse 486
+                              Store 464(f32v) 487
+             488:  153(fvec3) Load 466(if32v)
+             489:  153(fvec3) DPdxCoarse 488
+                              Store 464(f32v) 489
+             490:    467(ptr) AccessChain 466(if32v) 32
+             491:   26(float) Load 490
+             492:   26(float) Fwidth 491
+             493:     33(ptr) AccessChain 464(f32v) 32
+                              Store 493 492
+             494:  153(fvec3) Load 466(if32v)
+             495:   27(fvec2) VectorShuffle 494 494 0 1
+             496:   27(fvec2) FwidthFine 495
+             497:  153(fvec3) Load 464(f32v)
+             498:  153(fvec3) VectorShuffle 497 496 3 4 2
+                              Store 464(f32v) 498
+             499:  153(fvec3) Load 466(if32v)
+             500:  153(fvec3) FwidthCoarse 499
+                              Store 464(f32v) 500
+             501:    467(ptr) AccessChain 466(if32v) 32
+             502:   26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 501
+             503:     33(ptr) AccessChain 464(f32v) 32
+                              Store 503 502
+             505:  153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 466(if32v) 504
+             506:   27(fvec2) VectorShuffle 505 505 0 1
+             507:  153(fvec3) Load 464(f32v)
+             508:  153(fvec3) VectorShuffle 507 506 3 4 2
+                              Store 464(f32v) 508
+             511:  153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 466(if32v) 510
+                              Store 464(f32v) 511
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out
new file mode 100644
index 0000000..bee2068
--- /dev/null
+++ b/Test/baseResults/spv.float64.frag.out
@@ -0,0 +1,788 @@
+spv.float64.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 519
+
+                              Capability Shader
+                              Capability Float16
+                              Capability Float64
+                              Capability Int64
+                              Capability Int16
+                              Capability Int8
+                              Capability DerivativeControl
+                              Capability InterpolationFunction
+                              Extension  "SPV_AMD_gpu_shader_half_float"
+                              Extension  "SPV_AMD_gpu_shader_int16"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 456
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int8"
+                              Name 4  "main"
+                              Name 6  "literal("
+                              Name 8  "operators("
+                              Name 10  "typeCast("
+                              Name 12  "builtinAngleTrigFuncs("
+                              Name 14  "builtinExpFuncs("
+                              Name 16  "builtinCommonFuncs("
+                              Name 18  "builtinGeometryFuncs("
+                              Name 20  "builtinMatrixFuncs("
+                              Name 22  "builtinVecRelFuncs("
+                              Name 24  "builtinFragProcFuncs("
+                              Name 29  "f64v"
+                              Name 40  "f64v"
+                              Name 62  "f64m"
+                              Name 85  "f64"
+                              Name 109  "b"
+                              Name 151  "f64v"
+                              Name 154  "bv"
+                              Name 165  "f16v"
+                              Name 173  "i8v"
+                              Name 179  "i16v"
+                              Name 185  "i32v"
+                              Name 191  "i64v"
+                              Name 194  "u8v"
+                              Name 198  "u16v"
+                              Name 203  "u32v"
+                              Name 209  "u64v"
+                              Name 214  "f64v2"
+                              Name 215  "f64v1"
+                              Name 247  "f64v2"
+                              Name 248  "f64v1"
+                              Name 264  "f64v2"
+                              Name 265  "f64v1"
+                              Name 286  "f64"
+                              Name 290  "f64v3"
+                              Name 330  "bv"
+                              Name 351  "b"
+                              Name 361  "iv"
+                              Name 362  "ResType"
+                              Name 369  "f64"
+                              Name 370  "f64v1"
+                              Name 374  "f64v2"
+                              Name 380  "f64v3"
+                              Name 399  "f64m3"
+                              Name 400  "f64m1"
+                              Name 402  "f64m2"
+                              Name 411  "f64v1"
+                              Name 413  "f64v2"
+                              Name 418  "f64m4"
+                              Name 421  "f64"
+                              Name 424  "f64m5"
+                              Name 429  "f64m6"
+                              Name 430  "f64m7"
+                              Name 433  "bv"
+                              Name 434  "f64v1"
+                              Name 436  "f64v2"
+                              Name 454  "f64v"
+                              Name 456  "if64v"
+                              Name 505  "S"
+                              MemberName 505(S) 0  "x"
+                              MemberName 505(S) 1  "y"
+                              MemberName 505(S) 2  "z"
+                              Name 507  "B1"
+                              MemberName 507(B1) 0  "a"
+                              MemberName 507(B1) 1  "b"
+                              MemberName 507(B1) 2  "c"
+                              MemberName 507(B1) 3  "d"
+                              MemberName 507(B1) 4  "e"
+                              MemberName 507(B1) 5  "f"
+                              MemberName 507(B1) 6  "g"
+                              MemberName 507(B1) 7  "h"
+                              Name 509  ""
+                              Name 510  "sf16"
+                              Name 512  "sf"
+                              Name 513  "sd"
+                              Decorate 456(if64v) Flat
+                              Decorate 503 ArrayStride 16
+                              Decorate 504 ArrayStride 64
+                              MemberDecorate 505(S) 0 Offset 0
+                              MemberDecorate 505(S) 1 Offset 16
+                              MemberDecorate 505(S) 2 Offset 32
+                              Decorate 506 ArrayStride 64
+                              MemberDecorate 507(B1) 0 Offset 0
+                              MemberDecorate 507(B1) 1 Offset 16
+                              MemberDecorate 507(B1) 2 Offset 32
+                              MemberDecorate 507(B1) 3 Offset 64
+                              MemberDecorate 507(B1) 4 ColMajor
+                              MemberDecorate 507(B1) 4 Offset 96
+                              MemberDecorate 507(B1) 4 MatrixStride 32
+                              MemberDecorate 507(B1) 5 ColMajor
+                              MemberDecorate 507(B1) 5 Offset 160
+                              MemberDecorate 507(B1) 5 MatrixStride 32
+                              MemberDecorate 507(B1) 6 Offset 288
+                              MemberDecorate 507(B1) 7 Offset 352
+                              Decorate 507(B1) Block
+                              Decorate 509 DescriptorSet 0
+                              Decorate 510(sf16) SpecId 100
+                              Decorate 512(sf) SpecId 101
+                              Decorate 513(sd) SpecId 102
+               2:             TypeVoid
+               3:             TypeFunction 2
+              26:             TypeFloat 64
+              27:             TypeVector 26(float) 2
+              28:             TypePointer Function 27(fvec2)
+              30:   26(float) Constant 2696277389 1051772663
+              31:             TypeInt 32 0
+              32:     31(int) Constant 0
+              33:             TypePointer Function 26(float)
+              35:   26(float) Constant 0 3218079744
+              36:   26(float) Constant 3951369912 1067366481
+              37:   27(fvec2) ConstantComposite 35 36
+              54:   26(float) Constant 0 1072693248
+              60:             TypeMatrix 27(fvec2) 2
+              61:             TypePointer Function 60
+              88:     31(int) Constant 1
+             107:             TypeBool
+             108:             TypePointer Function 107(bool)
+             149:             TypeVector 26(float) 3
+             150:             TypePointer Function 149(fvec3)
+             152:             TypeVector 107(bool) 3
+             153:             TypePointer Function 152(bvec3)
+             156:   26(float) Constant 0 0
+             157:  149(fvec3) ConstantComposite 156 156 156
+             158:  149(fvec3) ConstantComposite 54 54 54
+             162:             TypeFloat 16
+             163:             TypeVector 162(float) 3
+             164:             TypePointer Function 163(fvec3)
+             170:             TypeInt 8 1
+             171:             TypeVector 170(int) 3
+             172:             TypePointer Function 171(ivec3)
+             176:             TypeInt 16 1
+             177:             TypeVector 176(int) 3
+             178:             TypePointer Function 177(ivec3)
+             182:             TypeInt 32 1
+             183:             TypeVector 182(int) 3
+             184:             TypePointer Function 183(ivec3)
+             188:             TypeInt 64 1
+             189:             TypeVector 188(int) 3
+             190:             TypePointer Function 189(ivec3)
+             197:             TypeInt 16 0
+             201:             TypeVector 31(int) 3
+             202:             TypePointer Function 201(ivec3)
+             206:             TypeInt 64 0
+             207:             TypeVector 206(int) 3
+             208:             TypePointer Function 207(ivec3)
+             212:             TypeVector 26(float) 4
+             213:             TypePointer Function 212(fvec4)
+    362(ResType):             TypeStruct 149(fvec3) 183(ivec3)
+             397:             TypeMatrix 149(fvec3) 2
+             398:             TypePointer Function 397
+             416:             TypeMatrix 27(fvec2) 3
+             417:             TypePointer Function 416
+             422:             TypeMatrix 149(fvec3) 3
+             423:             TypePointer Function 422
+             427:             TypeMatrix 212(fvec4) 4
+             428:             TypePointer Function 427
+             455:             TypePointer Input 149(fvec3)
+      456(if64v):    455(ptr) Variable Input
+             457:             TypePointer Input 26(float)
+             494:    182(int) Constant 1
+             499:   26(float) Constant 0 1071644672
+             500:   27(fvec2) ConstantComposite 499 499
+             502:     31(int) Constant 2
+             503:             TypeArray 26(float) 502
+             504:             TypeArray 397 502
+          505(S):             TypeStruct 26(float) 27(fvec2) 149(fvec3)
+             506:             TypeArray 505(S) 502
+         507(B1):             TypeStruct 26(float) 27(fvec2) 149(fvec3) 503 397 504 505(S) 506
+             508:             TypePointer Uniform 507(B1)
+             509:    508(ptr) Variable Uniform
+       510(sf16):  162(float) SpecConstant 12288
+             511:             TypeFloat 32
+         512(sf):  511(float) SpecConstant 1048576000
+         513(sd):   26(float) SpecConstant 0 1071644672
+             514:  511(float) SpecConstantOp 115 510(sf16)
+             515:  511(float) SpecConstantOp 115 510(sf16)
+             516:   26(float) SpecConstantOp 115 515
+             517:  162(float) SpecConstantOp 115 512(sf)
+             518:  162(float) SpecConstantOp 115 513(sd)
+         4(main):           2 Function None 3
+               5:             Label
+                              Return
+                              FunctionEnd
+     6(literal():           2 Function None 3
+               7:             Label
+        29(f64v):     28(ptr) Variable Function
+              34:     33(ptr) AccessChain 29(f64v) 32
+                              Store 34 30
+              38:   27(fvec2) Load 29(f64v)
+              39:   27(fvec2) FAdd 38 37
+                              Store 29(f64v) 39
+                              Return
+                              FunctionEnd
+   8(operators():           2 Function None 3
+               9:             Label
+        40(f64v):     28(ptr) Variable Function
+        62(f64m):     61(ptr) Variable Function
+         85(f64):     33(ptr) Variable Function
+          109(b):    108(ptr) Variable Function
+              41:   27(fvec2) Load 40(f64v)
+              42:   27(fvec2) Load 40(f64v)
+              43:   27(fvec2) FAdd 42 41
+                              Store 40(f64v) 43
+              44:   27(fvec2) Load 40(f64v)
+              45:   27(fvec2) Load 40(f64v)
+              46:   27(fvec2) FSub 45 44
+                              Store 40(f64v) 46
+              47:   27(fvec2) Load 40(f64v)
+              48:   27(fvec2) Load 40(f64v)
+              49:   27(fvec2) FMul 48 47
+                              Store 40(f64v) 49
+              50:   27(fvec2) Load 40(f64v)
+              51:   27(fvec2) Load 40(f64v)
+              52:   27(fvec2) FDiv 51 50
+                              Store 40(f64v) 52
+              53:   27(fvec2) Load 40(f64v)
+              55:   27(fvec2) CompositeConstruct 54 54
+              56:   27(fvec2) FAdd 53 55
+                              Store 40(f64v) 56
+              57:   27(fvec2) Load 40(f64v)
+              58:   27(fvec2) CompositeConstruct 54 54
+              59:   27(fvec2) FSub 57 58
+                              Store 40(f64v) 59
+              63:          60 Load 62(f64m)
+              64:   27(fvec2) CompositeConstruct 54 54
+              65:   27(fvec2) CompositeExtract 63 0
+              66:   27(fvec2) FAdd 65 64
+              67:   27(fvec2) CompositeExtract 63 1
+              68:   27(fvec2) FAdd 67 64
+              69:          60 CompositeConstruct 66 68
+                              Store 62(f64m) 69
+              70:          60 Load 62(f64m)
+              71:   27(fvec2) CompositeConstruct 54 54
+              72:   27(fvec2) CompositeExtract 70 0
+              73:   27(fvec2) FSub 72 71
+              74:   27(fvec2) CompositeExtract 70 1
+              75:   27(fvec2) FSub 74 71
+              76:          60 CompositeConstruct 73 75
+                              Store 62(f64m) 76
+              77:   27(fvec2) Load 40(f64v)
+              78:   27(fvec2) FNegate 77
+                              Store 40(f64v) 78
+              79:          60 Load 62(f64m)
+              80:   27(fvec2) CompositeExtract 79 0
+              81:   27(fvec2) FNegate 80
+              82:   27(fvec2) CompositeExtract 79 1
+              83:   27(fvec2) FNegate 82
+              84:          60 CompositeConstruct 81 83
+                              Store 62(f64m) 84
+              86:     33(ptr) AccessChain 40(f64v) 32
+              87:   26(float) Load 86
+              89:     33(ptr) AccessChain 40(f64v) 88
+              90:   26(float) Load 89
+              91:   26(float) FAdd 87 90
+                              Store 85(f64) 91
+              92:     33(ptr) AccessChain 40(f64v) 32
+              93:   26(float) Load 92
+              94:     33(ptr) AccessChain 40(f64v) 88
+              95:   26(float) Load 94
+              96:   26(float) FSub 93 95
+                              Store 85(f64) 96
+              97:     33(ptr) AccessChain 40(f64v) 32
+              98:   26(float) Load 97
+              99:     33(ptr) AccessChain 40(f64v) 88
+             100:   26(float) Load 99
+             101:   26(float) FMul 98 100
+                              Store 85(f64) 101
+             102:     33(ptr) AccessChain 40(f64v) 32
+             103:   26(float) Load 102
+             104:     33(ptr) AccessChain 40(f64v) 88
+             105:   26(float) Load 104
+             106:   26(float) FDiv 103 105
+                              Store 85(f64) 106
+             110:     33(ptr) AccessChain 40(f64v) 32
+             111:   26(float) Load 110
+             112:   26(float) Load 85(f64)
+             113:   107(bool) FOrdNotEqual 111 112
+                              Store 109(b) 113
+             114:     33(ptr) AccessChain 40(f64v) 88
+             115:   26(float) Load 114
+             116:   26(float) Load 85(f64)
+             117:   107(bool) FOrdEqual 115 116
+                              Store 109(b) 117
+             118:     33(ptr) AccessChain 40(f64v) 32
+             119:   26(float) Load 118
+             120:   26(float) Load 85(f64)
+             121:   107(bool) FOrdGreaterThan 119 120
+                              Store 109(b) 121
+             122:     33(ptr) AccessChain 40(f64v) 88
+             123:   26(float) Load 122
+             124:   26(float) Load 85(f64)
+             125:   107(bool) FOrdLessThan 123 124
+                              Store 109(b) 125
+             126:     33(ptr) AccessChain 40(f64v) 32
+             127:   26(float) Load 126
+             128:   26(float) Load 85(f64)
+             129:   107(bool) FOrdGreaterThanEqual 127 128
+                              Store 109(b) 129
+             130:     33(ptr) AccessChain 40(f64v) 88
+             131:   26(float) Load 130
+             132:   26(float) Load 85(f64)
+             133:   107(bool) FOrdLessThanEqual 131 132
+                              Store 109(b) 133
+             134:   27(fvec2) Load 40(f64v)
+             135:   26(float) Load 85(f64)
+             136:   27(fvec2) VectorTimesScalar 134 135
+                              Store 40(f64v) 136
+             137:          60 Load 62(f64m)
+             138:   26(float) Load 85(f64)
+             139:          60 MatrixTimesScalar 137 138
+                              Store 62(f64m) 139
+             140:          60 Load 62(f64m)
+             141:   27(fvec2) Load 40(f64v)
+             142:   27(fvec2) MatrixTimesVector 140 141
+                              Store 40(f64v) 142
+             143:   27(fvec2) Load 40(f64v)
+             144:          60 Load 62(f64m)
+             145:   27(fvec2) VectorTimesMatrix 143 144
+                              Store 40(f64v) 145
+             146:          60 Load 62(f64m)
+             147:          60 Load 62(f64m)
+             148:          60 MatrixTimesMatrix 146 147
+                              Store 62(f64m) 148
+                              Return
+                              FunctionEnd
+   10(typeCast():           2 Function None 3
+              11:             Label
+       151(f64v):    150(ptr) Variable Function
+         154(bv):    153(ptr) Variable Function
+       165(f16v):    164(ptr) Variable Function
+        173(i8v):    172(ptr) Variable Function
+       179(i16v):    178(ptr) Variable Function
+       185(i32v):    184(ptr) Variable Function
+       191(i64v):    190(ptr) Variable Function
+        194(u8v):    172(ptr) Variable Function
+       198(u16v):    184(ptr) Variable Function
+       203(u32v):    202(ptr) Variable Function
+       209(u64v):    208(ptr) Variable Function
+             155:  152(bvec3) Load 154(bv)
+             159:  149(fvec3) Select 155 158 157
+                              Store 151(f64v) 159
+             160:  149(fvec3) Load 151(f64v)
+             161:  152(bvec3) FOrdNotEqual 160 157
+                              Store 154(bv) 161
+             166:  163(fvec3) Load 165(f16v)
+             167:  149(fvec3) FConvert 166
+                              Store 151(f64v) 167
+             168:  149(fvec3) Load 151(f64v)
+             169:  163(fvec3) FConvert 168
+                              Store 165(f16v) 169
+             174:  149(fvec3) Load 151(f64v)
+             175:  171(ivec3) ConvertFToS 174
+                              Store 173(i8v) 175
+             180:  149(fvec3) Load 151(f64v)
+             181:  177(ivec3) ConvertFToS 180
+                              Store 179(i16v) 181
+             186:  149(fvec3) Load 151(f64v)
+             187:  183(ivec3) ConvertFToS 186
+                              Store 185(i32v) 187
+             192:  149(fvec3) Load 151(f64v)
+             193:  189(ivec3) ConvertFToS 192
+                              Store 191(i64v) 193
+             195:  149(fvec3) Load 151(f64v)
+             196:  171(ivec3) ConvertFToS 195
+                              Store 194(u8v) 196
+             199:  149(fvec3) Load 151(f64v)
+             200:  183(ivec3) ConvertFToU 199
+                              Store 198(u16v) 200
+             204:  149(fvec3) Load 151(f64v)
+             205:  201(ivec3) ConvertFToU 204
+                              Store 203(u32v) 205
+             210:  149(fvec3) Load 151(f64v)
+             211:  207(ivec3) ConvertFToU 210
+                              Store 209(u64v) 211
+                              Return
+                              FunctionEnd
+12(builtinAngleTrigFuncs():           2 Function None 3
+              13:             Label
+      214(f64v2):    213(ptr) Variable Function
+      215(f64v1):    213(ptr) Variable Function
+             216:  212(fvec4) Load 215(f64v1)
+             217:  212(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 216
+                              Store 214(f64v2) 217
+             218:  212(fvec4) Load 215(f64v1)
+             219:  212(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 218
+                              Store 214(f64v2) 219
+             220:  212(fvec4) Load 215(f64v1)
+             221:  212(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 220
+                              Store 214(f64v2) 221
+             222:  212(fvec4) Load 215(f64v1)
+             223:  212(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 222
+                              Store 214(f64v2) 223
+             224:  212(fvec4) Load 215(f64v1)
+             225:  212(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 224
+                              Store 214(f64v2) 225
+             226:  212(fvec4) Load 215(f64v1)
+             227:  212(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 226
+                              Store 214(f64v2) 227
+             228:  212(fvec4) Load 215(f64v1)
+             229:  212(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 228
+                              Store 214(f64v2) 229
+             230:  212(fvec4) Load 215(f64v1)
+             231:  212(fvec4) Load 214(f64v2)
+             232:  212(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 230 231
+                              Store 214(f64v2) 232
+             233:  212(fvec4) Load 215(f64v1)
+             234:  212(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 233
+                              Store 214(f64v2) 234
+             235:  212(fvec4) Load 215(f64v1)
+             236:  212(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 235
+                              Store 214(f64v2) 236
+             237:  212(fvec4) Load 215(f64v1)
+             238:  212(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 237
+                              Store 214(f64v2) 238
+             239:  212(fvec4) Load 215(f64v1)
+             240:  212(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 239
+                              Store 214(f64v2) 240
+             241:  212(fvec4) Load 215(f64v1)
+             242:  212(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 241
+                              Store 214(f64v2) 242
+             243:  212(fvec4) Load 215(f64v1)
+             244:  212(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 243
+                              Store 214(f64v2) 244
+             245:  212(fvec4) Load 215(f64v1)
+             246:  212(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 245
+                              Store 214(f64v2) 246
+                              Return
+                              FunctionEnd
+14(builtinExpFuncs():           2 Function None 3
+              15:             Label
+      247(f64v2):     28(ptr) Variable Function
+      248(f64v1):     28(ptr) Variable Function
+             249:   27(fvec2) Load 248(f64v1)
+             250:   27(fvec2) Load 247(f64v2)
+             251:   27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 249 250
+                              Store 247(f64v2) 251
+             252:   27(fvec2) Load 248(f64v1)
+             253:   27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 252
+                              Store 247(f64v2) 253
+             254:   27(fvec2) Load 248(f64v1)
+             255:   27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 254
+                              Store 247(f64v2) 255
+             256:   27(fvec2) Load 248(f64v1)
+             257:   27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 256
+                              Store 247(f64v2) 257
+             258:   27(fvec2) Load 248(f64v1)
+             259:   27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 258
+                              Store 247(f64v2) 259
+             260:   27(fvec2) Load 248(f64v1)
+             261:   27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 260
+                              Store 247(f64v2) 261
+             262:   27(fvec2) Load 248(f64v1)
+             263:   27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 262
+                              Store 247(f64v2) 263
+                              Return
+                              FunctionEnd
+16(builtinCommonFuncs():           2 Function None 3
+              17:             Label
+      264(f64v2):    150(ptr) Variable Function
+      265(f64v1):    150(ptr) Variable Function
+        286(f64):     33(ptr) Variable Function
+      290(f64v3):    150(ptr) Variable Function
+         330(bv):    153(ptr) Variable Function
+          351(b):    108(ptr) Variable Function
+         361(iv):    184(ptr) Variable Function
+             266:  149(fvec3) Load 265(f64v1)
+             267:  149(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 266
+                              Store 264(f64v2) 267
+             268:  149(fvec3) Load 265(f64v1)
+             269:  149(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 268
+                              Store 264(f64v2) 269
+             270:  149(fvec3) Load 265(f64v1)
+             271:  149(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 270
+                              Store 264(f64v2) 271
+             272:  149(fvec3) Load 265(f64v1)
+             273:  149(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 272
+                              Store 264(f64v2) 273
+             274:  149(fvec3) Load 265(f64v1)
+             275:  149(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 274
+                              Store 264(f64v2) 275
+             276:  149(fvec3) Load 265(f64v1)
+             277:  149(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 276
+                              Store 264(f64v2) 277
+             278:  149(fvec3) Load 265(f64v1)
+             279:  149(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 278
+                              Store 264(f64v2) 279
+             280:  149(fvec3) Load 265(f64v1)
+             281:  149(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 280
+                              Store 264(f64v2) 281
+             282:  149(fvec3) Load 265(f64v1)
+             283:  149(fvec3) Load 264(f64v2)
+             284:  149(fvec3) FMod 282 283
+                              Store 264(f64v2) 284
+             285:  149(fvec3) Load 265(f64v1)
+             287:   26(float) Load 286(f64)
+             288:  149(fvec3) CompositeConstruct 287 287 287
+             289:  149(fvec3) FMod 285 288
+                              Store 264(f64v2) 289
+             291:  149(fvec3) Load 265(f64v1)
+             292:  149(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 291 264(f64v2)
+                              Store 290(f64v3) 292
+             293:  149(fvec3) Load 265(f64v1)
+             294:  149(fvec3) Load 264(f64v2)
+             295:  149(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 293 294
+                              Store 290(f64v3) 295
+             296:  149(fvec3) Load 265(f64v1)
+             297:   26(float) Load 286(f64)
+             298:  149(fvec3) CompositeConstruct 297 297 297
+             299:  149(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 296 298
+                              Store 290(f64v3) 299
+             300:  149(fvec3) Load 265(f64v1)
+             301:  149(fvec3) Load 264(f64v2)
+             302:  149(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 300 301
+                              Store 290(f64v3) 302
+             303:  149(fvec3) Load 265(f64v1)
+             304:   26(float) Load 286(f64)
+             305:  149(fvec3) CompositeConstruct 304 304 304
+             306:  149(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 303 305
+                              Store 290(f64v3) 306
+             307:  149(fvec3) Load 265(f64v1)
+             308:   26(float) Load 286(f64)
+             309:     33(ptr) AccessChain 264(f64v2) 32
+             310:   26(float) Load 309
+             311:  149(fvec3) CompositeConstruct 308 308 308
+             312:  149(fvec3) CompositeConstruct 310 310 310
+             313:  149(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 307 311 312
+                              Store 290(f64v3) 313
+             314:  149(fvec3) Load 265(f64v1)
+             315:  149(fvec3) Load 264(f64v2)
+             316:   26(float) Load 286(f64)
+             317:  149(fvec3) CompositeConstruct 316 316 316
+             318:  149(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 314 315 317
+                              Store 290(f64v3) 318
+             319:  149(fvec3) Load 265(f64v1)
+             320:  149(fvec3) Load 264(f64v2)
+             321:   26(float) Load 286(f64)
+             322:  149(fvec3) CompositeConstruct 321 321 321
+             323:  149(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 319 320 322
+                              Store 290(f64v3) 323
+             324:  149(fvec3) Load 265(f64v1)
+             325:  149(fvec3) Load 264(f64v2)
+             326:  149(fvec3) Load 290(f64v3)
+             327:  149(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 324 325 326
+                              Store 290(f64v3) 327
+             328:  149(fvec3) Load 265(f64v1)
+             329:  149(fvec3) Load 264(f64v2)
+             331:  152(bvec3) Load 330(bv)
+             332:  149(fvec3) Select 331 329 328
+                              Store 290(f64v3) 332
+             333:  149(fvec3) Load 265(f64v1)
+             334:  149(fvec3) Load 264(f64v2)
+             335:  149(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 333 334
+                              Store 290(f64v3) 335
+             336:   26(float) Load 286(f64)
+             337:  149(fvec3) Load 290(f64v3)
+             338:  149(fvec3) CompositeConstruct 336 336 336
+             339:  149(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 338 337
+                              Store 290(f64v3) 339
+             340:  149(fvec3) Load 265(f64v1)
+             341:  149(fvec3) Load 264(f64v2)
+             342:  149(fvec3) Load 290(f64v3)
+             343:  149(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 340 341 342
+                              Store 290(f64v3) 343
+             344:   26(float) Load 286(f64)
+             345:     33(ptr) AccessChain 265(f64v1) 32
+             346:   26(float) Load 345
+             347:  149(fvec3) Load 264(f64v2)
+             348:  149(fvec3) CompositeConstruct 344 344 344
+             349:  149(fvec3) CompositeConstruct 346 346 346
+             350:  149(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 348 349 347
+                              Store 290(f64v3) 350
+             352:   26(float) Load 286(f64)
+             353:   107(bool) IsNan 352
+                              Store 351(b) 353
+             354:  149(fvec3) Load 265(f64v1)
+             355:  152(bvec3) IsInf 354
+                              Store 330(bv) 355
+             356:  149(fvec3) Load 265(f64v1)
+             357:  149(fvec3) Load 264(f64v2)
+             358:  149(fvec3) Load 290(f64v3)
+             359:  149(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 356 357 358
+                              Store 290(f64v3) 359
+             360:  149(fvec3) Load 265(f64v1)
+             363:362(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 360
+             364:  183(ivec3) CompositeExtract 363 1
+                              Store 361(iv) 364
+             365:  149(fvec3) CompositeExtract 363 0
+                              Store 264(f64v2) 365
+             366:  149(fvec3) Load 265(f64v1)
+             367:  183(ivec3) Load 361(iv)
+             368:  149(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 366 367
+                              Store 264(f64v2) 368
+                              Return
+                              FunctionEnd
+18(builtinGeometryFuncs():           2 Function None 3
+              19:             Label
+        369(f64):     33(ptr) Variable Function
+      370(f64v1):    150(ptr) Variable Function
+      374(f64v2):    150(ptr) Variable Function
+      380(f64v3):    150(ptr) Variable Function
+             371:  149(fvec3) Load 370(f64v1)
+             372:   26(float) ExtInst 1(GLSL.std.450) 66(Length) 371
+                              Store 369(f64) 372
+             373:  149(fvec3) Load 370(f64v1)
+             375:  149(fvec3) Load 374(f64v2)
+             376:   26(float) ExtInst 1(GLSL.std.450) 67(Distance) 373 375
+                              Store 369(f64) 376
+             377:  149(fvec3) Load 370(f64v1)
+             378:  149(fvec3) Load 374(f64v2)
+             379:   26(float) Dot 377 378
+                              Store 369(f64) 379
+             381:  149(fvec3) Load 370(f64v1)
+             382:  149(fvec3) Load 374(f64v2)
+             383:  149(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 381 382
+                              Store 380(f64v3) 383
+             384:  149(fvec3) Load 370(f64v1)
+             385:  149(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 384
+                              Store 374(f64v2) 385
+             386:  149(fvec3) Load 370(f64v1)
+             387:  149(fvec3) Load 374(f64v2)
+             388:  149(fvec3) Load 380(f64v3)
+             389:  149(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 386 387 388
+                              Store 380(f64v3) 389
+             390:  149(fvec3) Load 370(f64v1)
+             391:  149(fvec3) Load 374(f64v2)
+             392:  149(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 390 391
+                              Store 380(f64v3) 392
+             393:  149(fvec3) Load 370(f64v1)
+             394:  149(fvec3) Load 374(f64v2)
+             395:   26(float) Load 369(f64)
+             396:  149(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 393 394 395
+                              Store 380(f64v3) 396
+                              Return
+                              FunctionEnd
+20(builtinMatrixFuncs():           2 Function None 3
+              21:             Label
+      399(f64m3):    398(ptr) Variable Function
+      400(f64m1):    398(ptr) Variable Function
+      402(f64m2):    398(ptr) Variable Function
+      411(f64v1):    150(ptr) Variable Function
+      413(f64v2):     28(ptr) Variable Function
+      418(f64m4):    417(ptr) Variable Function
+        421(f64):     33(ptr) Variable Function
+      424(f64m5):    423(ptr) Variable Function
+      429(f64m6):    428(ptr) Variable Function
+      430(f64m7):    428(ptr) Variable Function
+             401:         397 Load 400(f64m1)
+             403:         397 Load 402(f64m2)
+             404:  149(fvec3) CompositeExtract 401 0
+             405:  149(fvec3) CompositeExtract 403 0
+             406:  149(fvec3) FMul 404 405
+             407:  149(fvec3) CompositeExtract 401 1
+             408:  149(fvec3) CompositeExtract 403 1
+             409:  149(fvec3) FMul 407 408
+             410:         397 CompositeConstruct 406 409
+                              Store 399(f64m3) 410
+             412:  149(fvec3) Load 411(f64v1)
+             414:   27(fvec2) Load 413(f64v2)
+             415:         397 OuterProduct 412 414
+                              Store 400(f64m1) 415
+             419:         397 Load 400(f64m1)
+             420:         416 Transpose 419
+                              Store 418(f64m4) 420
+             425:         422 Load 424(f64m5)
+             426:   26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 425
+                              Store 421(f64) 426
+             431:         427 Load 430(f64m7)
+             432:         427 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 431
+                              Store 429(f64m6) 432
+                              Return
+                              FunctionEnd
+22(builtinVecRelFuncs():           2 Function None 3
+              23:             Label
+         433(bv):    153(ptr) Variable Function
+      434(f64v1):    150(ptr) Variable Function
+      436(f64v2):    150(ptr) Variable Function
+             435:  149(fvec3) Load 434(f64v1)
+             437:  149(fvec3) Load 436(f64v2)
+             438:  152(bvec3) FOrdLessThan 435 437
+                              Store 433(bv) 438
+             439:  149(fvec3) Load 434(f64v1)
+             440:  149(fvec3) Load 436(f64v2)
+             441:  152(bvec3) FOrdLessThanEqual 439 440
+                              Store 433(bv) 441
+             442:  149(fvec3) Load 434(f64v1)
+             443:  149(fvec3) Load 436(f64v2)
+             444:  152(bvec3) FOrdGreaterThan 442 443
+                              Store 433(bv) 444
+             445:  149(fvec3) Load 434(f64v1)
+             446:  149(fvec3) Load 436(f64v2)
+             447:  152(bvec3) FOrdGreaterThanEqual 445 446
+                              Store 433(bv) 447
+             448:  149(fvec3) Load 434(f64v1)
+             449:  149(fvec3) Load 436(f64v2)
+             450:  152(bvec3) FOrdEqual 448 449
+                              Store 433(bv) 450
+             451:  149(fvec3) Load 434(f64v1)
+             452:  149(fvec3) Load 436(f64v2)
+             453:  152(bvec3) FOrdNotEqual 451 452
+                              Store 433(bv) 453
+                              Return
+                              FunctionEnd
+24(builtinFragProcFuncs():           2 Function None 3
+              25:             Label
+       454(f64v):    150(ptr) Variable Function
+             458:    457(ptr) AccessChain 456(if64v) 32
+             459:   26(float) Load 458
+             460:   26(float) DPdx 459
+             461:     33(ptr) AccessChain 454(f64v) 32
+                              Store 461 460
+             462:    457(ptr) AccessChain 456(if64v) 88
+             463:   26(float) Load 462
+             464:   26(float) DPdy 463
+             465:     33(ptr) AccessChain 454(f64v) 88
+                              Store 465 464
+             466:  149(fvec3) Load 456(if64v)
+             467:   27(fvec2) VectorShuffle 466 466 0 1
+             468:   27(fvec2) DPdxFine 467
+             469:  149(fvec3) Load 454(f64v)
+             470:  149(fvec3) VectorShuffle 469 468 3 4 2
+                              Store 454(f64v) 470
+             471:  149(fvec3) Load 456(if64v)
+             472:   27(fvec2) VectorShuffle 471 471 0 1
+             473:   27(fvec2) DPdyFine 472
+             474:  149(fvec3) Load 454(f64v)
+             475:  149(fvec3) VectorShuffle 474 473 3 4 2
+                              Store 454(f64v) 475
+             476:  149(fvec3) Load 456(if64v)
+             477:  149(fvec3) DPdxCoarse 476
+                              Store 454(f64v) 477
+             478:  149(fvec3) Load 456(if64v)
+             479:  149(fvec3) DPdxCoarse 478
+                              Store 454(f64v) 479
+             480:    457(ptr) AccessChain 456(if64v) 32
+             481:   26(float) Load 480
+             482:   26(float) Fwidth 481
+             483:     33(ptr) AccessChain 454(f64v) 32
+                              Store 483 482
+             484:  149(fvec3) Load 456(if64v)
+             485:   27(fvec2) VectorShuffle 484 484 0 1
+             486:   27(fvec2) FwidthFine 485
+             487:  149(fvec3) Load 454(f64v)
+             488:  149(fvec3) VectorShuffle 487 486 3 4 2
+                              Store 454(f64v) 488
+             489:  149(fvec3) Load 456(if64v)
+             490:  149(fvec3) FwidthCoarse 489
+                              Store 454(f64v) 490
+             491:    457(ptr) AccessChain 456(if64v) 32
+             492:   26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 491
+             493:     33(ptr) AccessChain 454(f64v) 32
+                              Store 493 492
+             495:  149(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 456(if64v) 494
+             496:   27(fvec2) VectorShuffle 495 495 0 1
+             497:  149(fvec3) Load 454(f64v)
+             498:  149(fvec3) VectorShuffle 497 496 3 4 2
+                              Store 454(f64v) 498
+             501:  149(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 456(if64v) 500
+                              Store 454(f64v) 501
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.int16.amd.frag.out b/Test/baseResults/spv.int16.amd.frag.out
new file mode 100644
index 0000000..b9949d1
--- /dev/null
+++ b/Test/baseResults/spv.int16.amd.frag.out
@@ -0,0 +1,776 @@
+spv.int16.amd.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 558
+
+                              Capability Shader
+                              Capability Float16
+                              Capability Float64
+                              Capability Int64
+                              Capability Int16
+                              Capability StorageUniform16
+                              Capability StorageInputOutput16
+                              Extension  "SPV_AMD_gpu_shader_half_float"
+                              Extension  "SPV_AMD_gpu_shader_int16"
+                              Extension  "SPV_KHR_16bit_storage"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 517 519
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_AMD_gpu_shader_half_float"
+                              SourceExtension  "GL_AMD_gpu_shader_int16"
+                              SourceExtension  "GL_ARB_gpu_shader_int64"
+                              Name 4  "main"
+                              Name 6  "literal("
+                              Name 8  "operators("
+                              Name 10  "typeCast("
+                              Name 12  "builtinFuncs("
+                              Name 17  "u16"
+                              Name 26  "Uniforms"
+                              MemberName 26(Uniforms) 0  "i"
+                              Name 28  ""
+                              Name 34  "indexable"
+                              Name 45  "indexable"
+                              Name 51  "u16v"
+                              Name 57  "i16"
+                              Name 70  "u16"
+                              Name 127  "b"
+                              Name 148  "u"
+                              Name 158  "i"
+                              Name 188  "i16v"
+                              Name 191  "bv"
+                              Name 199  "u16v"
+                              Name 211  "iv"
+                              Name 224  "uv"
+                              Name 238  "fv"
+                              Name 250  "dv"
+                              Name 262  "f16v"
+                              Name 274  "i64v"
+                              Name 288  "u64v"
+                              Name 303  "i16v"
+                              Name 309  "i16"
+                              Name 317  "u16v"
+                              Name 319  "u16"
+                              Name 391  "f16v"
+                              Name 394  "exp"
+                              Name 395  "ResType"
+                              Name 416  "packi"
+                              Name 421  "packu"
+                              Name 430  "packi64"
+                              Name 439  "packu64"
+                              Name 448  "bv"
+                              Name 513  "Block"
+                              MemberName 513(Block) 0  "i16v"
+                              MemberName 513(Block) 1  "u16"
+                              Name 515  "block"
+                              Name 517  "iu16v"
+                              Name 519  "ii16"
+                              Name 520  "si64"
+                              Name 521  "su64"
+                              Name 522  "si"
+                              Name 523  "su"
+                              Name 524  "sb"
+                              Name 525  "si16"
+                              Name 526  "su16"
+                              MemberDecorate 26(Uniforms) 0 Offset 0
+                              Decorate 26(Uniforms) Block
+                              Decorate 28 DescriptorSet 0
+                              Decorate 28 Binding 0
+                              MemberDecorate 513(Block) 0 Offset 0
+                              MemberDecorate 513(Block) 1 Offset 6
+                              Decorate 513(Block) Block
+                              Decorate 515(block) DescriptorSet 0
+                              Decorate 515(block) Binding 1
+                              Decorate 517(iu16v) Flat
+                              Decorate 517(iu16v) Location 0
+                              Decorate 519(ii16) Flat
+                              Decorate 519(ii16) Location 1
+                              Decorate 520(si64) SpecId 100
+                              Decorate 521(su64) SpecId 101
+                              Decorate 522(si) SpecId 102
+                              Decorate 523(su) SpecId 103
+                              Decorate 524(sb) SpecId 104
+                              Decorate 525(si16) SpecId 105
+                              Decorate 526(su16) SpecId 106
+               2:             TypeVoid
+               3:             TypeFunction 2
+              14:             TypeInt 16 0
+              15:             TypeInt 32 1
+              16:             TypePointer Function 15(int)
+              18:             TypeInt 16 1
+              19:             TypeInt 32 0
+              20:     19(int) Constant 3
+              21:             TypeArray 18(int) 20
+              22:     18(int) Constant 273
+              23:     18(int) Constant 4294967294
+              24:     18(int) Constant 256
+              25:          21 ConstantComposite 22 23 24
+    26(Uniforms):             TypeStruct 19(int)
+              27:             TypePointer Uniform 26(Uniforms)
+              28:     27(ptr) Variable Uniform
+              29:     15(int) Constant 0
+              30:             TypePointer Uniform 19(int)
+              33:             TypePointer Function 21
+              35:             TypePointer Function 18(int)
+              39:             TypeArray 15(int) 20
+              40:     14(int) Constant 65535
+              41:          39 ConstantComposite 40 40 40
+              44:             TypePointer Function 39
+              49:             TypeVector 15(int) 3
+              50:             TypePointer Function 49(ivec3)
+              53:     18(int) Constant 1
+              54:             TypeVector 18(int) 3
+             111:     19(int) Constant 1
+             117:     19(int) Constant 2
+             125:             TypeBool
+             126:             TypePointer Function 125(bool)
+             128:     19(int) Constant 0
+             147:             TypePointer Function 19(int)
+             186:             TypeVector 18(int) 2
+             187:             TypePointer Function 186(ivec2)
+             189:             TypeVector 125(bool) 2
+             190:             TypePointer Function 189(bvec2)
+             193:     18(int) Constant 0
+             194:  186(ivec2) ConstantComposite 193 193
+             195:  186(ivec2) ConstantComposite 53 53
+             197:             TypeVector 15(int) 2
+             198:             TypePointer Function 197(ivec2)
+             201:     14(int) Constant 0
+             202:     14(int) Constant 1
+             203:             TypeVector 14(int) 2
+             204:  203(ivec2) ConstantComposite 201 201
+             205:  203(ivec2) ConstantComposite 202 202
+             222:             TypeVector 19(int) 2
+             223:             TypePointer Function 222(ivec2)
+             235:             TypeFloat 32
+             236:             TypeVector 235(float) 2
+             237:             TypePointer Function 236(fvec2)
+             247:             TypeFloat 64
+             248:             TypeVector 247(float) 2
+             249:             TypePointer Function 248(fvec2)
+             259:             TypeFloat 16
+             260:             TypeVector 259(float) 2
+             261:             TypePointer Function 260(fvec2)
+             271:             TypeInt 64 1
+             272:             TypeVector 271(int) 2
+             273:             TypePointer Function 272(ivec2)
+             285:             TypeInt 64 0
+             286:             TypeVector 285(int) 2
+             287:             TypePointer Function 286(ivec2)
+             314:     18(int) Constant 4294967295
+             315:  186(ivec2) ConstantComposite 314 314
+             324:   49(ivec3) ConstantComposite 201 201 201
+             366:   125(bool) ConstantTrue
+             373:   125(bool) ConstantFalse
+             374:  189(bvec2) ConstantComposite 373 373
+             386:             TypeVector 125(bool) 3
+             387:  386(bvec3) ConstantComposite 373 373 373
+             389:             TypeVector 259(float) 3
+             390:             TypePointer Function 389(fvec3)
+             393:             TypePointer Function 54(ivec3)
+    395(ResType):             TypeStruct 389(fvec3) 54(ivec3)
+             405:             TypePointer Function 259(float)
+             429:             TypePointer Function 271(int)
+             432:             TypeVector 18(int) 4
+             438:             TypePointer Function 285(int)
+             441:             TypeVector 15(int) 4
+             447:             TypePointer Function 386(bvec3)
+      513(Block):             TypeStruct 54(ivec3) 15(int)
+             514:             TypePointer Uniform 513(Block)
+      515(block):    514(ptr) Variable Uniform
+             516:             TypePointer Input 49(ivec3)
+      517(iu16v):    516(ptr) Variable Input
+             518:             TypePointer Input 18(int)
+       519(ii16):    518(ptr) Variable Input
+       520(si64):    271(int) SpecConstant 4294967286 4294967295
+       521(su64):    285(int) SpecConstant 20 0
+         522(si):     15(int) SpecConstant 4294967291
+         523(su):     19(int) SpecConstant 4
+         524(sb):   125(bool) SpecConstantTrue
+       525(si16):     18(int) SpecConstant 4294967291
+       526(su16):     14(int) SpecConstant 4
+             527:   125(bool) SpecConstantOp 171 525(si16) 201
+             528:   125(bool) SpecConstantOp 171 526(su16) 201
+             529:     18(int) SpecConstantOp 169 524(sb) 53 193
+             530:     15(int) SpecConstantOp 169 524(sb) 202 201
+             531:     15(int) SpecConstantOp 114 525(si16)
+             532:     15(int) SpecConstantOp 113 526(su16)
+             533:     15(int) SpecConstantOp 128 532 128
+             534:     18(int) SpecConstantOp 114 522(si)
+             535:     18(int) SpecConstantOp 114 522(si)
+             536:     15(int) SpecConstantOp 128 535 201
+             537:     15(int) SpecConstantOp 114 525(si16)
+             538:     19(int) SpecConstantOp 128 537 128
+             539:     19(int) SpecConstantOp 113 526(su16)
+             540:     18(int) SpecConstantOp 113 523(su)
+             541:     18(int) SpecConstantOp 128 540 201
+             542:     15(int) SpecConstantOp 113 523(su)
+             543:    271(int) SpecConstantOp 114 525(si16)
+             544:    271(int) SpecConstantOp 113 526(su16)
+             545:    285(int) Constant 0 0
+             546:    271(int) SpecConstantOp 128 544 545
+             547:     18(int) SpecConstantOp 114 520(si64)
+             548:     18(int) SpecConstantOp 114 520(si64)
+             549:     15(int) SpecConstantOp 128 548 201
+             550:    271(int) SpecConstantOp 114 525(si16)
+             551:    285(int) SpecConstantOp 128 550 545
+             552:    285(int) SpecConstantOp 113 526(su16)
+             553:     18(int) SpecConstantOp 113 521(su64)
+             554:     18(int) SpecConstantOp 128 553 201
+             555:     15(int) SpecConstantOp 113 521(su64)
+             556:     15(int) SpecConstantOp 128 525(si16) 201
+             557:     18(int) SpecConstantOp 128 526(su16) 201
+         4(main):           2 Function None 3
+               5:             Label
+             509:           2 FunctionCall 6(literal()
+             510:           2 FunctionCall 8(operators()
+             511:           2 FunctionCall 10(typeCast()
+             512:           2 FunctionCall 12(builtinFuncs()
+                              Return
+                              FunctionEnd
+     6(literal():           2 Function None 3
+               7:             Label
+         17(u16):     16(ptr) Variable Function
+   34(indexable):     33(ptr) Variable Function
+   45(indexable):     44(ptr) Variable Function
+              31:     30(ptr) AccessChain 28 29
+              32:     19(int) Load 31
+                              Store 34(indexable) 25
+              36:     35(ptr) AccessChain 34(indexable) 32
+              37:     18(int) Load 36
+              38:     15(int) Bitcast 37
+              42:     30(ptr) AccessChain 28 29
+              43:     19(int) Load 42
+                              Store 45(indexable) 41
+              46:     16(ptr) AccessChain 45(indexable) 43
+              47:     15(int) Load 46
+              48:     15(int) IAdd 38 47
+                              Store 17(u16) 48
+                              Return
+                              FunctionEnd
+   8(operators():           2 Function None 3
+               9:             Label
+        51(u16v):     50(ptr) Variable Function
+         57(i16):     35(ptr) Variable Function
+         70(u16):     16(ptr) Variable Function
+          127(b):    126(ptr) Variable Function
+          148(u):    147(ptr) Variable Function
+          158(i):     16(ptr) Variable Function
+              52:   49(ivec3) Load 51(u16v)
+              55:   54(ivec3) CompositeConstruct 53 53 53
+              56:   49(ivec3) IAdd 52 55
+                              Store 51(u16v) 56
+              58:     18(int) Load 57(i16)
+              59:     18(int) ISub 58 53
+                              Store 57(i16) 59
+              60:     18(int) Load 57(i16)
+              61:     18(int) IAdd 60 53
+                              Store 57(i16) 61
+              62:   49(ivec3) Load 51(u16v)
+              63:   54(ivec3) CompositeConstruct 53 53 53
+              64:   49(ivec3) ISub 62 63
+                              Store 51(u16v) 64
+              65:   49(ivec3) Load 51(u16v)
+              66:   49(ivec3) Not 65
+                              Store 51(u16v) 66
+              67:     18(int) Load 57(i16)
+                              Store 57(i16) 67
+              68:   49(ivec3) Load 51(u16v)
+              69:   49(ivec3) SNegate 68
+                              Store 51(u16v) 69
+              71:     18(int) Load 57(i16)
+              72:     15(int) Bitcast 71
+              73:     15(int) Load 70(u16)
+              74:     15(int) IAdd 73 72
+                              Store 70(u16) 74
+              75:   49(ivec3) Load 51(u16v)
+              76:   49(ivec3) Load 51(u16v)
+              77:   49(ivec3) ISub 76 75
+                              Store 51(u16v) 77
+              78:     18(int) Load 57(i16)
+              79:     18(int) Load 57(i16)
+              80:     18(int) IMul 79 78
+                              Store 57(i16) 80
+              81:   49(ivec3) Load 51(u16v)
+              82:   49(ivec3) Load 51(u16v)
+              83:   49(ivec3) UDiv 82 81
+                              Store 51(u16v) 83
+              84:     18(int) Load 57(i16)
+              85:     15(int) Bitcast 84
+              86:   49(ivec3) Load 51(u16v)
+              87:   49(ivec3) CompositeConstruct 85 85 85
+              88:   49(ivec3) UMod 86 87
+                              Store 51(u16v) 88
+              89:   49(ivec3) Load 51(u16v)
+              90:   49(ivec3) Load 51(u16v)
+              91:   49(ivec3) IAdd 89 90
+                              Store 51(u16v) 91
+              92:     18(int) Load 57(i16)
+              93:     15(int) Bitcast 92
+              94:     15(int) Load 70(u16)
+              95:     15(int) ISub 93 94
+                              Store 70(u16) 95
+              96:   49(ivec3) Load 51(u16v)
+              97:     18(int) Load 57(i16)
+              98:     15(int) Bitcast 97
+              99:   49(ivec3) CompositeConstruct 98 98 98
+             100:   49(ivec3) IMul 96 99
+                              Store 51(u16v) 100
+             101:     18(int) Load 57(i16)
+             102:     18(int) Load 57(i16)
+             103:     18(int) IMul 101 102
+                              Store 57(i16) 103
+             104:     18(int) Load 57(i16)
+             105:     18(int) Load 57(i16)
+             106:     18(int) SMod 104 105
+                              Store 57(i16) 106
+             107:     18(int) Load 57(i16)
+             108:   49(ivec3) Load 51(u16v)
+             109:   54(ivec3) CompositeConstruct 107 107 107
+             110:   49(ivec3) ShiftLeftLogical 108 109
+                              Store 51(u16v) 110
+             112:     16(ptr) AccessChain 51(u16v) 111
+             113:     15(int) Load 112
+             114:     18(int) Load 57(i16)
+             115:     18(int) ShiftRightArithmetic 114 113
+                              Store 57(i16) 115
+             116:     18(int) Load 57(i16)
+             118:     16(ptr) AccessChain 51(u16v) 117
+             119:     15(int) Load 118
+             120:     18(int) ShiftLeftLogical 116 119
+                              Store 57(i16) 120
+             121:   49(ivec3) Load 51(u16v)
+             122:     18(int) Load 57(i16)
+             123:   54(ivec3) CompositeConstruct 122 122 122
+             124:   49(ivec3) ShiftLeftLogical 121 123
+                              Store 51(u16v) 124
+             129:     16(ptr) AccessChain 51(u16v) 128
+             130:     15(int) Load 129
+             131:     18(int) Load 57(i16)
+             132:     15(int) Bitcast 131
+             133:   125(bool) INotEqual 130 132
+                              Store 127(b) 133
+             134:     18(int) Load 57(i16)
+             135:     15(int) Bitcast 134
+             136:     16(ptr) AccessChain 51(u16v) 128
+             137:     15(int) Load 136
+             138:   125(bool) IEqual 135 137
+                              Store 127(b) 138
+             139:     16(ptr) AccessChain 51(u16v) 128
+             140:     15(int) Load 139
+             141:     16(ptr) AccessChain 51(u16v) 111
+             142:     15(int) Load 141
+             143:   125(bool) UGreaterThan 140 142
+                              Store 127(b) 143
+             144:     18(int) Load 57(i16)
+             145:     15(int) SConvert 144
+             146:     19(int) Bitcast 145
+             149:     19(int) Load 148(u)
+             150:   125(bool) ULessThan 146 149
+                              Store 127(b) 150
+             151:     16(ptr) AccessChain 51(u16v) 111
+             152:     15(int) Load 151
+             153:     16(ptr) AccessChain 51(u16v) 128
+             154:     15(int) Load 153
+             155:   125(bool) UGreaterThanEqual 152 154
+                              Store 127(b) 155
+             156:     18(int) Load 57(i16)
+             157:     15(int) SConvert 156
+             159:     15(int) Load 158(i)
+             160:   125(bool) SLessThanEqual 157 159
+                              Store 127(b) 160
+             161:     18(int) Load 57(i16)
+             162:     15(int) Bitcast 161
+             163:   49(ivec3) Load 51(u16v)
+             164:   49(ivec3) CompositeConstruct 162 162 162
+             165:   49(ivec3) BitwiseOr 163 164
+                              Store 51(u16v) 165
+             166:     18(int) Load 57(i16)
+             167:     15(int) Bitcast 166
+             168:     15(int) Load 70(u16)
+             169:     15(int) BitwiseOr 167 168
+                              Store 70(u16) 169
+             170:     18(int) Load 57(i16)
+             171:     18(int) Load 57(i16)
+             172:     18(int) BitwiseAnd 171 170
+                              Store 57(i16) 172
+             173:   49(ivec3) Load 51(u16v)
+             174:   49(ivec3) Load 51(u16v)
+             175:   49(ivec3) BitwiseAnd 173 174
+                              Store 51(u16v) 175
+             176:     18(int) Load 57(i16)
+             177:     15(int) Bitcast 176
+             178:   49(ivec3) Load 51(u16v)
+             179:   49(ivec3) CompositeConstruct 177 177 177
+             180:   49(ivec3) BitwiseXor 178 179
+                              Store 51(u16v) 180
+             181:   49(ivec3) Load 51(u16v)
+             182:     18(int) Load 57(i16)
+             183:     15(int) Bitcast 182
+             184:   49(ivec3) CompositeConstruct 183 183 183
+             185:   49(ivec3) BitwiseXor 181 184
+                              Store 51(u16v) 185
+                              Return
+                              FunctionEnd
+   10(typeCast():           2 Function None 3
+              11:             Label
+       188(i16v):    187(ptr) Variable Function
+         191(bv):    190(ptr) Variable Function
+       199(u16v):    198(ptr) Variable Function
+         211(iv):    198(ptr) Variable Function
+         224(uv):    223(ptr) Variable Function
+         238(fv):    237(ptr) Variable Function
+         250(dv):    249(ptr) Variable Function
+       262(f16v):    261(ptr) Variable Function
+       274(i64v):    273(ptr) Variable Function
+       288(u64v):    287(ptr) Variable Function
+             192:  189(bvec2) Load 191(bv)
+             196:  186(ivec2) Select 192 195 194
+                              Store 188(i16v) 196
+             200:  189(bvec2) Load 191(bv)
+             206:  197(ivec2) Select 200 205 204
+                              Store 199(u16v) 206
+             207:  186(ivec2) Load 188(i16v)
+             208:  189(bvec2) INotEqual 207 204
+                              Store 191(bv) 208
+             209:  197(ivec2) Load 199(u16v)
+             210:  189(bvec2) INotEqual 209 204
+                              Store 191(bv) 210
+             212:  197(ivec2) Load 211(iv)
+             213:  186(ivec2) SConvert 212
+                              Store 188(i16v) 213
+             214:  197(ivec2) Load 211(iv)
+             215:  186(ivec2) SConvert 214
+             216:  197(ivec2) Bitcast 215
+                              Store 199(u16v) 216
+             217:  186(ivec2) Load 188(i16v)
+             218:  197(ivec2) SConvert 217
+                              Store 211(iv) 218
+             219:  197(ivec2) Load 199(u16v)
+             220:  197(ivec2) UConvert 219
+             221:  197(ivec2) Bitcast 220
+                              Store 211(iv) 221
+             225:  222(ivec2) Load 224(uv)
+             226:  186(ivec2) UConvert 225
+             227:  186(ivec2) Bitcast 226
+                              Store 188(i16v) 227
+             228:  222(ivec2) Load 224(uv)
+             229:  197(ivec2) UConvert 228
+                              Store 199(u16v) 229
+             230:  186(ivec2) Load 188(i16v)
+             231:  197(ivec2) SConvert 230
+             232:  222(ivec2) Bitcast 231
+                              Store 224(uv) 232
+             233:  197(ivec2) Load 199(u16v)
+             234:  222(ivec2) UConvert 233
+                              Store 224(uv) 234
+             239:  236(fvec2) Load 238(fv)
+             240:  186(ivec2) ConvertFToS 239
+                              Store 188(i16v) 240
+             241:  236(fvec2) Load 238(fv)
+             242:  197(ivec2) ConvertFToU 241
+                              Store 199(u16v) 242
+             243:  186(ivec2) Load 188(i16v)
+             244:  236(fvec2) ConvertSToF 243
+                              Store 238(fv) 244
+             245:  197(ivec2) Load 199(u16v)
+             246:  236(fvec2) ConvertUToF 245
+                              Store 238(fv) 246
+             251:  248(fvec2) Load 250(dv)
+             252:  186(ivec2) ConvertFToS 251
+                              Store 188(i16v) 252
+             253:  248(fvec2) Load 250(dv)
+             254:  197(ivec2) ConvertFToU 253
+                              Store 199(u16v) 254
+             255:  186(ivec2) Load 188(i16v)
+             256:  248(fvec2) ConvertSToF 255
+                              Store 250(dv) 256
+             257:  197(ivec2) Load 199(u16v)
+             258:  248(fvec2) ConvertUToF 257
+                              Store 250(dv) 258
+             263:  260(fvec2) Load 262(f16v)
+             264:  186(ivec2) ConvertFToS 263
+                              Store 188(i16v) 264
+             265:  260(fvec2) Load 262(f16v)
+             266:  197(ivec2) ConvertFToU 265
+                              Store 199(u16v) 266
+             267:  186(ivec2) Load 188(i16v)
+             268:  260(fvec2) ConvertSToF 267
+                              Store 262(f16v) 268
+             269:  197(ivec2) Load 199(u16v)
+             270:  260(fvec2) ConvertUToF 269
+                              Store 262(f16v) 270
+             275:  272(ivec2) Load 274(i64v)
+             276:  186(ivec2) SConvert 275
+                              Store 188(i16v) 276
+             277:  272(ivec2) Load 274(i64v)
+             278:  186(ivec2) SConvert 277
+             279:  197(ivec2) Bitcast 278
+                              Store 199(u16v) 279
+             280:  186(ivec2) Load 188(i16v)
+             281:  272(ivec2) SConvert 280
+                              Store 274(i64v) 281
+             282:  197(ivec2) Load 199(u16v)
+             283:  272(ivec2) UConvert 282
+             284:  272(ivec2) Bitcast 283
+                              Store 274(i64v) 284
+             289:  286(ivec2) Load 288(u64v)
+             290:  186(ivec2) UConvert 289
+             291:  186(ivec2) Bitcast 290
+                              Store 188(i16v) 291
+             292:  286(ivec2) Load 288(u64v)
+             293:  197(ivec2) UConvert 292
+                              Store 199(u16v) 293
+             294:  186(ivec2) Load 188(i16v)
+             295:  272(ivec2) SConvert 294
+             296:  286(ivec2) Bitcast 295
+                              Store 288(u64v) 296
+             297:  197(ivec2) Load 199(u16v)
+             298:  286(ivec2) UConvert 297
+                              Store 288(u64v) 298
+             299:  197(ivec2) Load 199(u16v)
+             300:  186(ivec2) Bitcast 299
+                              Store 188(i16v) 300
+             301:  186(ivec2) Load 188(i16v)
+             302:  197(ivec2) Bitcast 301
+                              Store 199(u16v) 302
+                              Return
+                              FunctionEnd
+12(builtinFuncs():           2 Function None 3
+              13:             Label
+       303(i16v):    187(ptr) Variable Function
+        309(i16):     35(ptr) Variable Function
+       317(u16v):     50(ptr) Variable Function
+        319(u16):     16(ptr) Variable Function
+       391(f16v):    390(ptr) Variable Function
+        394(exp):    393(ptr) Variable Function
+      416(packi):     16(ptr) Variable Function
+      421(packu):    147(ptr) Variable Function
+    430(packi64):    429(ptr) Variable Function
+    439(packu64):    438(ptr) Variable Function
+         448(bv):    447(ptr) Variable Function
+             304:  186(ivec2) Load 303(i16v)
+             305:  186(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 304
+                              Store 303(i16v) 305
+             306:  186(ivec2) Load 303(i16v)
+             307:  186(ivec2) ExtInst 1(GLSL.std.450) 7(SSign) 306
+                              Store 303(i16v) 307
+             308:  186(ivec2) Load 303(i16v)
+             310:     18(int) Load 309(i16)
+             311:  186(ivec2) CompositeConstruct 310 310
+             312:  186(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 308 311
+                              Store 303(i16v) 312
+             313:  186(ivec2) Load 303(i16v)
+             316:  186(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 313 315
+                              Store 303(i16v) 316
+             318:   49(ivec3) Load 317(u16v)
+             320:     15(int) Load 319(u16)
+             321:   49(ivec3) CompositeConstruct 320 320 320
+             322:   49(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 318 321
+                              Store 317(u16v) 322
+             323:   49(ivec3) Load 317(u16v)
+             325:   49(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 323 324
+                              Store 317(u16v) 325
+             326:  186(ivec2) Load 303(i16v)
+             327:     18(int) Load 309(i16)
+             328:  186(ivec2) CompositeConstruct 327 327
+             329:  186(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 326 328
+                              Store 303(i16v) 329
+             330:  186(ivec2) Load 303(i16v)
+             331:  186(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 330 315
+                              Store 303(i16v) 331
+             332:   49(ivec3) Load 317(u16v)
+             333:     15(int) Load 319(u16)
+             334:   49(ivec3) CompositeConstruct 333 333 333
+             335:   49(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 332 334
+                              Store 317(u16v) 335
+             336:   49(ivec3) Load 317(u16v)
+             337:   49(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 336 324
+                              Store 317(u16v) 337
+             338:  186(ivec2) Load 303(i16v)
+             339:     18(int) Load 309(i16)
+             340:     18(int) SNegate 339
+             341:     18(int) Load 309(i16)
+             342:  186(ivec2) CompositeConstruct 340 340
+             343:  186(ivec2) CompositeConstruct 341 341
+             344:  186(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 338 342 343
+                              Store 303(i16v) 344
+             345:  186(ivec2) Load 303(i16v)
+             346:  186(ivec2) Load 303(i16v)
+             347:  186(ivec2) SNegate 346
+             348:  186(ivec2) Load 303(i16v)
+             349:  186(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 345 347 348
+                              Store 303(i16v) 349
+             350:   49(ivec3) Load 317(u16v)
+             351:     15(int) Load 319(u16)
+             352:     15(int) SNegate 351
+             353:     15(int) Load 319(u16)
+             354:   49(ivec3) CompositeConstruct 352 352 352
+             355:   49(ivec3) CompositeConstruct 353 353 353
+             356:   49(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 350 354 355
+                              Store 317(u16v) 356
+             357:   49(ivec3) Load 317(u16v)
+             358:   49(ivec3) Load 317(u16v)
+             359:   49(ivec3) SNegate 358
+             360:   49(ivec3) Load 317(u16v)
+             361:   49(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 357 359 360
+                              Store 317(u16v) 361
+             362:     35(ptr) AccessChain 303(i16v) 128
+             363:     18(int) Load 362
+             364:     35(ptr) AccessChain 303(i16v) 111
+             365:     18(int) Load 364
+             367:     18(int) Select 366 365 363
+                              Store 309(i16) 367
+             368:     18(int) Load 309(i16)
+             369:  186(ivec2) CompositeConstruct 368 368
+             370:     18(int) Load 309(i16)
+             371:     18(int) SNegate 370
+             372:  186(ivec2) CompositeConstruct 371 371
+             375:  186(ivec2) Select 374 372 369
+                              Store 303(i16v) 375
+             376:     16(ptr) AccessChain 317(u16v) 128
+             377:     15(int) Load 376
+             378:     16(ptr) AccessChain 317(u16v) 111
+             379:     15(int) Load 378
+             380:     15(int) Select 366 379 377
+                              Store 319(u16) 380
+             381:     15(int) Load 319(u16)
+             382:   49(ivec3) CompositeConstruct 381 381 381
+             383:     15(int) Load 319(u16)
+             384:     15(int) SNegate 383
+             385:   49(ivec3) CompositeConstruct 384 384 384
+             388:   49(ivec3) Select 387 385 382
+                              Store 317(u16v) 388
+             392:  389(fvec3) Load 391(f16v)
+             396:395(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 392
+             397:   54(ivec3) CompositeExtract 396 1
+                              Store 394(exp) 397
+             398:  389(fvec3) CompositeExtract 396 0
+                              Store 391(f16v) 398
+             399:  389(fvec3) Load 391(f16v)
+             400:   54(ivec3) Load 394(exp)
+             401:  389(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 399 400
+                              Store 391(f16v) 401
+             402:  389(fvec3) Load 391(f16v)
+             403:  260(fvec2) VectorShuffle 402 402 0 1
+             404:  186(ivec2) Bitcast 403
+                              Store 303(i16v) 404
+             406:    405(ptr) AccessChain 391(f16v) 117
+             407:  259(float) Load 406
+             408:     15(int) Bitcast 407
+             409:     16(ptr) AccessChain 317(u16v) 128
+                              Store 409 408
+             410:  186(ivec2) Load 303(i16v)
+             411:  260(fvec2) Bitcast 410
+             412:  389(fvec3) Load 391(f16v)
+             413:  389(fvec3) VectorShuffle 412 411 3 4 2
+                              Store 391(f16v) 413
+             414:   49(ivec3) Load 317(u16v)
+             415:  389(fvec3) Bitcast 414
+                              Store 391(f16v) 415
+             417:  186(ivec2) Load 303(i16v)
+             418:     15(int) Bitcast 417
+                              Store 416(packi) 418
+             419:     15(int) Load 416(packi)
+             420:  186(ivec2) Bitcast 419
+                              Store 303(i16v) 420
+             422:   49(ivec3) Load 317(u16v)
+             423:  197(ivec2) VectorShuffle 422 422 0 1
+             424:     19(int) Bitcast 423
+                              Store 421(packu) 424
+             425:     19(int) Load 421(packu)
+             426:  197(ivec2) Bitcast 425
+             427:   49(ivec3) Load 317(u16v)
+             428:   49(ivec3) VectorShuffle 427 426 3 4 2
+                              Store 317(u16v) 428
+             431:     18(int) Load 309(i16)
+             433:  432(ivec4) CompositeConstruct 431 431 431 431
+             434:    271(int) Bitcast 433
+                              Store 430(packi64) 434
+             435:    271(int) Load 430(packi64)
+             436:  432(ivec4) Bitcast 435
+             437:  186(ivec2) VectorShuffle 436 436 0 1
+                              Store 303(i16v) 437
+             440:     15(int) Load 319(u16)
+             442:  441(ivec4) CompositeConstruct 440 440 440 440
+             443:    285(int) Bitcast 442
+                              Store 439(packu64) 443
+             444:    285(int) Load 439(packu64)
+             445:  441(ivec4) Bitcast 444
+             446:   49(ivec3) VectorShuffle 445 445 0 1 2
+                              Store 317(u16v) 446
+             449:   49(ivec3) Load 317(u16v)
+             450:     15(int) Load 319(u16)
+             451:   49(ivec3) CompositeConstruct 450 450 450
+             452:  386(bvec3) ULessThan 449 451
+                              Store 448(bv) 452
+             453:  186(ivec2) Load 303(i16v)
+             454:     18(int) Load 309(i16)
+             455:  186(ivec2) CompositeConstruct 454 454
+             456:  189(bvec2) SLessThan 453 455
+             457:  386(bvec3) Load 448(bv)
+             458:  386(bvec3) VectorShuffle 457 456 3 4 2
+                              Store 448(bv) 458
+             459:   49(ivec3) Load 317(u16v)
+             460:     15(int) Load 319(u16)
+             461:   49(ivec3) CompositeConstruct 460 460 460
+             462:  386(bvec3) ULessThanEqual 459 461
+                              Store 448(bv) 462
+             463:  186(ivec2) Load 303(i16v)
+             464:     18(int) Load 309(i16)
+             465:  186(ivec2) CompositeConstruct 464 464
+             466:  189(bvec2) SLessThanEqual 463 465
+             467:  386(bvec3) Load 448(bv)
+             468:  386(bvec3) VectorShuffle 467 466 3 4 2
+                              Store 448(bv) 468
+             469:   49(ivec3) Load 317(u16v)
+             470:     15(int) Load 319(u16)
+             471:   49(ivec3) CompositeConstruct 470 470 470
+             472:  386(bvec3) UGreaterThan 469 471
+                              Store 448(bv) 472
+             473:  186(ivec2) Load 303(i16v)
+             474:     18(int) Load 309(i16)
+             475:  186(ivec2) CompositeConstruct 474 474
+             476:  189(bvec2) SGreaterThan 473 475
+             477:  386(bvec3) Load 448(bv)
+             478:  386(bvec3) VectorShuffle 477 476 3 4 2
+                              Store 448(bv) 478
+             479:   49(ivec3) Load 317(u16v)
+             480:     15(int) Load 319(u16)
+             481:   49(ivec3) CompositeConstruct 480 480 480
+             482:  386(bvec3) UGreaterThanEqual 479 481
+                              Store 448(bv) 482
+             483:  186(ivec2) Load 303(i16v)
+             484:     18(int) Load 309(i16)
+             485:  186(ivec2) CompositeConstruct 484 484
+             486:  189(bvec2) SGreaterThanEqual 483 485
+             487:  386(bvec3) Load 448(bv)
+             488:  386(bvec3) VectorShuffle 487 486 3 4 2
+                              Store 448(bv) 488
+             489:   49(ivec3) Load 317(u16v)
+             490:     15(int) Load 319(u16)
+             491:   49(ivec3) CompositeConstruct 490 490 490
+             492:  386(bvec3) IEqual 489 491
+                              Store 448(bv) 492
+             493:  186(ivec2) Load 303(i16v)
+             494:     18(int) Load 309(i16)
+             495:  186(ivec2) CompositeConstruct 494 494
+             496:  189(bvec2) IEqual 493 495
+             497:  386(bvec3) Load 448(bv)
+             498:  386(bvec3) VectorShuffle 497 496 3 4 2
+                              Store 448(bv) 498
+             499:   49(ivec3) Load 317(u16v)
+             500:     15(int) Load 319(u16)
+             501:   49(ivec3) CompositeConstruct 500 500 500
+             502:  386(bvec3) INotEqual 499 501
+                              Store 448(bv) 502
+             503:  186(ivec2) Load 303(i16v)
+             504:     18(int) Load 309(i16)
+             505:  186(ivec2) CompositeConstruct 504 504
+             506:  189(bvec2) INotEqual 503 505
+             507:  386(bvec3) Load 448(bv)
+             508:  386(bvec3) VectorShuffle 507 506 3 4 2
+                              Store 448(bv) 508
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.int16.frag.out b/Test/baseResults/spv.int16.frag.out
index 6cc6070..d62697b 100644
--- a/Test/baseResults/spv.int16.frag.out
+++ b/Test/baseResults/spv.int16.frag.out
@@ -1,779 +1,741 @@
 spv.int16.frag
 // Module Version 10000
 // Generated by (magic number): 80002
-// Id's are bound by 561
+// Id's are bound by 520
 
                               Capability Shader
                               Capability Float16
                               Capability Float64
                               Capability Int64
                               Capability Int16
+                              Capability Int8
                               Capability StorageUniform16
-                              Capability StorageInputOutput16
                               Extension  "SPV_AMD_gpu_shader_half_float"
                               Extension  "SPV_AMD_gpu_shader_int16"
                               Extension  "SPV_KHR_16bit_storage"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 520 522
+                              EntryPoint Fragment 4  "main"
                               ExecutionMode 4 OriginUpperLeft
                               Source GLSL 450
-                              SourceExtension  "GL_AMD_gpu_shader_half_float"
-                              SourceExtension  "GL_AMD_gpu_shader_int16"
-                              SourceExtension  "GL_ARB_gpu_shader_int64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int8"
                               Name 4  "main"
                               Name 6  "literal("
-                              Name 8  "operators("
-                              Name 10  "typeCast("
+                              Name 8  "typeCast16("
+                              Name 10  "operators("
                               Name 12  "builtinFuncs("
-                              Name 16  "u16"
-                              Name 25  "Uniforms"
-                              MemberName 25(Uniforms) 0  "i"
-                              Name 27  ""
-                              Name 34  "indexable"
-                              Name 45  "indexable"
-                              Name 51  "u16v"
-                              Name 57  "i16"
-                              Name 70  "u16"
-                              Name 108  "i"
-                              Name 130  "b"
-                              Name 151  "u"
-                              Name 190  "i16v"
-                              Name 193  "bv"
-                              Name 201  "u16v"
-                              Name 214  "iv"
-                              Name 227  "uv"
-                              Name 241  "fv"
-                              Name 253  "dv"
-                              Name 265  "f16v"
-                              Name 277  "i64v"
-                              Name 291  "u64v"
-                              Name 306  "i16v"
-                              Name 312  "i16"
-                              Name 320  "u16v"
-                              Name 322  "u16"
-                              Name 394  "f16v"
-                              Name 397  "exp"
-                              Name 398  "ResType"
-                              Name 419  "packi"
-                              Name 424  "packu"
-                              Name 433  "packi64"
-                              Name 442  "packu64"
-                              Name 451  "bv"
-                              Name 516  "Block"
-                              MemberName 516(Block) 0  "i16v"
-                              MemberName 516(Block) 1  "u16"
-                              Name 518  "block"
-                              Name 520  "iu16v"
-                              Name 522  "ii16"
-                              Name 523  "si64"
-                              Name 524  "su64"
-                              Name 525  "si"
-                              Name 526  "su"
-                              Name 527  "sb"
-                              Name 528  "si16"
-                              Name 529  "su16"
-                              MemberDecorate 25(Uniforms) 0 Offset 0
-                              Decorate 25(Uniforms) Block
-                              Decorate 27 DescriptorSet 0
-                              Decorate 27 Binding 0
-                              MemberDecorate 516(Block) 0 Offset 0
-                              MemberDecorate 516(Block) 1 Offset 6
-                              Decorate 516(Block) Block
-                              Decorate 518(block) DescriptorSet 0
-                              Decorate 518(block) Binding 1
-                              Decorate 520(iu16v) Flat
-                              Decorate 520(iu16v) Location 0
-                              Decorate 522(ii16) Flat
-                              Decorate 522(ii16) Location 1
-                              Decorate 523(si64) SpecId 100
-                              Decorate 524(su64) SpecId 101
-                              Decorate 525(si) SpecId 102
-                              Decorate 526(su) SpecId 103
-                              Decorate 527(sb) SpecId 104
-                              Decorate 528(si16) SpecId 105
-                              Decorate 529(su16) SpecId 106
+                              Name 16  "i16"
+                              Name 24  "Uniforms"
+                              MemberName 24(Uniforms) 0  "index"
+                              Name 26  ""
+                              Name 33  "indexable"
+                              Name 38  "u16"
+                              Name 46  "indexable"
+                              Name 51  "i32v"
+                              Name 54  "i16v"
+                              Name 57  "u16v"
+                              Name 65  "u32v"
+                              Name 72  "i64v"
+                              Name 78  "u64v"
+                              Name 92  "f16v"
+                              Name 98  "f32v"
+                              Name 104  "f64v"
+                              Name 152  "i8v"
+                              Name 159  "u8v"
+                              Name 172  "bv"
+                              Name 192  "u16v"
+                              Name 197  "i16"
+                              Name 216  "i"
+                              Name 223  "uv"
+                              Name 239  "i64"
+                              Name 278  "b"
+                              Name 340  "i16v"
+                              Name 343  "i16"
+                              Name 353  "u16v"
+                              Name 355  "u16"
+                              Name 425  "i32"
+                              Name 428  "i64"
+                              Name 431  "i16v4"
+                              Name 434  "u32"
+                              Name 435  "u16v2"
+                              Name 439  "u64"
+                              Name 442  "u16v4"
+                              Name 454  "bv"
+                              Name 515  "Block"
+                              MemberName 515(Block) 0  "i16"
+                              MemberName 515(Block) 1  "i16v2"
+                              MemberName 515(Block) 2  "i16v3"
+                              MemberName 515(Block) 3  "i16v4"
+                              MemberName 515(Block) 4  "u16"
+                              MemberName 515(Block) 5  "u16v2"
+                              MemberName 515(Block) 6  "u16v3"
+                              MemberName 515(Block) 7  "u16v4"
+                              Name 517  "block"
+                              Name 518  "si16"
+                              Name 519  "su16"
+                              MemberDecorate 24(Uniforms) 0 Offset 0
+                              Decorate 24(Uniforms) Block
+                              Decorate 26 DescriptorSet 0
+                              Decorate 26 Binding 0
+                              MemberDecorate 515(Block) 0 Offset 0
+                              MemberDecorate 515(Block) 1 Offset 4
+                              MemberDecorate 515(Block) 2 Offset 8
+                              MemberDecorate 515(Block) 3 Offset 16
+                              MemberDecorate 515(Block) 4 Offset 24
+                              MemberDecorate 515(Block) 5 Offset 28
+                              MemberDecorate 515(Block) 6 Offset 32
+                              MemberDecorate 515(Block) 7 Offset 40
+                              Decorate 515(Block) Block
+                              Decorate 517(block) DescriptorSet 0
+                              Decorate 517(block) Binding 1
+                              Decorate 518(si16) SpecId 100
+                              Decorate 519(su16) SpecId 101
                2:             TypeVoid
                3:             TypeFunction 2
-              14:             TypeInt 16 0
+              14:             TypeInt 16 1
               15:             TypePointer Function 14(int)
-              17:             TypeInt 16 1
-              18:             TypeInt 32 0
-              19:     18(int) Constant 3
-              20:             TypeArray 17(int) 19
-              21:     17(int) Constant 273
-              22:     17(int) Constant 65534
-              23:     17(int) Constant 256
-              24:          20 ConstantComposite 21 22 23
-    25(Uniforms):             TypeStruct 18(int)
-              26:             TypePointer Uniform 25(Uniforms)
-              27:     26(ptr) Variable Uniform
-              28:             TypeInt 32 1
-              29:     28(int) Constant 0
-              30:             TypePointer Uniform 18(int)
-              33:             TypePointer Function 20
-              35:             TypePointer Function 17(int)
-              39:             TypeArray 14(int) 19
-              40:     14(int) Constant 65535
-              41:          39 ConstantComposite 40 40 40
-              44:             TypePointer Function 39
-              49:             TypeVector 14(int) 3
-              50:             TypePointer Function 49(ivec3)
-              53:     17(int) Constant 1
-              54:             TypeVector 17(int) 3
-             107:             TypePointer Function 28(int)
-             111:             TypeVector 28(int) 3
-             114:     18(int) Constant 1
-             120:     18(int) Constant 2
-             128:             TypeBool
-             129:             TypePointer Function 128(bool)
-             131:     18(int) Constant 0
-             150:             TypePointer Function 18(int)
-             188:             TypeVector 17(int) 2
-             189:             TypePointer Function 188(ivec2)
-             191:             TypeVector 128(bool) 2
-             192:             TypePointer Function 191(bvec2)
-             195:     17(int) Constant 0
-             196:  188(ivec2) ConstantComposite 195 195
-             197:  188(ivec2) ConstantComposite 53 53
-             199:             TypeVector 14(int) 2
-             200:             TypePointer Function 199(ivec2)
-             203:     14(int) Constant 0
-             204:     14(int) Constant 1
-             205:  199(ivec2) ConstantComposite 203 203
-             206:  199(ivec2) ConstantComposite 204 204
-             212:             TypeVector 28(int) 2
-             213:             TypePointer Function 212(ivec2)
-             223:             TypeVector 18(int) 2
-             226:             TypePointer Function 223(ivec2)
-             238:             TypeFloat 32
-             239:             TypeVector 238(float) 2
-             240:             TypePointer Function 239(fvec2)
-             250:             TypeFloat 64
-             251:             TypeVector 250(float) 2
-             252:             TypePointer Function 251(fvec2)
-             262:             TypeFloat 16
-             263:             TypeVector 262(float) 2
-             264:             TypePointer Function 263(fvec2)
-             274:             TypeInt 64 1
-             275:             TypeVector 274(int) 2
-             276:             TypePointer Function 275(ivec2)
-             286:             TypeInt 64 0
-             287:             TypeVector 286(int) 2
-             290:             TypePointer Function 287(ivec2)
-             317:     17(int) Constant 65535
-             318:  188(ivec2) ConstantComposite 317 317
-             327:   49(ivec3) ConstantComposite 203 203 203
-             369:   128(bool) ConstantTrue
-             376:   128(bool) ConstantFalse
-             377:  191(bvec2) ConstantComposite 376 376
-             389:             TypeVector 128(bool) 3
-             390:  389(bvec3) ConstantComposite 376 376 376
-             392:             TypeVector 262(float) 3
-             393:             TypePointer Function 392(fvec3)
-             396:             TypePointer Function 54(ivec3)
-    398(ResType):             TypeStruct 392(fvec3) 54(ivec3)
-             408:             TypePointer Function 262(float)
-             432:             TypePointer Function 274(int)
-             435:             TypeVector 17(int) 4
-             441:             TypePointer Function 286(int)
-             444:             TypeVector 14(int) 4
-             450:             TypePointer Function 389(bvec3)
-      516(Block):             TypeStruct 54(ivec3) 14(int)
-             517:             TypePointer Uniform 516(Block)
-      518(block):    517(ptr) Variable Uniform
-             519:             TypePointer Input 49(ivec3)
-      520(iu16v):    519(ptr) Variable Input
-             521:             TypePointer Input 17(int)
-       522(ii16):    521(ptr) Variable Input
-       523(si64):    274(int) SpecConstant 4294967286 4294967295
-       524(su64):    286(int) SpecConstant 20 0
-         525(si):     28(int) SpecConstant 4294967291
-         526(su):     18(int) SpecConstant 4
-         527(sb):   128(bool) SpecConstantTrue
-       528(si16):     17(int) SpecConstant 65531
-       529(su16):     14(int) SpecConstant 4
-             530:   128(bool) SpecConstantOp 171 528(si16) 203
-             531:   128(bool) SpecConstantOp 171 529(su16) 203
-             532:     17(int) SpecConstantOp 169 527(sb) 53 195
-             533:     14(int) SpecConstantOp 169 527(sb) 204 203
-             534:     28(int) SpecConstantOp 114 528(si16)
-             535:     18(int) SpecConstantOp 113 529(su16)
-             536:     28(int) SpecConstantOp 128 535 131
-             537:     17(int) SpecConstantOp 114 525(si)
-             538:     17(int) SpecConstantOp 114 525(si)
-             539:     14(int) SpecConstantOp 128 538 203
-             540:     28(int) SpecConstantOp 114 528(si16)
-             541:     18(int) SpecConstantOp 128 540 131
-             542:     18(int) SpecConstantOp 113 529(su16)
-             543:     14(int) SpecConstantOp 113 526(su)
-             544:     17(int) SpecConstantOp 128 543 203
-             545:     14(int) SpecConstantOp 113 526(su)
-             546:    274(int) SpecConstantOp 114 528(si16)
-             547:    286(int) SpecConstantOp 113 529(su16)
-             548:    286(int) Constant 0 0
-             549:    274(int) SpecConstantOp 128 547 548
-             550:     17(int) SpecConstantOp 114 523(si64)
-             551:     17(int) SpecConstantOp 114 523(si64)
-             552:     14(int) SpecConstantOp 128 551 203
-             553:    274(int) SpecConstantOp 114 528(si16)
-             554:    286(int) SpecConstantOp 128 553 548
-             555:    286(int) SpecConstantOp 113 529(su16)
-             556:     14(int) SpecConstantOp 113 524(su64)
-             557:     17(int) SpecConstantOp 128 556 203
-             558:     14(int) SpecConstantOp 113 524(su64)
-             559:     14(int) SpecConstantOp 128 528(si16) 203
-             560:     17(int) SpecConstantOp 128 529(su16) 203
+              17:             TypeInt 32 0
+              18:     17(int) Constant 3
+              19:             TypeArray 14(int) 18
+              20:     14(int) Constant 4294962927
+              21:     14(int) Constant 4294967295
+              22:     14(int) Constant 16384
+              23:          19 ConstantComposite 20 21 22
+    24(Uniforms):             TypeStruct 17(int)
+              25:             TypePointer Uniform 24(Uniforms)
+              26:     25(ptr) Variable Uniform
+              27:             TypeInt 32 1
+              28:     27(int) Constant 0
+              29:             TypePointer Uniform 17(int)
+              32:             TypePointer Function 19
+              36:             TypeInt 16 0
+              37:             TypePointer Function 27(int)
+              39:             TypeArray 27(int) 18
+              40:     36(int) Constant 65535
+              41:     36(int) Constant 32767
+              42:          39 ConstantComposite 40 40 41
+              45:             TypePointer Function 39
+              49:             TypeVector 27(int) 2
+              50:             TypePointer Function 49(ivec2)
+              52:             TypeVector 14(int) 2
+              53:             TypePointer Function 52(ivec2)
+              63:             TypeVector 17(int) 2
+              64:             TypePointer Function 63(ivec2)
+              69:             TypeInt 64 1
+              70:             TypeVector 69(int) 2
+              71:             TypePointer Function 70(ivec2)
+              75:             TypeInt 64 0
+              76:             TypeVector 75(int) 2
+              77:             TypePointer Function 76(ivec2)
+              89:             TypeFloat 16
+              90:             TypeVector 89(float) 2
+              91:             TypePointer Function 90(fvec2)
+              95:             TypeFloat 32
+              96:             TypeVector 95(float) 2
+              97:             TypePointer Function 96(fvec2)
+             101:             TypeFloat 64
+             102:             TypeVector 101(float) 2
+             103:             TypePointer Function 102(fvec2)
+             149:             TypeInt 8 1
+             150:             TypeVector 149(int) 2
+             151:             TypePointer Function 150(ivec2)
+             158:             TypeInt 8 0
+             169:             TypeBool
+             170:             TypeVector 169(bool) 2
+             171:             TypePointer Function 170(bvec2)
+             174:     14(int) Constant 0
+             175:     14(int) Constant 1
+             176:   52(ivec2) ConstantComposite 174 174
+             177:   52(ivec2) ConstantComposite 175 175
+             180:     36(int) Constant 0
+             181:     36(int) Constant 1
+             182:             TypeVector 36(int) 2
+             183:  182(ivec2) ConstantComposite 180 180
+             184:  182(ivec2) ConstantComposite 181 181
+             190:             TypeVector 27(int) 3
+             191:             TypePointer Function 190(ivec3)
+             194:             TypeVector 14(int) 3
+             221:             TypeVector 17(int) 3
+             222:             TypePointer Function 221(ivec3)
+             238:             TypePointer Function 69(int)
+             260:     17(int) Constant 1
+             266:     17(int) Constant 2
+             277:             TypePointer Function 169(bool)
+             279:     17(int) Constant 0
+             293:             TypePointer Function 17(int)
+             351:   52(ivec2) ConstantComposite 21 21
+             360:  190(ivec3) ConstantComposite 180 180 180
+             402:   169(bool) ConstantTrue
+             409:   169(bool) ConstantFalse
+             410:  170(bvec2) ConstantComposite 409 409
+             422:             TypeVector 169(bool) 3
+             423:  422(bvec3) ConstantComposite 409 409 409
+             429:             TypeVector 14(int) 4
+             430:             TypePointer Function 429(ivec4)
+             438:             TypePointer Function 75(int)
+             440:             TypeVector 27(int) 4
+             441:             TypePointer Function 440(ivec4)
+             453:             TypePointer Function 422(bvec3)
+      515(Block):             TypeStruct 14(int) 52(ivec2) 194(ivec3) 429(ivec4) 27(int) 49(ivec2) 190(ivec3) 440(ivec4)
+             516:             TypePointer Uniform 515(Block)
+      517(block):    516(ptr) Variable Uniform
+       518(si16):     14(int) SpecConstant 4294967286
+       519(su16):     36(int) SpecConstant 20
          4(main):           2 Function None 3
                5:             Label
-             512:           2 FunctionCall 6(literal()
-             513:           2 FunctionCall 8(operators()
-             514:           2 FunctionCall 10(typeCast()
-             515:           2 FunctionCall 12(builtinFuncs()
                               Return
                               FunctionEnd
      6(literal():           2 Function None 3
                7:             Label
-         16(u16):     15(ptr) Variable Function
-   34(indexable):     33(ptr) Variable Function
-   45(indexable):     44(ptr) Variable Function
-              31:     30(ptr) AccessChain 27 29
-              32:     18(int) Load 31
-                              Store 34(indexable) 24
-              36:     35(ptr) AccessChain 34(indexable) 32
-              37:     17(int) Load 36
-              38:     14(int) Bitcast 37
-              42:     30(ptr) AccessChain 27 29
-              43:     18(int) Load 42
-                              Store 45(indexable) 41
-              46:     15(ptr) AccessChain 45(indexable) 43
-              47:     14(int) Load 46
-              48:     14(int) IAdd 38 47
-                              Store 16(u16) 48
+         16(i16):     15(ptr) Variable Function
+   33(indexable):     32(ptr) Variable Function
+         38(u16):     37(ptr) Variable Function
+   46(indexable):     45(ptr) Variable Function
+              30:     29(ptr) AccessChain 26 28
+              31:     17(int) Load 30
+                              Store 33(indexable) 23
+              34:     15(ptr) AccessChain 33(indexable) 31
+              35:     14(int) Load 34
+                              Store 16(i16) 35
+              43:     29(ptr) AccessChain 26 28
+              44:     17(int) Load 43
+                              Store 46(indexable) 42
+              47:     37(ptr) AccessChain 46(indexable) 44
+              48:     27(int) Load 47
+                              Store 38(u16) 48
                               Return
                               FunctionEnd
-   8(operators():           2 Function None 3
+  8(typeCast16():           2 Function None 3
                9:             Label
-        51(u16v):     50(ptr) Variable Function
-         57(i16):     35(ptr) Variable Function
-         70(u16):     15(ptr) Variable Function
-          108(i):    107(ptr) Variable Function
-          130(b):    129(ptr) Variable Function
-          151(u):    150(ptr) Variable Function
-              52:   49(ivec3) Load 51(u16v)
-              55:   54(ivec3) CompositeConstruct 53 53 53
-              56:   49(ivec3) IAdd 52 55
-                              Store 51(u16v) 56
-              58:     17(int) Load 57(i16)
-              59:     17(int) ISub 58 53
-                              Store 57(i16) 59
-              60:     17(int) Load 57(i16)
-              61:     17(int) IAdd 60 53
-                              Store 57(i16) 61
-              62:   49(ivec3) Load 51(u16v)
-              63:   54(ivec3) CompositeConstruct 53 53 53
-              64:   49(ivec3) ISub 62 63
-                              Store 51(u16v) 64
-              65:   49(ivec3) Load 51(u16v)
-              66:   49(ivec3) Not 65
-                              Store 51(u16v) 66
-              67:     17(int) Load 57(i16)
-                              Store 57(i16) 67
-              68:   49(ivec3) Load 51(u16v)
-              69:   49(ivec3) SNegate 68
-                              Store 51(u16v) 69
-              71:     17(int) Load 57(i16)
-              72:     14(int) Bitcast 71
-              73:     14(int) Load 70(u16)
-              74:     14(int) IAdd 73 72
-                              Store 70(u16) 74
-              75:   49(ivec3) Load 51(u16v)
-              76:   49(ivec3) Load 51(u16v)
-              77:   49(ivec3) ISub 76 75
-                              Store 51(u16v) 77
-              78:     17(int) Load 57(i16)
-              79:     17(int) Load 57(i16)
-              80:     17(int) IMul 79 78
-                              Store 57(i16) 80
-              81:   49(ivec3) Load 51(u16v)
-              82:   49(ivec3) Load 51(u16v)
-              83:   49(ivec3) UDiv 82 81
-                              Store 51(u16v) 83
-              84:     17(int) Load 57(i16)
-              85:     14(int) Bitcast 84
-              86:   49(ivec3) Load 51(u16v)
-              87:   49(ivec3) CompositeConstruct 85 85 85
-              88:   49(ivec3) UMod 86 87
-                              Store 51(u16v) 88
-              89:   49(ivec3) Load 51(u16v)
-              90:   49(ivec3) Load 51(u16v)
-              91:   49(ivec3) IAdd 89 90
-                              Store 51(u16v) 91
-              92:     17(int) Load 57(i16)
-              93:     14(int) Bitcast 92
-              94:     14(int) Load 70(u16)
-              95:     14(int) ISub 93 94
-                              Store 70(u16) 95
-              96:   49(ivec3) Load 51(u16v)
-              97:     17(int) Load 57(i16)
-              98:     14(int) Bitcast 97
-              99:   49(ivec3) CompositeConstruct 98 98 98
-             100:   49(ivec3) IMul 96 99
-                              Store 51(u16v) 100
-             101:     17(int) Load 57(i16)
-             102:     17(int) Load 57(i16)
-             103:     17(int) IMul 101 102
-                              Store 57(i16) 103
-             104:     17(int) Load 57(i16)
-             105:     17(int) Load 57(i16)
-             106:     17(int) SMod 104 105
-                              Store 57(i16) 106
-             109:     28(int) Load 108(i)
-             110:   49(ivec3) Load 51(u16v)
-             112:  111(ivec3) CompositeConstruct 109 109 109
-             113:   49(ivec3) ShiftLeftLogical 110 112
-                              Store 51(u16v) 113
-             115:     15(ptr) AccessChain 51(u16v) 114
-             116:     14(int) Load 115
-             117:     17(int) Load 57(i16)
-             118:     17(int) ShiftRightArithmetic 117 116
-                              Store 57(i16) 118
-             119:     17(int) Load 57(i16)
-             121:     15(ptr) AccessChain 51(u16v) 120
-             122:     14(int) Load 121
-             123:     17(int) ShiftLeftLogical 119 122
-                              Store 57(i16) 123
-             124:   49(ivec3) Load 51(u16v)
-             125:     17(int) Load 57(i16)
-             126:   54(ivec3) CompositeConstruct 125 125 125
-             127:   49(ivec3) ShiftLeftLogical 124 126
-                              Store 51(u16v) 127
-             132:     15(ptr) AccessChain 51(u16v) 131
-             133:     14(int) Load 132
-             134:     17(int) Load 57(i16)
-             135:     14(int) Bitcast 134
-             136:   128(bool) INotEqual 133 135
-                              Store 130(b) 136
-             137:     17(int) Load 57(i16)
-             138:     14(int) Bitcast 137
-             139:     15(ptr) AccessChain 51(u16v) 131
-             140:     14(int) Load 139
-             141:   128(bool) IEqual 138 140
-                              Store 130(b) 141
-             142:     15(ptr) AccessChain 51(u16v) 131
-             143:     14(int) Load 142
-             144:     15(ptr) AccessChain 51(u16v) 114
-             145:     14(int) Load 144
-             146:   128(bool) UGreaterThan 143 145
-                              Store 130(b) 146
-             147:     17(int) Load 57(i16)
-             148:     28(int) SConvert 147
-             149:     18(int) Bitcast 148
-             152:     18(int) Load 151(u)
-             153:   128(bool) ULessThan 149 152
-                              Store 130(b) 153
-             154:     15(ptr) AccessChain 51(u16v) 114
-             155:     14(int) Load 154
-             156:     15(ptr) AccessChain 51(u16v) 131
-             157:     14(int) Load 156
-             158:   128(bool) UGreaterThanEqual 155 157
-                              Store 130(b) 158
-             159:     17(int) Load 57(i16)
-             160:     28(int) SConvert 159
-             161:     28(int) Load 108(i)
-             162:   128(bool) SLessThanEqual 160 161
-                              Store 130(b) 162
-             163:     17(int) Load 57(i16)
-             164:     14(int) Bitcast 163
-             165:   49(ivec3) Load 51(u16v)
-             166:   49(ivec3) CompositeConstruct 164 164 164
-             167:   49(ivec3) BitwiseOr 165 166
-                              Store 51(u16v) 167
-             168:     17(int) Load 57(i16)
-             169:     14(int) Bitcast 168
-             170:     14(int) Load 70(u16)
-             171:     14(int) BitwiseOr 169 170
-                              Store 70(u16) 171
-             172:     17(int) Load 57(i16)
-             173:     17(int) Load 57(i16)
-             174:     17(int) BitwiseAnd 173 172
-                              Store 57(i16) 174
-             175:   49(ivec3) Load 51(u16v)
-             176:   49(ivec3) Load 51(u16v)
-             177:   49(ivec3) BitwiseAnd 175 176
-                              Store 51(u16v) 177
-             178:     17(int) Load 57(i16)
-             179:     14(int) Bitcast 178
-             180:   49(ivec3) Load 51(u16v)
-             181:   49(ivec3) CompositeConstruct 179 179 179
-             182:   49(ivec3) BitwiseXor 180 181
-                              Store 51(u16v) 182
-             183:   49(ivec3) Load 51(u16v)
-             184:     17(int) Load 57(i16)
-             185:     14(int) Bitcast 184
-             186:   49(ivec3) CompositeConstruct 185 185 185
-             187:   49(ivec3) BitwiseXor 183 186
-                              Store 51(u16v) 187
+        51(i32v):     50(ptr) Variable Function
+        54(i16v):     53(ptr) Variable Function
+        57(u16v):     50(ptr) Variable Function
+        65(u32v):     64(ptr) Variable Function
+        72(i64v):     71(ptr) Variable Function
+        78(u64v):     77(ptr) Variable Function
+        92(f16v):     91(ptr) Variable Function
+        98(f32v):     97(ptr) Variable Function
+       104(f64v):    103(ptr) Variable Function
+        152(i8v):    151(ptr) Variable Function
+        159(u8v):     53(ptr) Variable Function
+         172(bv):    171(ptr) Variable Function
+              55:   52(ivec2) Load 54(i16v)
+              56:   49(ivec2) SConvert 55
+                              Store 51(i32v) 56
+              58:   49(ivec2) Load 57(u16v)
+              59:   49(ivec2) UConvert 58
+              60:   49(ivec2) Bitcast 59
+                              Store 51(i32v) 60
+              61:   52(ivec2) Load 54(i16v)
+              62:   49(ivec2) Bitcast 61
+                              Store 57(u16v) 62
+              66:   52(ivec2) Load 54(i16v)
+              67:   49(ivec2) SConvert 66
+              68:   63(ivec2) Bitcast 67
+                              Store 65(u32v) 68
+              73:   52(ivec2) Load 54(i16v)
+              74:   70(ivec2) SConvert 73
+                              Store 72(i64v) 74
+              79:   52(ivec2) Load 54(i16v)
+              80:   70(ivec2) SConvert 79
+              81:   76(ivec2) Bitcast 80
+                              Store 78(u64v) 81
+              82:   49(ivec2) Load 57(u16v)
+              83:   63(ivec2) UConvert 82
+                              Store 65(u32v) 83
+              84:   49(ivec2) Load 57(u16v)
+              85:   70(ivec2) UConvert 84
+              86:   70(ivec2) Bitcast 85
+                              Store 72(i64v) 86
+              87:   49(ivec2) Load 57(u16v)
+              88:   76(ivec2) UConvert 87
+                              Store 78(u64v) 88
+              93:   52(ivec2) Load 54(i16v)
+              94:   90(fvec2) ConvertSToF 93
+                              Store 92(f16v) 94
+              99:   52(ivec2) Load 54(i16v)
+             100:   96(fvec2) ConvertSToF 99
+                              Store 98(f32v) 100
+             105:   52(ivec2) Load 54(i16v)
+             106:  102(fvec2) ConvertSToF 105
+                              Store 104(f64v) 106
+             107:   49(ivec2) Load 57(u16v)
+             108:   90(fvec2) ConvertUToF 107
+                              Store 92(f16v) 108
+             109:   49(ivec2) Load 57(u16v)
+             110:   96(fvec2) ConvertUToF 109
+                              Store 98(f32v) 110
+             111:   49(ivec2) Load 57(u16v)
+             112:  102(fvec2) ConvertUToF 111
+                              Store 104(f64v) 112
+             113:   52(ivec2) Load 54(i16v)
+             114:   49(ivec2) SConvert 113
+                              Store 51(i32v) 114
+             115:   49(ivec2) Load 57(u16v)
+             116:   49(ivec2) UConvert 115
+             117:   49(ivec2) Bitcast 116
+                              Store 51(i32v) 117
+             118:   52(ivec2) Load 54(i16v)
+             119:   49(ivec2) Bitcast 118
+                              Store 57(u16v) 119
+             120:   52(ivec2) Load 54(i16v)
+             121:   49(ivec2) SConvert 120
+             122:   63(ivec2) Bitcast 121
+                              Store 65(u32v) 122
+             123:   52(ivec2) Load 54(i16v)
+             124:   70(ivec2) SConvert 123
+                              Store 72(i64v) 124
+             125:   52(ivec2) Load 54(i16v)
+             126:   70(ivec2) SConvert 125
+             127:   76(ivec2) Bitcast 126
+                              Store 78(u64v) 127
+             128:   49(ivec2) Load 57(u16v)
+             129:   63(ivec2) UConvert 128
+                              Store 65(u32v) 129
+             130:   49(ivec2) Load 57(u16v)
+             131:   70(ivec2) UConvert 130
+             132:   70(ivec2) Bitcast 131
+                              Store 72(i64v) 132
+             133:   49(ivec2) Load 57(u16v)
+             134:   70(ivec2) UConvert 133
+             135:   70(ivec2) Bitcast 134
+             136:   76(ivec2) Bitcast 135
+                              Store 78(u64v) 136
+             137:   52(ivec2) Load 54(i16v)
+             138:   90(fvec2) ConvertSToF 137
+                              Store 92(f16v) 138
+             139:   52(ivec2) Load 54(i16v)
+             140:   96(fvec2) ConvertSToF 139
+                              Store 98(f32v) 140
+             141:   52(ivec2) Load 54(i16v)
+             142:  102(fvec2) ConvertSToF 141
+                              Store 104(f64v) 142
+             143:   49(ivec2) Load 57(u16v)
+             144:   90(fvec2) ConvertUToF 143
+                              Store 92(f16v) 144
+             145:   49(ivec2) Load 57(u16v)
+             146:   96(fvec2) ConvertUToF 145
+                              Store 98(f32v) 146
+             147:   49(ivec2) Load 57(u16v)
+             148:  102(fvec2) ConvertUToF 147
+                              Store 104(f64v) 148
+             153:   52(ivec2) Load 54(i16v)
+             154:  150(ivec2) SConvert 153
+                              Store 152(i8v) 154
+             155:   49(ivec2) Load 57(u16v)
+             156:  150(ivec2) UConvert 155
+             157:  150(ivec2) Bitcast 156
+                              Store 152(i8v) 157
+             160:   52(ivec2) Load 54(i16v)
+             161:  150(ivec2) SConvert 160
+             162:   52(ivec2) Bitcast 161
+                              Store 159(u8v) 162
+             163:   49(ivec2) Load 57(u16v)
+             164:   52(ivec2) UConvert 163
+                              Store 159(u8v) 164
+             165:   49(ivec2) Load 57(u16v)
+             166:   52(ivec2) UConvert 165
+             167:   52(ivec2) UConvert 166
+             168:   52(ivec2) Bitcast 167
+                              Store 54(i16v) 168
+             173:  170(bvec2) Load 172(bv)
+             178:   52(ivec2) Select 173 177 176
+                              Store 54(i16v) 178
+             179:  170(bvec2) Load 172(bv)
+             185:   49(ivec2) Select 179 184 183
+                              Store 57(u16v) 185
+             186:   52(ivec2) Load 54(i16v)
+             187:  170(bvec2) INotEqual 186 183
+                              Store 172(bv) 187
+             188:   49(ivec2) Load 57(u16v)
+             189:  170(bvec2) INotEqual 188 183
+                              Store 172(bv) 189
                               Return
                               FunctionEnd
-   10(typeCast():           2 Function None 3
+  10(operators():           2 Function None 3
               11:             Label
-       190(i16v):    189(ptr) Variable Function
-         193(bv):    192(ptr) Variable Function
-       201(u16v):    200(ptr) Variable Function
-         214(iv):    213(ptr) Variable Function
-         227(uv):    226(ptr) Variable Function
-         241(fv):    240(ptr) Variable Function
-         253(dv):    252(ptr) Variable Function
-       265(f16v):    264(ptr) Variable Function
-       277(i64v):    276(ptr) Variable Function
-       291(u64v):    290(ptr) Variable Function
-             194:  191(bvec2) Load 193(bv)
-             198:  188(ivec2) Select 194 197 196
-                              Store 190(i16v) 198
-             202:  191(bvec2) Load 193(bv)
-             207:  199(ivec2) Select 202 206 205
-                              Store 201(u16v) 207
-             208:  188(ivec2) Load 190(i16v)
-             209:  191(bvec2) INotEqual 208 205
-                              Store 193(bv) 209
-             210:  199(ivec2) Load 201(u16v)
-             211:  191(bvec2) INotEqual 210 205
-                              Store 193(bv) 211
-             215:  212(ivec2) Load 214(iv)
-             216:  188(ivec2) SConvert 215
-                              Store 190(i16v) 216
-             217:  212(ivec2) Load 214(iv)
-             218:  188(ivec2) SConvert 217
-             219:  199(ivec2) Bitcast 218
-                              Store 201(u16v) 219
-             220:  188(ivec2) Load 190(i16v)
-             221:  212(ivec2) SConvert 220
-                              Store 214(iv) 221
-             222:  199(ivec2) Load 201(u16v)
-             224:  223(ivec2) UConvert 222
-             225:  212(ivec2) Bitcast 224
-                              Store 214(iv) 225
-             228:  223(ivec2) Load 227(uv)
-             229:  199(ivec2) UConvert 228
-             230:  188(ivec2) Bitcast 229
-                              Store 190(i16v) 230
-             231:  223(ivec2) Load 227(uv)
-             232:  199(ivec2) UConvert 231
-                              Store 201(u16v) 232
-             233:  188(ivec2) Load 190(i16v)
-             234:  212(ivec2) SConvert 233
-             235:  223(ivec2) Bitcast 234
-                              Store 227(uv) 235
-             236:  199(ivec2) Load 201(u16v)
-             237:  223(ivec2) UConvert 236
-                              Store 227(uv) 237
-             242:  239(fvec2) Load 241(fv)
-             243:  188(ivec2) ConvertFToS 242
-                              Store 190(i16v) 243
-             244:  239(fvec2) Load 241(fv)
-             245:  199(ivec2) ConvertFToU 244
-                              Store 201(u16v) 245
-             246:  188(ivec2) Load 190(i16v)
-             247:  239(fvec2) ConvertSToF 246
-                              Store 241(fv) 247
-             248:  199(ivec2) Load 201(u16v)
-             249:  239(fvec2) ConvertUToF 248
-                              Store 241(fv) 249
-             254:  251(fvec2) Load 253(dv)
-             255:  188(ivec2) ConvertFToS 254
-                              Store 190(i16v) 255
-             256:  251(fvec2) Load 253(dv)
-             257:  199(ivec2) ConvertFToU 256
-                              Store 201(u16v) 257
-             258:  188(ivec2) Load 190(i16v)
-             259:  251(fvec2) ConvertSToF 258
-                              Store 253(dv) 259
-             260:  199(ivec2) Load 201(u16v)
-             261:  251(fvec2) ConvertUToF 260
-                              Store 253(dv) 261
-             266:  263(fvec2) Load 265(f16v)
-             267:  188(ivec2) ConvertFToS 266
-                              Store 190(i16v) 267
-             268:  263(fvec2) Load 265(f16v)
-             269:  199(ivec2) ConvertFToU 268
-                              Store 201(u16v) 269
-             270:  188(ivec2) Load 190(i16v)
-             271:  263(fvec2) ConvertSToF 270
-                              Store 265(f16v) 271
-             272:  199(ivec2) Load 201(u16v)
-             273:  263(fvec2) ConvertUToF 272
-                              Store 265(f16v) 273
-             278:  275(ivec2) Load 277(i64v)
-             279:  188(ivec2) SConvert 278
-                              Store 190(i16v) 279
-             280:  275(ivec2) Load 277(i64v)
-             281:  188(ivec2) SConvert 280
-             282:  199(ivec2) Bitcast 281
-                              Store 201(u16v) 282
-             283:  188(ivec2) Load 190(i16v)
-             284:  275(ivec2) SConvert 283
-                              Store 277(i64v) 284
-             285:  199(ivec2) Load 201(u16v)
-             288:  287(ivec2) UConvert 285
-             289:  275(ivec2) Bitcast 288
-                              Store 277(i64v) 289
-             292:  287(ivec2) Load 291(u64v)
-             293:  199(ivec2) UConvert 292
-             294:  188(ivec2) Bitcast 293
-                              Store 190(i16v) 294
-             295:  287(ivec2) Load 291(u64v)
-             296:  199(ivec2) UConvert 295
-                              Store 201(u16v) 296
-             297:  188(ivec2) Load 190(i16v)
-             298:  275(ivec2) SConvert 297
-             299:  287(ivec2) Bitcast 298
-                              Store 291(u64v) 299
-             300:  199(ivec2) Load 201(u16v)
-             301:  287(ivec2) UConvert 300
-                              Store 291(u64v) 301
-             302:  199(ivec2) Load 201(u16v)
-             303:  188(ivec2) Bitcast 302
-                              Store 190(i16v) 303
-             304:  188(ivec2) Load 190(i16v)
-             305:  199(ivec2) Bitcast 304
-                              Store 201(u16v) 305
+       192(u16v):    191(ptr) Variable Function
+        197(i16):     15(ptr) Variable Function
+          216(i):     37(ptr) Variable Function
+         223(uv):    222(ptr) Variable Function
+        239(i64):    238(ptr) Variable Function
+          278(b):    277(ptr) Variable Function
+             193:  190(ivec3) Load 192(u16v)
+             195:  194(ivec3) CompositeConstruct 175 175 175
+             196:  190(ivec3) IAdd 193 195
+                              Store 192(u16v) 196
+             198:     14(int) Load 197(i16)
+             199:     14(int) ISub 198 175
+                              Store 197(i16) 199
+             200:     14(int) Load 197(i16)
+             201:     14(int) IAdd 200 175
+                              Store 197(i16) 201
+             202:  190(ivec3) Load 192(u16v)
+             203:  194(ivec3) CompositeConstruct 175 175 175
+             204:  190(ivec3) ISub 202 203
+                              Store 192(u16v) 204
+             205:  190(ivec3) Load 192(u16v)
+             206:  190(ivec3) Not 205
+                              Store 192(u16v) 206
+             207:     14(int) Load 197(i16)
+                              Store 197(i16) 207
+             208:  190(ivec3) Load 192(u16v)
+             209:  190(ivec3) SNegate 208
+                              Store 192(u16v) 209
+             210:     14(int) Load 197(i16)
+             211:     14(int) Load 197(i16)
+             212:     14(int) IAdd 211 210
+                              Store 197(i16) 212
+             213:  190(ivec3) Load 192(u16v)
+             214:  190(ivec3) Load 192(u16v)
+             215:  190(ivec3) ISub 214 213
+                              Store 192(u16v) 215
+             217:     14(int) Load 197(i16)
+             218:     27(int) SConvert 217
+             219:     27(int) Load 216(i)
+             220:     27(int) IMul 219 218
+                              Store 216(i) 220
+             224:  190(ivec3) Load 192(u16v)
+             225:  221(ivec3) UConvert 224
+             226:  221(ivec3) Load 223(uv)
+             227:  221(ivec3) UDiv 226 225
+                              Store 223(uv) 227
+             228:     14(int) Load 197(i16)
+             229:     27(int) SConvert 228
+             230:     17(int) Bitcast 229
+             231:  221(ivec3) Load 223(uv)
+             232:  221(ivec3) CompositeConstruct 230 230 230
+             233:  221(ivec3) UMod 231 232
+                              Store 223(uv) 233
+             234:  190(ivec3) Load 192(u16v)
+             235:  221(ivec3) UConvert 234
+             236:  221(ivec3) Load 223(uv)
+             237:  221(ivec3) IAdd 235 236
+                              Store 223(uv) 237
+             240:     14(int) Load 197(i16)
+             241:     69(int) SConvert 240
+             242:     69(int) Load 239(i64)
+             243:     69(int) ISub 241 242
+                              Store 239(i64) 243
+             244:  190(ivec3) Load 192(u16v)
+             245:  221(ivec3) UConvert 244
+             246:  221(ivec3) Load 223(uv)
+             247:  221(ivec3) IMul 245 246
+                              Store 223(uv) 247
+             248:     14(int) Load 197(i16)
+             249:     69(int) SConvert 248
+             250:     69(int) Load 239(i64)
+             251:     69(int) IMul 249 250
+                              Store 239(i64) 251
+             252:     14(int) Load 197(i16)
+             253:     27(int) SConvert 252
+             254:     27(int) Load 216(i)
+             255:     27(int) SMod 253 254
+                              Store 216(i) 255
+             256:     14(int) Load 197(i16)
+             257:  190(ivec3) Load 192(u16v)
+             258:  194(ivec3) CompositeConstruct 256 256 256
+             259:  190(ivec3) ShiftLeftLogical 257 258
+                              Store 192(u16v) 259
+             261:     37(ptr) AccessChain 192(u16v) 260
+             262:     27(int) Load 261
+             263:     14(int) Load 197(i16)
+             264:     14(int) ShiftRightArithmetic 263 262
+                              Store 197(i16) 264
+             265:     14(int) Load 197(i16)
+             267:     37(ptr) AccessChain 192(u16v) 266
+             268:     27(int) Load 267
+             269:     14(int) ShiftLeftLogical 265 268
+                              Store 197(i16) 269
+             270:  190(ivec3) Load 192(u16v)
+             271:  190(ivec3) UConvert 270
+             272:  190(ivec3) Bitcast 271
+             273:     27(int) Load 216(i)
+             274:  190(ivec3) CompositeConstruct 273 273 273
+             275:  190(ivec3) ShiftLeftLogical 272 274
+             276:  221(ivec3) Bitcast 275
+                              Store 223(uv) 276
+             280:     37(ptr) AccessChain 192(u16v) 279
+             281:     27(int) Load 280
+             282:     14(int) Load 197(i16)
+             283:     27(int) Bitcast 282
+             284:   169(bool) INotEqual 281 283
+                              Store 278(b) 284
+             285:     14(int) Load 197(i16)
+             286:     27(int) Bitcast 285
+             287:     37(ptr) AccessChain 192(u16v) 279
+             288:     27(int) Load 287
+             289:   169(bool) IEqual 286 288
+                              Store 278(b) 289
+             290:     37(ptr) AccessChain 192(u16v) 279
+             291:     27(int) Load 290
+             292:     17(int) UConvert 291
+             294:    293(ptr) AccessChain 223(uv) 260
+             295:     17(int) Load 294
+             296:   169(bool) UGreaterThan 292 295
+                              Store 278(b) 296
+             297:     14(int) Load 197(i16)
+             298:     27(int) SConvert 297
+             299:     27(int) Load 216(i)
+             300:   169(bool) SLessThan 298 299
+                              Store 278(b) 300
+             301:     37(ptr) AccessChain 192(u16v) 260
+             302:     27(int) Load 301
+             303:     17(int) UConvert 302
+             304:    293(ptr) AccessChain 223(uv) 279
+             305:     17(int) Load 304
+             306:   169(bool) UGreaterThanEqual 303 305
+                              Store 278(b) 306
+             307:     14(int) Load 197(i16)
+             308:     27(int) SConvert 307
+             309:     27(int) Load 216(i)
+             310:   169(bool) SLessThanEqual 308 309
+                              Store 278(b) 310
+             311:     14(int) Load 197(i16)
+             312:     27(int) SConvert 311
+             313:     17(int) Bitcast 312
+             314:  221(ivec3) Load 223(uv)
+             315:  221(ivec3) CompositeConstruct 313 313 313
+             316:  221(ivec3) BitwiseOr 314 315
+                              Store 223(uv) 316
+             317:     14(int) Load 197(i16)
+             318:     27(int) SConvert 317
+             319:     27(int) Load 216(i)
+             320:     27(int) BitwiseOr 318 319
+                              Store 216(i) 320
+             321:     14(int) Load 197(i16)
+             322:     69(int) SConvert 321
+             323:     69(int) Load 239(i64)
+             324:     69(int) BitwiseAnd 323 322
+                              Store 239(i64) 324
+             325:  190(ivec3) Load 192(u16v)
+             326:  221(ivec3) UConvert 325
+             327:  221(ivec3) Load 223(uv)
+             328:  221(ivec3) BitwiseAnd 326 327
+                              Store 223(uv) 328
+             329:     14(int) Load 197(i16)
+             330:     27(int) SConvert 329
+             331:     17(int) Bitcast 330
+             332:  221(ivec3) Load 223(uv)
+             333:  221(ivec3) CompositeConstruct 331 331 331
+             334:  221(ivec3) BitwiseXor 332 333
+                              Store 223(uv) 334
+             335:  190(ivec3) Load 192(u16v)
+             336:     14(int) Load 197(i16)
+             337:     27(int) Bitcast 336
+             338:  190(ivec3) CompositeConstruct 337 337 337
+             339:  190(ivec3) BitwiseXor 335 338
+                              Store 192(u16v) 339
                               Return
                               FunctionEnd
 12(builtinFuncs():           2 Function None 3
               13:             Label
-       306(i16v):    189(ptr) Variable Function
-        312(i16):     35(ptr) Variable Function
-       320(u16v):     50(ptr) Variable Function
-        322(u16):     15(ptr) Variable Function
-       394(f16v):    393(ptr) Variable Function
-        397(exp):    396(ptr) Variable Function
-      419(packi):    107(ptr) Variable Function
-      424(packu):    150(ptr) Variable Function
-    433(packi64):    432(ptr) Variable Function
-    442(packu64):    441(ptr) Variable Function
-         451(bv):    450(ptr) Variable Function
-             307:  188(ivec2) Load 306(i16v)
-             308:  188(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 307
-                              Store 306(i16v) 308
-             309:  188(ivec2) Load 306(i16v)
-             310:  188(ivec2) ExtInst 1(GLSL.std.450) 7(SSign) 309
-                              Store 306(i16v) 310
-             311:  188(ivec2) Load 306(i16v)
-             313:     17(int) Load 312(i16)
-             314:  188(ivec2) CompositeConstruct 313 313
-             315:  188(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 311 314
-                              Store 306(i16v) 315
-             316:  188(ivec2) Load 306(i16v)
-             319:  188(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 316 318
-                              Store 306(i16v) 319
-             321:   49(ivec3) Load 320(u16v)
-             323:     14(int) Load 322(u16)
-             324:   49(ivec3) CompositeConstruct 323 323 323
-             325:   49(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 321 324
-                              Store 320(u16v) 325
-             326:   49(ivec3) Load 320(u16v)
-             328:   49(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 326 327
-                              Store 320(u16v) 328
-             329:  188(ivec2) Load 306(i16v)
-             330:     17(int) Load 312(i16)
-             331:  188(ivec2) CompositeConstruct 330 330
-             332:  188(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 329 331
-                              Store 306(i16v) 332
-             333:  188(ivec2) Load 306(i16v)
-             334:  188(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 333 318
-                              Store 306(i16v) 334
-             335:   49(ivec3) Load 320(u16v)
-             336:     14(int) Load 322(u16)
-             337:   49(ivec3) CompositeConstruct 336 336 336
-             338:   49(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 335 337
-                              Store 320(u16v) 338
-             339:   49(ivec3) Load 320(u16v)
-             340:   49(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 339 327
-                              Store 320(u16v) 340
-             341:  188(ivec2) Load 306(i16v)
-             342:     17(int) Load 312(i16)
-             343:     17(int) SNegate 342
-             344:     17(int) Load 312(i16)
-             345:  188(ivec2) CompositeConstruct 343 343
-             346:  188(ivec2) CompositeConstruct 344 344
-             347:  188(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 341 345 346
-                              Store 306(i16v) 347
-             348:  188(ivec2) Load 306(i16v)
-             349:  188(ivec2) Load 306(i16v)
-             350:  188(ivec2) SNegate 349
-             351:  188(ivec2) Load 306(i16v)
-             352:  188(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 348 350 351
-                              Store 306(i16v) 352
-             353:   49(ivec3) Load 320(u16v)
-             354:     14(int) Load 322(u16)
-             355:     14(int) SNegate 354
-             356:     14(int) Load 322(u16)
-             357:   49(ivec3) CompositeConstruct 355 355 355
-             358:   49(ivec3) CompositeConstruct 356 356 356
-             359:   49(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 353 357 358
-                              Store 320(u16v) 359
-             360:   49(ivec3) Load 320(u16v)
-             361:   49(ivec3) Load 320(u16v)
-             362:   49(ivec3) SNegate 361
-             363:   49(ivec3) Load 320(u16v)
-             364:   49(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 360 362 363
-                              Store 320(u16v) 364
-             365:     35(ptr) AccessChain 306(i16v) 131
-             366:     17(int) Load 365
-             367:     35(ptr) AccessChain 306(i16v) 114
-             368:     17(int) Load 367
-             370:     17(int) Select 369 368 366
-                              Store 312(i16) 370
-             371:     17(int) Load 312(i16)
-             372:  188(ivec2) CompositeConstruct 371 371
-             373:     17(int) Load 312(i16)
-             374:     17(int) SNegate 373
-             375:  188(ivec2) CompositeConstruct 374 374
-             378:  188(ivec2) Select 377 375 372
-                              Store 306(i16v) 378
-             379:     15(ptr) AccessChain 320(u16v) 131
-             380:     14(int) Load 379
-             381:     15(ptr) AccessChain 320(u16v) 114
-             382:     14(int) Load 381
-             383:     14(int) Select 369 382 380
-                              Store 322(u16) 383
-             384:     14(int) Load 322(u16)
-             385:   49(ivec3) CompositeConstruct 384 384 384
-             386:     14(int) Load 322(u16)
-             387:     14(int) SNegate 386
-             388:   49(ivec3) CompositeConstruct 387 387 387
-             391:   49(ivec3) Select 390 388 385
-                              Store 320(u16v) 391
-             395:  392(fvec3) Load 394(f16v)
-             399:398(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 395
-             400:   54(ivec3) CompositeExtract 399 1
-                              Store 397(exp) 400
-             401:  392(fvec3) CompositeExtract 399 0
-                              Store 394(f16v) 401
-             402:  392(fvec3) Load 394(f16v)
-             403:   54(ivec3) Load 397(exp)
-             404:  392(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 402 403
-                              Store 394(f16v) 404
-             405:  392(fvec3) Load 394(f16v)
-             406:  263(fvec2) VectorShuffle 405 405 0 1
-             407:  188(ivec2) Bitcast 406
-                              Store 306(i16v) 407
-             409:    408(ptr) AccessChain 394(f16v) 120
-             410:  262(float) Load 409
-             411:     14(int) Bitcast 410
-             412:     15(ptr) AccessChain 320(u16v) 131
-                              Store 412 411
-             413:  188(ivec2) Load 306(i16v)
-             414:  263(fvec2) Bitcast 413
-             415:  392(fvec3) Load 394(f16v)
-             416:  392(fvec3) VectorShuffle 415 414 3 4 2
-                              Store 394(f16v) 416
-             417:   49(ivec3) Load 320(u16v)
-             418:  392(fvec3) Bitcast 417
-                              Store 394(f16v) 418
-             420:  188(ivec2) Load 306(i16v)
-             421:     28(int) Bitcast 420
-                              Store 419(packi) 421
-             422:     28(int) Load 419(packi)
-             423:  188(ivec2) Bitcast 422
-                              Store 306(i16v) 423
-             425:   49(ivec3) Load 320(u16v)
-             426:  199(ivec2) VectorShuffle 425 425 0 1
-             427:     18(int) Bitcast 426
-                              Store 424(packu) 427
-             428:     18(int) Load 424(packu)
-             429:  199(ivec2) Bitcast 428
-             430:   49(ivec3) Load 320(u16v)
-             431:   49(ivec3) VectorShuffle 430 429 3 4 2
-                              Store 320(u16v) 431
-             434:     17(int) Load 312(i16)
-             436:  435(ivec4) CompositeConstruct 434 434 434 434
-             437:    274(int) Bitcast 436
-                              Store 433(packi64) 437
-             438:    274(int) Load 433(packi64)
-             439:  435(ivec4) Bitcast 438
-             440:  188(ivec2) VectorShuffle 439 439 0 1
-                              Store 306(i16v) 440
-             443:     14(int) Load 322(u16)
-             445:  444(ivec4) CompositeConstruct 443 443 443 443
-             446:    286(int) Bitcast 445
-                              Store 442(packu64) 446
-             447:    286(int) Load 442(packu64)
-             448:  444(ivec4) Bitcast 447
-             449:   49(ivec3) VectorShuffle 448 448 0 1 2
-                              Store 320(u16v) 449
-             452:   49(ivec3) Load 320(u16v)
-             453:     14(int) Load 322(u16)
-             454:   49(ivec3) CompositeConstruct 453 453 453
-             455:  389(bvec3) ULessThan 452 454
-                              Store 451(bv) 455
-             456:  188(ivec2) Load 306(i16v)
-             457:     17(int) Load 312(i16)
-             458:  188(ivec2) CompositeConstruct 457 457
-             459:  191(bvec2) SLessThan 456 458
-             460:  389(bvec3) Load 451(bv)
-             461:  389(bvec3) VectorShuffle 460 459 3 4 2
-                              Store 451(bv) 461
-             462:   49(ivec3) Load 320(u16v)
-             463:     14(int) Load 322(u16)
-             464:   49(ivec3) CompositeConstruct 463 463 463
-             465:  389(bvec3) ULessThanEqual 462 464
-                              Store 451(bv) 465
-             466:  188(ivec2) Load 306(i16v)
-             467:     17(int) Load 312(i16)
-             468:  188(ivec2) CompositeConstruct 467 467
-             469:  191(bvec2) SLessThanEqual 466 468
-             470:  389(bvec3) Load 451(bv)
-             471:  389(bvec3) VectorShuffle 470 469 3 4 2
-                              Store 451(bv) 471
-             472:   49(ivec3) Load 320(u16v)
-             473:     14(int) Load 322(u16)
-             474:   49(ivec3) CompositeConstruct 473 473 473
-             475:  389(bvec3) UGreaterThan 472 474
-                              Store 451(bv) 475
-             476:  188(ivec2) Load 306(i16v)
-             477:     17(int) Load 312(i16)
-             478:  188(ivec2) CompositeConstruct 477 477
-             479:  191(bvec2) SGreaterThan 476 478
-             480:  389(bvec3) Load 451(bv)
-             481:  389(bvec3) VectorShuffle 480 479 3 4 2
-                              Store 451(bv) 481
-             482:   49(ivec3) Load 320(u16v)
-             483:     14(int) Load 322(u16)
-             484:   49(ivec3) CompositeConstruct 483 483 483
-             485:  389(bvec3) UGreaterThanEqual 482 484
-                              Store 451(bv) 485
-             486:  188(ivec2) Load 306(i16v)
-             487:     17(int) Load 312(i16)
-             488:  188(ivec2) CompositeConstruct 487 487
-             489:  191(bvec2) SGreaterThanEqual 486 488
-             490:  389(bvec3) Load 451(bv)
-             491:  389(bvec3) VectorShuffle 490 489 3 4 2
-                              Store 451(bv) 491
-             492:   49(ivec3) Load 320(u16v)
-             493:     14(int) Load 322(u16)
-             494:   49(ivec3) CompositeConstruct 493 493 493
-             495:  389(bvec3) IEqual 492 494
-                              Store 451(bv) 495
-             496:  188(ivec2) Load 306(i16v)
-             497:     17(int) Load 312(i16)
-             498:  188(ivec2) CompositeConstruct 497 497
-             499:  191(bvec2) IEqual 496 498
-             500:  389(bvec3) Load 451(bv)
-             501:  389(bvec3) VectorShuffle 500 499 3 4 2
-                              Store 451(bv) 501
-             502:   49(ivec3) Load 320(u16v)
-             503:     14(int) Load 322(u16)
-             504:   49(ivec3) CompositeConstruct 503 503 503
-             505:  389(bvec3) INotEqual 502 504
-                              Store 451(bv) 505
-             506:  188(ivec2) Load 306(i16v)
-             507:     17(int) Load 312(i16)
-             508:  188(ivec2) CompositeConstruct 507 507
-             509:  191(bvec2) INotEqual 506 508
-             510:  389(bvec3) Load 451(bv)
-             511:  389(bvec3) VectorShuffle 510 509 3 4 2
-                              Store 451(bv) 511
+       340(i16v):     53(ptr) Variable Function
+        343(i16):     15(ptr) Variable Function
+       353(u16v):    191(ptr) Variable Function
+        355(u16):     37(ptr) Variable Function
+        425(i32):     37(ptr) Variable Function
+        428(i64):    238(ptr) Variable Function
+      431(i16v4):    430(ptr) Variable Function
+        434(u32):    293(ptr) Variable Function
+      435(u16v2):     50(ptr) Variable Function
+        439(u64):    438(ptr) Variable Function
+      442(u16v4):    441(ptr) Variable Function
+         454(bv):    453(ptr) Variable Function
+             341:   52(ivec2) Load 340(i16v)
+             342:   52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 341
+                              Store 340(i16v) 342
+             344:     14(int) Load 343(i16)
+             345:     14(int) ExtInst 1(GLSL.std.450) 7(SSign) 344
+                              Store 343(i16) 345
+             346:   52(ivec2) Load 340(i16v)
+             347:     14(int) Load 343(i16)
+             348:   52(ivec2) CompositeConstruct 347 347
+             349:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 346 348
+                              Store 340(i16v) 349
+             350:   52(ivec2) Load 340(i16v)
+             352:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 350 351
+                              Store 340(i16v) 352
+             354:  190(ivec3) Load 353(u16v)
+             356:     27(int) Load 355(u16)
+             357:  190(ivec3) CompositeConstruct 356 356 356
+             358:  190(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 354 357
+                              Store 353(u16v) 358
+             359:  190(ivec3) Load 353(u16v)
+             361:  190(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 359 360
+                              Store 353(u16v) 361
+             362:   52(ivec2) Load 340(i16v)
+             363:     14(int) Load 343(i16)
+             364:   52(ivec2) CompositeConstruct 363 363
+             365:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 362 364
+                              Store 340(i16v) 365
+             366:   52(ivec2) Load 340(i16v)
+             367:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 366 351
+                              Store 340(i16v) 367
+             368:  190(ivec3) Load 353(u16v)
+             369:     27(int) Load 355(u16)
+             370:  190(ivec3) CompositeConstruct 369 369 369
+             371:  190(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 368 370
+                              Store 353(u16v) 371
+             372:  190(ivec3) Load 353(u16v)
+             373:  190(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 372 360
+                              Store 353(u16v) 373
+             374:   52(ivec2) Load 340(i16v)
+             375:     14(int) Load 343(i16)
+             376:     14(int) SNegate 375
+             377:     14(int) Load 343(i16)
+             378:   52(ivec2) CompositeConstruct 376 376
+             379:   52(ivec2) CompositeConstruct 377 377
+             380:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 374 378 379
+                              Store 340(i16v) 380
+             381:   52(ivec2) Load 340(i16v)
+             382:   52(ivec2) Load 340(i16v)
+             383:   52(ivec2) SNegate 382
+             384:   52(ivec2) Load 340(i16v)
+             385:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 381 383 384
+                              Store 340(i16v) 385
+             386:  190(ivec3) Load 353(u16v)
+             387:     27(int) Load 355(u16)
+             388:     27(int) SNegate 387
+             389:     27(int) Load 355(u16)
+             390:  190(ivec3) CompositeConstruct 388 388 388
+             391:  190(ivec3) CompositeConstruct 389 389 389
+             392:  190(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 386 390 391
+                              Store 353(u16v) 392
+             393:  190(ivec3) Load 353(u16v)
+             394:  190(ivec3) Load 353(u16v)
+             395:  190(ivec3) SNegate 394
+             396:  190(ivec3) Load 353(u16v)
+             397:  190(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 393 395 396
+                              Store 353(u16v) 397
+             398:     15(ptr) AccessChain 340(i16v) 279
+             399:     14(int) Load 398
+             400:     15(ptr) AccessChain 340(i16v) 260
+             401:     14(int) Load 400
+             403:     14(int) Select 402 401 399
+                              Store 343(i16) 403
+             404:     14(int) Load 343(i16)
+             405:   52(ivec2) CompositeConstruct 404 404
+             406:     14(int) Load 343(i16)
+             407:     14(int) SNegate 406
+             408:   52(ivec2) CompositeConstruct 407 407
+             411:   52(ivec2) Select 410 408 405
+                              Store 340(i16v) 411
+             412:     37(ptr) AccessChain 353(u16v) 279
+             413:     27(int) Load 412
+             414:     37(ptr) AccessChain 353(u16v) 260
+             415:     27(int) Load 414
+             416:     27(int) Select 402 415 413
+                              Store 355(u16) 416
+             417:     27(int) Load 355(u16)
+             418:  190(ivec3) CompositeConstruct 417 417 417
+             419:     27(int) Load 355(u16)
+             420:     27(int) SNegate 419
+             421:  190(ivec3) CompositeConstruct 420 420 420
+             424:  190(ivec3) Select 423 421 418
+                              Store 353(u16v) 424
+             426:   52(ivec2) Load 340(i16v)
+             427:     27(int) Bitcast 426
+                              Store 425(i32) 427
+             432:  429(ivec4) Load 431(i16v4)
+             433:     69(int) Bitcast 432
+                              Store 428(i64) 433
+             436:   49(ivec2) Load 435(u16v2)
+             437:     17(int) Bitcast 436
+                              Store 434(u32) 437
+             443:  440(ivec4) Load 442(u16v4)
+             444:     75(int) Bitcast 443
+                              Store 439(u64) 444
+             445:     27(int) Load 425(i32)
+             446:   52(ivec2) Bitcast 445
+                              Store 340(i16v) 446
+             447:     69(int) Load 428(i64)
+             448:  429(ivec4) Bitcast 447
+                              Store 431(i16v4) 448
+             449:     17(int) Load 434(u32)
+             450:   49(ivec2) Bitcast 449
+                              Store 435(u16v2) 450
+             451:     75(int) Load 439(u64)
+             452:  440(ivec4) Bitcast 451
+                              Store 442(u16v4) 452
+             455:  190(ivec3) Load 353(u16v)
+             456:     27(int) Load 355(u16)
+             457:  190(ivec3) CompositeConstruct 456 456 456
+             458:  422(bvec3) ULessThan 455 457
+                              Store 454(bv) 458
+             459:   52(ivec2) Load 340(i16v)
+             460:     14(int) Load 343(i16)
+             461:   52(ivec2) CompositeConstruct 460 460
+             462:  170(bvec2) SLessThan 459 461
+             463:  422(bvec3) Load 454(bv)
+             464:  422(bvec3) VectorShuffle 463 462 3 4 2
+                              Store 454(bv) 464
+             465:  190(ivec3) Load 353(u16v)
+             466:     27(int) Load 355(u16)
+             467:  190(ivec3) CompositeConstruct 466 466 466
+             468:  422(bvec3) ULessThanEqual 465 467
+                              Store 454(bv) 468
+             469:   52(ivec2) Load 340(i16v)
+             470:     14(int) Load 343(i16)
+             471:   52(ivec2) CompositeConstruct 470 470
+             472:  170(bvec2) SLessThanEqual 469 471
+             473:  422(bvec3) Load 454(bv)
+             474:  422(bvec3) VectorShuffle 473 472 3 4 2
+                              Store 454(bv) 474
+             475:  190(ivec3) Load 353(u16v)
+             476:     27(int) Load 355(u16)
+             477:  190(ivec3) CompositeConstruct 476 476 476
+             478:  422(bvec3) UGreaterThan 475 477
+                              Store 454(bv) 478
+             479:   52(ivec2) Load 340(i16v)
+             480:     14(int) Load 343(i16)
+             481:   52(ivec2) CompositeConstruct 480 480
+             482:  170(bvec2) SGreaterThan 479 481
+             483:  422(bvec3) Load 454(bv)
+             484:  422(bvec3) VectorShuffle 483 482 3 4 2
+                              Store 454(bv) 484
+             485:  190(ivec3) Load 353(u16v)
+             486:     27(int) Load 355(u16)
+             487:  190(ivec3) CompositeConstruct 486 486 486
+             488:  422(bvec3) UGreaterThanEqual 485 487
+                              Store 454(bv) 488
+             489:   52(ivec2) Load 340(i16v)
+             490:     14(int) Load 343(i16)
+             491:   52(ivec2) CompositeConstruct 490 490
+             492:  170(bvec2) SGreaterThanEqual 489 491
+             493:  422(bvec3) Load 454(bv)
+             494:  422(bvec3) VectorShuffle 493 492 3 4 2
+                              Store 454(bv) 494
+             495:  190(ivec3) Load 353(u16v)
+             496:     27(int) Load 355(u16)
+             497:  190(ivec3) CompositeConstruct 496 496 496
+             498:  422(bvec3) IEqual 495 497
+                              Store 454(bv) 498
+             499:   52(ivec2) Load 340(i16v)
+             500:     14(int) Load 343(i16)
+             501:   52(ivec2) CompositeConstruct 500 500
+             502:  170(bvec2) IEqual 499 501
+             503:  422(bvec3) Load 454(bv)
+             504:  422(bvec3) VectorShuffle 503 502 3 4 2
+                              Store 454(bv) 504
+             505:  190(ivec3) Load 353(u16v)
+             506:     27(int) Load 355(u16)
+             507:  190(ivec3) CompositeConstruct 506 506 506
+             508:  422(bvec3) INotEqual 505 507
+                              Store 454(bv) 508
+             509:   52(ivec2) Load 340(i16v)
+             510:     14(int) Load 343(i16)
+             511:   52(ivec2) CompositeConstruct 510 510
+             512:  170(bvec2) INotEqual 509 511
+             513:  422(bvec3) Load 454(bv)
+             514:  422(bvec3) VectorShuffle 513 512 3 4 2
+                              Store 454(bv) 514
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.int32.frag.out b/Test/baseResults/spv.int32.frag.out
new file mode 100644
index 0000000..546836c
--- /dev/null
+++ b/Test/baseResults/spv.int32.frag.out
@@ -0,0 +1,712 @@
+spv.int32.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 491
+
+                              Capability Shader
+                              Capability Float16
+                              Capability Float64
+                              Capability Int64
+                              Capability Int16
+                              Capability Int8
+                              Extension  "SPV_AMD_gpu_shader_half_float"
+                              Extension  "SPV_AMD_gpu_shader_int16"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main"
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int8"
+                              Name 4  "main"
+                              Name 6  "literal("
+                              Name 8  "typeCast32("
+                              Name 10  "operators("
+                              Name 12  "builtinFuncs("
+                              Name 16  "u32Max"
+                              Name 20  "i32"
+                              Name 27  "Uniforms"
+                              MemberName 27(Uniforms) 0  "index"
+                              Name 29  ""
+                              Name 35  "indexable"
+                              Name 39  "u32"
+                              Name 46  "indexable"
+                              Name 51  "u32v"
+                              Name 54  "i32v"
+                              Name 60  "i64v"
+                              Name 66  "u64v"
+                              Name 78  "f32v"
+                              Name 84  "f64v"
+                              Name 94  "i8v"
+                              Name 103  "i16v"
+                              Name 121  "u8v"
+                              Name 128  "u16v"
+                              Name 148  "f16v"
+                              Name 164  "bv"
+                              Name 182  "u32v"
+                              Name 187  "i32"
+                              Name 206  "i"
+                              Name 210  "uv"
+                              Name 223  "i64"
+                              Name 258  "b"
+                              Name 310  "i32v"
+                              Name 313  "i32"
+                              Name 323  "u32v"
+                              Name 325  "u32"
+                              Name 397  "i8v4"
+                              Name 400  "i16v2"
+                              Name 405  "u8v4"
+                              Name 408  "u16v2"
+                              Name 411  "i64"
+                              Name 414  "u32v2"
+                              Name 416  "u64"
+                              Name 420  "bv"
+                              Name 483  "Block"
+                              MemberName 483(Block) 0  "i32"
+                              MemberName 483(Block) 1  "i32v2"
+                              MemberName 483(Block) 2  "i32v3"
+                              MemberName 483(Block) 3  "i32v4"
+                              MemberName 483(Block) 4  "u32"
+                              MemberName 483(Block) 5  "u32v2"
+                              MemberName 483(Block) 6  "u32v3"
+                              MemberName 483(Block) 7  "u32v4"
+                              Name 485  "block"
+                              Name 486  "si32"
+                              Name 487  "su32"
+                              Name 488  "si"
+                              Name 489  "su"
+                              Name 490  "sb"
+                              MemberDecorate 27(Uniforms) 0 Offset 0
+                              Decorate 27(Uniforms) Block
+                              Decorate 29 DescriptorSet 0
+                              Decorate 29 Binding 0
+                              MemberDecorate 483(Block) 0 Offset 0
+                              MemberDecorate 483(Block) 1 Offset 8
+                              MemberDecorate 483(Block) 2 Offset 16
+                              MemberDecorate 483(Block) 3 Offset 32
+                              MemberDecorate 483(Block) 4 Offset 48
+                              MemberDecorate 483(Block) 5 Offset 56
+                              MemberDecorate 483(Block) 6 Offset 64
+                              MemberDecorate 483(Block) 7 Offset 80
+                              Decorate 483(Block) Block
+                              Decorate 485(block) DescriptorSet 0
+                              Decorate 485(block) Binding 1
+                              Decorate 486(si32) SpecId 100
+                              Decorate 487(su32) SpecId 101
+                              Decorate 488(si) SpecId 102
+                              Decorate 489(su) SpecId 103
+                              Decorate 490(sb) SpecId 104
+               2:             TypeVoid
+               3:             TypeFunction 2
+              14:             TypeInt 32 0
+              15:             TypePointer Private 14(int)
+      16(u32Max):     15(ptr) Variable Private
+              17:     14(int) Constant 4294967295
+              18:             TypeInt 32 1
+              19:             TypePointer Function 18(int)
+              21:     14(int) Constant 3
+              22:             TypeArray 18(int) 21
+              23:     18(int) Constant 4008636143
+              24:     18(int) Constant 4294967295
+              25:     18(int) Constant 536870912
+              26:          22 ConstantComposite 23 24 25
+    27(Uniforms):             TypeStruct 14(int)
+              28:             TypePointer Uniform 27(Uniforms)
+              29:     28(ptr) Variable Uniform
+              30:     18(int) Constant 0
+              31:             TypePointer Uniform 14(int)
+              34:             TypePointer Function 22
+              38:             TypePointer Function 14(int)
+              40:             TypeArray 14(int) 21
+              41:     14(int) Constant 2147483647
+              42:          40 ConstantComposite 17 17 41
+              45:             TypePointer Function 40
+              49:             TypeVector 14(int) 2
+              50:             TypePointer Function 49(ivec2)
+              52:             TypeVector 18(int) 2
+              53:             TypePointer Function 52(ivec2)
+              57:             TypeInt 64 1
+              58:             TypeVector 57(int) 2
+              59:             TypePointer Function 58(ivec2)
+              63:             TypeInt 64 0
+              64:             TypeVector 63(int) 2
+              65:             TypePointer Function 64(ivec2)
+              75:             TypeFloat 32
+              76:             TypeVector 75(float) 2
+              77:             TypePointer Function 76(fvec2)
+              81:             TypeFloat 64
+              82:             TypeVector 81(float) 2
+              83:             TypePointer Function 82(fvec2)
+              91:             TypeInt 8 1
+              92:             TypeVector 91(int) 2
+              93:             TypePointer Function 92(ivec2)
+             100:             TypeInt 16 1
+             101:             TypeVector 100(int) 2
+             102:             TypePointer Function 101(ivec2)
+             120:             TypeInt 8 0
+             127:             TypeInt 16 0
+             145:             TypeFloat 16
+             146:             TypeVector 145(float) 2
+             147:             TypePointer Function 146(fvec2)
+             161:             TypeBool
+             162:             TypeVector 161(bool) 2
+             163:             TypePointer Function 162(bvec2)
+             166:     18(int) Constant 1
+             167:   52(ivec2) ConstantComposite 30 30
+             168:   52(ivec2) ConstantComposite 166 166
+             171:     14(int) Constant 0
+             172:     14(int) Constant 1
+             173:   49(ivec2) ConstantComposite 171 171
+             174:   49(ivec2) ConstantComposite 172 172
+             180:             TypeVector 14(int) 3
+             181:             TypePointer Function 180(ivec3)
+             184:             TypeVector 18(int) 3
+             222:             TypePointer Function 57(int)
+             247:     14(int) Constant 2
+             257:             TypePointer Function 161(bool)
+             321:   52(ivec2) ConstantComposite 24 24
+             330:  180(ivec3) ConstantComposite 171 171 171
+             372:   161(bool) ConstantTrue
+             379:   161(bool) ConstantFalse
+             380:  162(bvec2) ConstantComposite 379 379
+             392:             TypeVector 161(bool) 3
+             393:  392(bvec3) ConstantComposite 379 379 379
+             395:             TypeVector 91(int) 4
+             396:             TypePointer Function 395(ivec4)
+             403:             TypeVector 100(int) 4
+             404:             TypePointer Function 403(ivec4)
+             415:             TypePointer Function 63(int)
+             419:             TypePointer Function 392(bvec3)
+             481:             TypeVector 18(int) 4
+             482:             TypeVector 14(int) 4
+      483(Block):             TypeStruct 18(int) 52(ivec2) 184(ivec3) 481(ivec4) 14(int) 49(ivec2) 180(ivec3) 482(ivec4)
+             484:             TypePointer Uniform 483(Block)
+      485(block):    484(ptr) Variable Uniform
+       486(si32):     18(int) SpecConstant 4294967286
+       487(su32):     14(int) SpecConstant 20
+         488(si):     18(int) SpecConstant 4294967291
+         489(su):     14(int) SpecConstant 4
+         490(sb):   161(bool) SpecConstantTrue
+         4(main):           2 Function None 3
+               5:             Label
+                              Store 16(u32Max) 17
+                              Return
+                              FunctionEnd
+     6(literal():           2 Function None 3
+               7:             Label
+         20(i32):     19(ptr) Variable Function
+   35(indexable):     34(ptr) Variable Function
+         39(u32):     38(ptr) Variable Function
+   46(indexable):     45(ptr) Variable Function
+              32:     31(ptr) AccessChain 29 30
+              33:     14(int) Load 32
+                              Store 35(indexable) 26
+              36:     19(ptr) AccessChain 35(indexable) 33
+              37:     18(int) Load 36
+                              Store 20(i32) 37
+              43:     31(ptr) AccessChain 29 30
+              44:     14(int) Load 43
+                              Store 46(indexable) 42
+              47:     38(ptr) AccessChain 46(indexable) 44
+              48:     14(int) Load 47
+                              Store 39(u32) 48
+                              Return
+                              FunctionEnd
+  8(typeCast32():           2 Function None 3
+               9:             Label
+        51(u32v):     50(ptr) Variable Function
+        54(i32v):     53(ptr) Variable Function
+        60(i64v):     59(ptr) Variable Function
+        66(u64v):     65(ptr) Variable Function
+        78(f32v):     77(ptr) Variable Function
+        84(f64v):     83(ptr) Variable Function
+         94(i8v):     93(ptr) Variable Function
+       103(i16v):    102(ptr) Variable Function
+        121(u8v):    102(ptr) Variable Function
+       128(u16v):     53(ptr) Variable Function
+       148(f16v):    147(ptr) Variable Function
+         164(bv):    163(ptr) Variable Function
+              55:   52(ivec2) Load 54(i32v)
+              56:   49(ivec2) Bitcast 55
+                              Store 51(u32v) 56
+              61:   52(ivec2) Load 54(i32v)
+              62:   58(ivec2) SConvert 61
+                              Store 60(i64v) 62
+              67:   52(ivec2) Load 54(i32v)
+              68:   58(ivec2) SConvert 67
+              69:   64(ivec2) Bitcast 68
+                              Store 66(u64v) 69
+              70:   49(ivec2) Load 51(u32v)
+              71:   58(ivec2) UConvert 70
+              72:   58(ivec2) Bitcast 71
+                              Store 60(i64v) 72
+              73:   49(ivec2) Load 51(u32v)
+              74:   64(ivec2) UConvert 73
+                              Store 66(u64v) 74
+              79:   52(ivec2) Load 54(i32v)
+              80:   76(fvec2) ConvertSToF 79
+                              Store 78(f32v) 80
+              85:   52(ivec2) Load 54(i32v)
+              86:   82(fvec2) ConvertSToF 85
+                              Store 84(f64v) 86
+              87:   49(ivec2) Load 51(u32v)
+              88:   76(fvec2) ConvertUToF 87
+                              Store 78(f32v) 88
+              89:   49(ivec2) Load 51(u32v)
+              90:   82(fvec2) ConvertUToF 89
+                              Store 84(f64v) 90
+              95:   52(ivec2) Load 54(i32v)
+              96:   92(ivec2) SConvert 95
+                              Store 94(i8v) 96
+              97:   49(ivec2) Load 51(u32v)
+              98:   92(ivec2) UConvert 97
+              99:   92(ivec2) Bitcast 98
+                              Store 94(i8v) 99
+             104:   52(ivec2) Load 54(i32v)
+             105:  101(ivec2) SConvert 104
+                              Store 103(i16v) 105
+             106:   49(ivec2) Load 51(u32v)
+             107:  101(ivec2) UConvert 106
+             108:  101(ivec2) Bitcast 107
+                              Store 103(i16v) 108
+             109:   52(ivec2) Load 54(i32v)
+             110:     18(int) CompositeExtract 109 0
+             111:     18(int) CompositeExtract 109 1
+             112:   52(ivec2) CompositeConstruct 110 111
+                              Store 54(i32v) 112
+             113:   49(ivec2) Load 51(u32v)
+             114:   52(ivec2) Bitcast 113
+                              Store 54(i32v) 114
+             115:   52(ivec2) Load 54(i32v)
+             116:   58(ivec2) SConvert 115
+                              Store 60(i64v) 116
+             117:   49(ivec2) Load 51(u32v)
+             118:   58(ivec2) UConvert 117
+             119:   58(ivec2) Bitcast 118
+                              Store 60(i64v) 119
+             122:   52(ivec2) Load 54(i32v)
+             123:   92(ivec2) SConvert 122
+             124:  101(ivec2) Bitcast 123
+                              Store 121(u8v) 124
+             125:   49(ivec2) Load 51(u32v)
+             126:  101(ivec2) UConvert 125
+                              Store 121(u8v) 126
+             129:   52(ivec2) Load 54(i32v)
+             130:  101(ivec2) SConvert 129
+             131:   52(ivec2) Bitcast 130
+                              Store 128(u16v) 131
+             132:   49(ivec2) Load 51(u32v)
+             133:   52(ivec2) UConvert 132
+                              Store 128(u16v) 133
+             134:   52(ivec2) Load 54(i32v)
+             135:   49(ivec2) Bitcast 134
+                              Store 51(u32v) 135
+             136:   49(ivec2) Load 51(u32v)
+             137:     14(int) CompositeExtract 136 0
+             138:     14(int) CompositeExtract 136 1
+             139:   49(ivec2) CompositeConstruct 137 138
+                              Store 51(u32v) 139
+             140:   52(ivec2) Load 54(i32v)
+             141:   58(ivec2) SConvert 140
+             142:   64(ivec2) Bitcast 141
+                              Store 66(u64v) 142
+             143:   49(ivec2) Load 51(u32v)
+             144:   64(ivec2) UConvert 143
+                              Store 66(u64v) 144
+             149:   52(ivec2) Load 54(i32v)
+             150:  146(fvec2) ConvertSToF 149
+                              Store 148(f16v) 150
+             151:   52(ivec2) Load 54(i32v)
+             152:   76(fvec2) ConvertSToF 151
+                              Store 78(f32v) 152
+             153:   52(ivec2) Load 54(i32v)
+             154:   82(fvec2) ConvertSToF 153
+                              Store 84(f64v) 154
+             155:   49(ivec2) Load 51(u32v)
+             156:  146(fvec2) ConvertUToF 155
+                              Store 148(f16v) 156
+             157:   49(ivec2) Load 51(u32v)
+             158:   76(fvec2) ConvertUToF 157
+                              Store 78(f32v) 158
+             159:   49(ivec2) Load 51(u32v)
+             160:   82(fvec2) ConvertUToF 159
+                              Store 84(f64v) 160
+             165:  162(bvec2) Load 164(bv)
+             169:   52(ivec2) Select 165 168 167
+                              Store 54(i32v) 169
+             170:  162(bvec2) Load 164(bv)
+             175:   49(ivec2) Select 170 174 173
+                              Store 51(u32v) 175
+             176:   52(ivec2) Load 54(i32v)
+             177:  162(bvec2) INotEqual 176 173
+                              Store 164(bv) 177
+             178:   49(ivec2) Load 51(u32v)
+             179:  162(bvec2) INotEqual 178 173
+                              Store 164(bv) 179
+                              Return
+                              FunctionEnd
+  10(operators():           2 Function None 3
+              11:             Label
+       182(u32v):    181(ptr) Variable Function
+        187(i32):     19(ptr) Variable Function
+          206(i):     19(ptr) Variable Function
+         210(uv):    181(ptr) Variable Function
+        223(i64):    222(ptr) Variable Function
+          258(b):    257(ptr) Variable Function
+             183:  180(ivec3) Load 182(u32v)
+             185:  184(ivec3) CompositeConstruct 166 166 166
+             186:  180(ivec3) IAdd 183 185
+                              Store 182(u32v) 186
+             188:     18(int) Load 187(i32)
+             189:     18(int) ISub 188 166
+                              Store 187(i32) 189
+             190:     18(int) Load 187(i32)
+             191:     18(int) IAdd 190 166
+                              Store 187(i32) 191
+             192:  180(ivec3) Load 182(u32v)
+             193:  184(ivec3) CompositeConstruct 166 166 166
+             194:  180(ivec3) ISub 192 193
+                              Store 182(u32v) 194
+             195:  180(ivec3) Load 182(u32v)
+             196:  180(ivec3) Not 195
+                              Store 182(u32v) 196
+             197:     18(int) Load 187(i32)
+                              Store 187(i32) 197
+             198:  180(ivec3) Load 182(u32v)
+             199:  180(ivec3) SNegate 198
+                              Store 182(u32v) 199
+             200:     18(int) Load 187(i32)
+             201:     18(int) Load 187(i32)
+             202:     18(int) IAdd 201 200
+                              Store 187(i32) 202
+             203:  180(ivec3) Load 182(u32v)
+             204:  180(ivec3) Load 182(u32v)
+             205:  180(ivec3) ISub 204 203
+                              Store 182(u32v) 205
+             207:     18(int) Load 187(i32)
+             208:     18(int) Load 206(i)
+             209:     18(int) IMul 208 207
+                              Store 206(i) 209
+             211:  180(ivec3) Load 182(u32v)
+             212:  180(ivec3) Load 210(uv)
+             213:  180(ivec3) UDiv 212 211
+                              Store 210(uv) 213
+             214:     18(int) Load 187(i32)
+             215:     14(int) Bitcast 214
+             216:  180(ivec3) Load 210(uv)
+             217:  180(ivec3) CompositeConstruct 215 215 215
+             218:  180(ivec3) UMod 216 217
+                              Store 210(uv) 218
+             219:  180(ivec3) Load 182(u32v)
+             220:  180(ivec3) Load 210(uv)
+             221:  180(ivec3) IAdd 219 220
+                              Store 210(uv) 221
+             224:     18(int) Load 187(i32)
+             225:     57(int) SConvert 224
+             226:     57(int) Load 223(i64)
+             227:     57(int) ISub 225 226
+                              Store 223(i64) 227
+             228:  180(ivec3) Load 182(u32v)
+             229:  180(ivec3) Load 210(uv)
+             230:  180(ivec3) IMul 228 229
+                              Store 210(uv) 230
+             231:     18(int) Load 187(i32)
+             232:     57(int) SConvert 231
+             233:     57(int) Load 223(i64)
+             234:     57(int) IMul 232 233
+                              Store 223(i64) 234
+             235:     18(int) Load 187(i32)
+             236:     18(int) Load 206(i)
+             237:     18(int) SMod 235 236
+                              Store 206(i) 237
+             238:     18(int) Load 187(i32)
+             239:  180(ivec3) Load 182(u32v)
+             240:  184(ivec3) CompositeConstruct 238 238 238
+             241:  180(ivec3) ShiftLeftLogical 239 240
+                              Store 182(u32v) 241
+             242:     38(ptr) AccessChain 182(u32v) 172
+             243:     14(int) Load 242
+             244:     18(int) Load 187(i32)
+             245:     18(int) ShiftRightArithmetic 244 243
+                              Store 187(i32) 245
+             246:     57(int) Load 223(i64)
+             248:     38(ptr) AccessChain 182(u32v) 247
+             249:     14(int) Load 248
+             250:     57(int) UConvert 249
+             251:     57(int) Bitcast 250
+             252:     57(int) ShiftLeftLogical 246 251
+                              Store 223(i64) 252
+             253:  180(ivec3) Load 182(u32v)
+             254:     18(int) Load 206(i)
+             255:  184(ivec3) CompositeConstruct 254 254 254
+             256:  180(ivec3) ShiftLeftLogical 253 255
+                              Store 210(uv) 256
+             259:     38(ptr) AccessChain 182(u32v) 171
+             260:     14(int) Load 259
+             261:     18(int) Load 187(i32)
+             262:     14(int) Bitcast 261
+             263:   161(bool) INotEqual 260 262
+                              Store 258(b) 263
+             264:     18(int) Load 187(i32)
+             265:     14(int) Bitcast 264
+             266:     38(ptr) AccessChain 182(u32v) 171
+             267:     14(int) Load 266
+             268:   161(bool) IEqual 265 267
+                              Store 258(b) 268
+             269:     38(ptr) AccessChain 182(u32v) 171
+             270:     14(int) Load 269
+             271:     38(ptr) AccessChain 210(uv) 172
+             272:     14(int) Load 271
+             273:   161(bool) UGreaterThan 270 272
+                              Store 258(b) 273
+             274:     18(int) Load 187(i32)
+             275:     18(int) Load 206(i)
+             276:   161(bool) SLessThan 274 275
+                              Store 258(b) 276
+             277:     38(ptr) AccessChain 182(u32v) 172
+             278:     14(int) Load 277
+             279:     38(ptr) AccessChain 210(uv) 171
+             280:     14(int) Load 279
+             281:   161(bool) UGreaterThanEqual 278 280
+                              Store 258(b) 281
+             282:     18(int) Load 187(i32)
+             283:     18(int) Load 206(i)
+             284:   161(bool) SLessThanEqual 282 283
+                              Store 258(b) 284
+             285:     18(int) Load 187(i32)
+             286:     14(int) Bitcast 285
+             287:  180(ivec3) Load 210(uv)
+             288:  180(ivec3) CompositeConstruct 286 286 286
+             289:  180(ivec3) BitwiseOr 287 288
+                              Store 210(uv) 289
+             290:     18(int) Load 187(i32)
+             291:     18(int) Load 206(i)
+             292:     18(int) BitwiseOr 290 291
+                              Store 206(i) 292
+             293:     18(int) Load 187(i32)
+             294:     57(int) SConvert 293
+             295:     57(int) Load 223(i64)
+             296:     57(int) BitwiseAnd 295 294
+                              Store 223(i64) 296
+             297:  180(ivec3) Load 182(u32v)
+             298:  180(ivec3) Load 210(uv)
+             299:  180(ivec3) BitwiseAnd 297 298
+                              Store 210(uv) 299
+             300:     18(int) Load 187(i32)
+             301:     14(int) Bitcast 300
+             302:  180(ivec3) Load 210(uv)
+             303:  180(ivec3) CompositeConstruct 301 301 301
+             304:  180(ivec3) BitwiseXor 302 303
+                              Store 210(uv) 304
+             305:  180(ivec3) Load 182(u32v)
+             306:     18(int) Load 187(i32)
+             307:     14(int) Bitcast 306
+             308:  180(ivec3) CompositeConstruct 307 307 307
+             309:  180(ivec3) BitwiseXor 305 308
+                              Store 182(u32v) 309
+                              Return
+                              FunctionEnd
+12(builtinFuncs():           2 Function None 3
+              13:             Label
+       310(i32v):     53(ptr) Variable Function
+        313(i32):     19(ptr) Variable Function
+       323(u32v):    181(ptr) Variable Function
+        325(u32):     38(ptr) Variable Function
+       397(i8v4):    396(ptr) Variable Function
+      400(i16v2):    102(ptr) Variable Function
+       405(u8v4):    404(ptr) Variable Function
+      408(u16v2):     53(ptr) Variable Function
+        411(i64):    222(ptr) Variable Function
+      414(u32v2):     50(ptr) Variable Function
+        416(u64):    415(ptr) Variable Function
+         420(bv):    419(ptr) Variable Function
+             311:   52(ivec2) Load 310(i32v)
+             312:   52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 311
+                              Store 310(i32v) 312
+             314:     18(int) Load 313(i32)
+             315:     18(int) ExtInst 1(GLSL.std.450) 7(SSign) 314
+                              Store 313(i32) 315
+             316:   52(ivec2) Load 310(i32v)
+             317:     18(int) Load 313(i32)
+             318:   52(ivec2) CompositeConstruct 317 317
+             319:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 316 318
+                              Store 310(i32v) 319
+             320:   52(ivec2) Load 310(i32v)
+             322:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 320 321
+                              Store 310(i32v) 322
+             324:  180(ivec3) Load 323(u32v)
+             326:     14(int) Load 325(u32)
+             327:  180(ivec3) CompositeConstruct 326 326 326
+             328:  180(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 324 327
+                              Store 323(u32v) 328
+             329:  180(ivec3) Load 323(u32v)
+             331:  180(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 329 330
+                              Store 323(u32v) 331
+             332:   52(ivec2) Load 310(i32v)
+             333:     18(int) Load 313(i32)
+             334:   52(ivec2) CompositeConstruct 333 333
+             335:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 332 334
+                              Store 310(i32v) 335
+             336:   52(ivec2) Load 310(i32v)
+             337:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 336 321
+                              Store 310(i32v) 337
+             338:  180(ivec3) Load 323(u32v)
+             339:     14(int) Load 325(u32)
+             340:  180(ivec3) CompositeConstruct 339 339 339
+             341:  180(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 338 340
+                              Store 323(u32v) 341
+             342:  180(ivec3) Load 323(u32v)
+             343:  180(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 342 330
+                              Store 323(u32v) 343
+             344:   52(ivec2) Load 310(i32v)
+             345:     18(int) Load 313(i32)
+             346:     18(int) SNegate 345
+             347:     18(int) Load 313(i32)
+             348:   52(ivec2) CompositeConstruct 346 346
+             349:   52(ivec2) CompositeConstruct 347 347
+             350:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 344 348 349
+                              Store 310(i32v) 350
+             351:   52(ivec2) Load 310(i32v)
+             352:   52(ivec2) Load 310(i32v)
+             353:   52(ivec2) SNegate 352
+             354:   52(ivec2) Load 310(i32v)
+             355:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 351 353 354
+                              Store 310(i32v) 355
+             356:  180(ivec3) Load 323(u32v)
+             357:     14(int) Load 325(u32)
+             358:     14(int) SNegate 357
+             359:     14(int) Load 325(u32)
+             360:  180(ivec3) CompositeConstruct 358 358 358
+             361:  180(ivec3) CompositeConstruct 359 359 359
+             362:  180(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 356 360 361
+                              Store 323(u32v) 362
+             363:  180(ivec3) Load 323(u32v)
+             364:  180(ivec3) Load 323(u32v)
+             365:  180(ivec3) SNegate 364
+             366:  180(ivec3) Load 323(u32v)
+             367:  180(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 363 365 366
+                              Store 323(u32v) 367
+             368:     19(ptr) AccessChain 310(i32v) 171
+             369:     18(int) Load 368
+             370:     19(ptr) AccessChain 310(i32v) 172
+             371:     18(int) Load 370
+             373:     18(int) Select 372 371 369
+                              Store 313(i32) 373
+             374:     18(int) Load 313(i32)
+             375:   52(ivec2) CompositeConstruct 374 374
+             376:     18(int) Load 313(i32)
+             377:     18(int) SNegate 376
+             378:   52(ivec2) CompositeConstruct 377 377
+             381:   52(ivec2) Select 380 378 375
+                              Store 310(i32v) 381
+             382:     38(ptr) AccessChain 323(u32v) 171
+             383:     14(int) Load 382
+             384:     38(ptr) AccessChain 323(u32v) 172
+             385:     14(int) Load 384
+             386:     14(int) Select 372 385 383
+                              Store 325(u32) 386
+             387:     14(int) Load 325(u32)
+             388:  180(ivec3) CompositeConstruct 387 387 387
+             389:     14(int) Load 325(u32)
+             390:     14(int) SNegate 389
+             391:  180(ivec3) CompositeConstruct 390 390 390
+             394:  180(ivec3) Select 393 391 388
+                              Store 323(u32v) 394
+             398:  395(ivec4) Load 397(i8v4)
+             399:     18(int) Bitcast 398
+                              Store 313(i32) 399
+             401:  101(ivec2) Load 400(i16v2)
+             402:     18(int) Bitcast 401
+                              Store 313(i32) 402
+             406:  403(ivec4) Load 405(u8v4)
+             407:     14(int) Bitcast 406
+                              Store 325(u32) 407
+             409:   52(ivec2) Load 408(u16v2)
+             410:     14(int) Bitcast 409
+                              Store 325(u32) 410
+             412:     57(int) Load 411(i64)
+             413:   52(ivec2) Bitcast 412
+                              Store 310(i32v) 413
+             417:     63(int) Load 416(u64)
+             418:   49(ivec2) Bitcast 417
+                              Store 414(u32v2) 418
+             421:  180(ivec3) Load 323(u32v)
+             422:     14(int) Load 325(u32)
+             423:  180(ivec3) CompositeConstruct 422 422 422
+             424:  392(bvec3) ULessThan 421 423
+                              Store 420(bv) 424
+             425:   52(ivec2) Load 310(i32v)
+             426:     18(int) Load 313(i32)
+             427:   52(ivec2) CompositeConstruct 426 426
+             428:  162(bvec2) SLessThan 425 427
+             429:  392(bvec3) Load 420(bv)
+             430:  392(bvec3) VectorShuffle 429 428 3 4 2
+                              Store 420(bv) 430
+             431:  180(ivec3) Load 323(u32v)
+             432:     14(int) Load 325(u32)
+             433:  180(ivec3) CompositeConstruct 432 432 432
+             434:  392(bvec3) ULessThanEqual 431 433
+                              Store 420(bv) 434
+             435:   52(ivec2) Load 310(i32v)
+             436:     18(int) Load 313(i32)
+             437:   52(ivec2) CompositeConstruct 436 436
+             438:  162(bvec2) SLessThanEqual 435 437
+             439:  392(bvec3) Load 420(bv)
+             440:  392(bvec3) VectorShuffle 439 438 3 4 2
+                              Store 420(bv) 440
+             441:  180(ivec3) Load 323(u32v)
+             442:     14(int) Load 325(u32)
+             443:  180(ivec3) CompositeConstruct 442 442 442
+             444:  392(bvec3) UGreaterThan 441 443
+                              Store 420(bv) 444
+             445:   52(ivec2) Load 310(i32v)
+             446:     18(int) Load 313(i32)
+             447:   52(ivec2) CompositeConstruct 446 446
+             448:  162(bvec2) SGreaterThan 445 447
+             449:  392(bvec3) Load 420(bv)
+             450:  392(bvec3) VectorShuffle 449 448 3 4 2
+                              Store 420(bv) 450
+             451:  180(ivec3) Load 323(u32v)
+             452:     14(int) Load 325(u32)
+             453:  180(ivec3) CompositeConstruct 452 452 452
+             454:  392(bvec3) UGreaterThanEqual 451 453
+                              Store 420(bv) 454
+             455:   52(ivec2) Load 310(i32v)
+             456:     18(int) Load 313(i32)
+             457:   52(ivec2) CompositeConstruct 456 456
+             458:  162(bvec2) SGreaterThanEqual 455 457
+             459:  392(bvec3) Load 420(bv)
+             460:  392(bvec3) VectorShuffle 459 458 3 4 2
+                              Store 420(bv) 460
+             461:  180(ivec3) Load 323(u32v)
+             462:     14(int) Load 325(u32)
+             463:  180(ivec3) CompositeConstruct 462 462 462
+             464:  392(bvec3) IEqual 461 463
+                              Store 420(bv) 464
+             465:   52(ivec2) Load 310(i32v)
+             466:     18(int) Load 313(i32)
+             467:   52(ivec2) CompositeConstruct 466 466
+             468:  162(bvec2) IEqual 465 467
+             469:  392(bvec3) Load 420(bv)
+             470:  392(bvec3) VectorShuffle 469 468 3 4 2
+                              Store 420(bv) 470
+             471:  180(ivec3) Load 323(u32v)
+             472:     14(int) Load 325(u32)
+             473:  180(ivec3) CompositeConstruct 472 472 472
+             474:  392(bvec3) INotEqual 471 473
+                              Store 420(bv) 474
+             475:   52(ivec2) Load 310(i32v)
+             476:     18(int) Load 313(i32)
+             477:   52(ivec2) CompositeConstruct 476 476
+             478:  162(bvec2) INotEqual 475 477
+             479:  392(bvec3) Load 420(bv)
+             480:  392(bvec3) VectorShuffle 479 478 3 4 2
+                              Store 420(bv) 480
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.int64.frag.out b/Test/baseResults/spv.int64.frag.out
index 3c6dc85..c41a2fd 100644
--- a/Test/baseResults/spv.int64.frag.out
+++ b/Test/baseResults/spv.int64.frag.out
@@ -1,7 +1,7 @@
 spv.int64.frag
 // Module Version 10000
 // Generated by (magic number): 80002
-// Id's are bound by 480
+// Id's are bound by 483
 
                               Capability Shader
                               Capability Float64
@@ -36,38 +36,38 @@
                               Name 139  "i64"
                               Name 159  "i"
                               Name 166  "uv"
-                              Name 218  "b"
-                              Name 278  "i64v"
-                              Name 281  "i64"
-                              Name 291  "u64v"
-                              Name 293  "u64"
-                              Name 365  "dv"
-                              Name 384  "iv"
-                              Name 389  "uv"
-                              Name 393  "bv"
-                              Name 454  "Block"
-                              MemberName 454(Block) 0  "i64v"
-                              MemberName 454(Block) 1  "u64"
-                              Name 456  "block"
-                              Name 457  "si64"
-                              Name 458  "su64"
-                              Name 459  "si"
-                              Name 460  "su"
-                              Name 461  "sb"
+                              Name 221  "b"
+                              Name 281  "i64v"
+                              Name 284  "i64"
+                              Name 294  "u64v"
+                              Name 296  "u64"
+                              Name 368  "dv"
+                              Name 387  "iv"
+                              Name 392  "uv"
+                              Name 396  "bv"
+                              Name 457  "Block"
+                              MemberName 457(Block) 0  "i64v"
+                              MemberName 457(Block) 1  "u64"
+                              Name 459  "block"
+                              Name 460  "si64"
+                              Name 461  "su64"
+                              Name 462  "si"
+                              Name 463  "su"
+                              Name 464  "sb"
                               MemberDecorate 28(Uniforms) 0 Offset 0
                               Decorate 28(Uniforms) Block
                               Decorate 30 DescriptorSet 0
                               Decorate 30 Binding 0
-                              MemberDecorate 454(Block) 0 Offset 0
-                              MemberDecorate 454(Block) 1 Offset 24
-                              Decorate 454(Block) Block
-                              Decorate 456(block) DescriptorSet 0
-                              Decorate 456(block) Binding 1
-                              Decorate 457(si64) SpecId 100
-                              Decorate 458(su64) SpecId 101
-                              Decorate 459(si) SpecId 102
-                              Decorate 460(su) SpecId 103
-                              Decorate 461(sb) SpecId 104
+                              MemberDecorate 457(Block) 0 Offset 0
+                              MemberDecorate 457(Block) 1 Offset 24
+                              Decorate 457(Block) Block
+                              Decorate 459(block) DescriptorSet 0
+                              Decorate 459(block) Binding 1
+                              Decorate 460(si64) SpecId 100
+                              Decorate 461(su64) SpecId 101
+                              Decorate 462(si) SpecId 102
+                              Decorate 463(su) SpecId 103
+                              Decorate 464(sb) SpecId 104
                2:             TypeVoid
                3:             TypeFunction 2
               14:             TypeInt 64 0
@@ -127,53 +127,52 @@
              158:             TypePointer Function 31(int)
              164:             TypeVector 21(int) 3
              165:             TypePointer Function 164(ivec3)
-             199:             TypeVector 31(int) 3
-             202:     21(int) Constant 1
-             203:             TypePointer Function 21(int)
-             209:     21(int) Constant 2
-             217:             TypePointer Function 55(bool)
-             219:     21(int) Constant 0
-             289:   52(ivec2) ConstantComposite 25 25
-             298:  132(ivec3) ConstantComposite 69 69 69
-             340:    55(bool) ConstantTrue
-             347:    55(bool) ConstantFalse
-             348:   56(bvec2) ConstantComposite 347 347
-             360:             TypeVector 55(bool) 3
-             361:  360(bvec3) ConstantComposite 347 347 347
-             363:             TypeVector 94(float) 3
-             364:             TypePointer Function 363(fvec3)
-             369:             TypePointer Function 94(float)
-             380:     31(int) Constant 1
-             381:     31(int) Constant 2
-             382:   74(ivec2) ConstantComposite 380 381
-             387:   81(ivec2) ConstantComposite 209 22
-             392:             TypePointer Function 360(bvec3)
-      454(Block):             TypeStruct 136(ivec3) 14(int)
-             455:             TypePointer Uniform 454(Block)
-      456(block):    455(ptr) Variable Uniform
-       457(si64):     18(int) SpecConstant 4294967286 4294967295
-       458(su64):     14(int) SpecConstant 20 0
-         459(si):     31(int) SpecConstant 4294967291
-         460(su):     21(int) SpecConstant 4
-         461(sb):    55(bool) SpecConstantTrue
-             462:    55(bool) SpecConstantOp 171 457(si64) 69
-             463:    55(bool) SpecConstantOp 171 458(su64) 69
-             464:     18(int) SpecConstantOp 169 461(sb) 61 60
-             465:     14(int) SpecConstantOp 169 461(sb) 70 69
-             466:     31(int) SpecConstantOp 114 457(si64)
-             467:     18(int) SpecConstantOp 114 459(si)
-             468:     21(int) SpecConstantOp 113 458(su64)
-             469:     14(int) SpecConstantOp 113 460(su)
-             470:     18(int) SpecConstantOp 128 458(su64) 69
-             471:     14(int) SpecConstantOp 128 457(si64) 69
-             472:     21(int) SpecConstantOp 113 458(su64)
-             473:     31(int) SpecConstantOp 128 472 219
-             474:     18(int) SpecConstantOp 114 459(si)
-             475:     14(int) SpecConstantOp 128 474 69
-             476:     31(int) SpecConstantOp 114 457(si64)
-             477:     21(int) SpecConstantOp 128 476 219
-             478:     14(int) SpecConstantOp 113 460(su)
-             479:     18(int) SpecConstantOp 128 478 69
+             203:     21(int) Constant 1
+             204:             TypePointer Function 21(int)
+             212:     21(int) Constant 2
+             220:             TypePointer Function 55(bool)
+             222:     21(int) Constant 0
+             292:   52(ivec2) ConstantComposite 25 25
+             301:  132(ivec3) ConstantComposite 69 69 69
+             343:    55(bool) ConstantTrue
+             350:    55(bool) ConstantFalse
+             351:   56(bvec2) ConstantComposite 350 350
+             363:             TypeVector 55(bool) 3
+             364:  363(bvec3) ConstantComposite 350 350 350
+             366:             TypeVector 94(float) 3
+             367:             TypePointer Function 366(fvec3)
+             372:             TypePointer Function 94(float)
+             383:     31(int) Constant 1
+             384:     31(int) Constant 2
+             385:   74(ivec2) ConstantComposite 383 384
+             390:   81(ivec2) ConstantComposite 212 22
+             395:             TypePointer Function 363(bvec3)
+      457(Block):             TypeStruct 136(ivec3) 14(int)
+             458:             TypePointer Uniform 457(Block)
+      459(block):    458(ptr) Variable Uniform
+       460(si64):     18(int) SpecConstant 4294967286 4294967295
+       461(su64):     14(int) SpecConstant 20 0
+         462(si):     31(int) SpecConstant 4294967291
+         463(su):     21(int) SpecConstant 4
+         464(sb):    55(bool) SpecConstantTrue
+             465:    55(bool) SpecConstantOp 171 460(si64) 69
+             466:    55(bool) SpecConstantOp 171 461(su64) 69
+             467:     18(int) SpecConstantOp 169 464(sb) 61 60
+             468:     14(int) SpecConstantOp 169 464(sb) 70 69
+             469:     31(int) SpecConstantOp 114 460(si64)
+             470:     18(int) SpecConstantOp 114 462(si)
+             471:     21(int) SpecConstantOp 113 461(su64)
+             472:     14(int) SpecConstantOp 113 463(su)
+             473:     18(int) SpecConstantOp 128 461(su64) 69
+             474:     14(int) SpecConstantOp 128 460(si64) 69
+             475:     31(int) SpecConstantOp 113 461(su64)
+             476:     31(int) SpecConstantOp 128 475 222
+             477:     18(int) SpecConstantOp 114 462(si)
+             478:     14(int) SpecConstantOp 128 477 69
+             479:     31(int) SpecConstantOp 114 460(si64)
+             480:     21(int) SpecConstantOp 128 479 222
+             481:     18(int) SpecConstantOp 113 463(su)
+             482:     18(int) SpecConstantOp 128 481 69
          4(main):           2 Function None 3
                5:             Label
                               Store 16(u64Max) 17
@@ -267,11 +266,11 @@
              122:   81(ivec2) Bitcast 121
                               Store 83(uv) 122
              123:   81(ivec2) Load 83(uv)
-             124:   65(ivec2) UConvert 123
+             124:   52(ivec2) UConvert 123
              125:   52(ivec2) Bitcast 124
                               Store 54(i64v) 125
              126:   65(ivec2) Load 67(u64v)
-             127:   81(ivec2) UConvert 126
+             127:   74(ivec2) UConvert 126
              128:   74(ivec2) Bitcast 127
                               Store 76(iv) 128
              129:   74(ivec2) Load 76(iv)
@@ -286,7 +285,7 @@
         139(i64):     19(ptr) Variable Function
           159(i):    158(ptr) Variable Function
          166(uv):    165(ptr) Variable Function
-          218(b):    217(ptr) Variable Function
+          221(b):    220(ptr) Variable Function
              135:  132(ivec3) Load 134(u64v)
              137:  136(ivec3) CompositeConstruct 61 61 61
              138:  132(ivec3) IAdd 135 137
@@ -360,297 +359,301 @@
              196:     18(int) SMod 193 195
                               Store 139(i64) 196
              197:     31(int) Load 159(i)
-             198:  132(ivec3) Load 134(u64v)
-             200:  199(ivec3) CompositeConstruct 197 197 197
-             201:  132(ivec3) ShiftLeftLogical 198 200
-                              Store 134(u64v) 201
-             204:    203(ptr) AccessChain 166(uv) 202
-             205:     21(int) Load 204
-             206:     18(int) Load 139(i64)
-             207:     18(int) ShiftRightArithmetic 206 205
-                              Store 139(i64) 207
-             208:     18(int) Load 139(i64)
-             210:     40(ptr) AccessChain 134(u64v) 209
-             211:     14(int) Load 210
-             212:     18(int) ShiftLeftLogical 208 211
-                              Store 139(i64) 212
-             213:  132(ivec3) Load 134(u64v)
-             214:     18(int) Load 139(i64)
-             215:  136(ivec3) CompositeConstruct 214 214 214
-             216:  132(ivec3) ShiftLeftLogical 213 215
-                              Store 134(u64v) 216
-             220:     40(ptr) AccessChain 134(u64v) 219
-             221:     14(int) Load 220
-             222:     18(int) Load 139(i64)
-             223:     14(int) Bitcast 222
-             224:    55(bool) INotEqual 221 223
-                              Store 218(b) 224
+             198:     18(int) SConvert 197
+             199:     14(int) Bitcast 198
+             200:  132(ivec3) Load 134(u64v)
+             201:  132(ivec3) CompositeConstruct 199 199 199
+             202:  132(ivec3) ShiftLeftLogical 200 201
+                              Store 134(u64v) 202
+             205:    204(ptr) AccessChain 166(uv) 203
+             206:     21(int) Load 205
+             207:     18(int) UConvert 206
+             208:     18(int) Bitcast 207
+             209:     18(int) Load 139(i64)
+             210:     18(int) ShiftRightArithmetic 209 208
+                              Store 139(i64) 210
+             211:     18(int) Load 139(i64)
+             213:     40(ptr) AccessChain 134(u64v) 212
+             214:     14(int) Load 213
+             215:     18(int) ShiftLeftLogical 211 214
+                              Store 139(i64) 215
+             216:  132(ivec3) Load 134(u64v)
+             217:     18(int) Load 139(i64)
+             218:  136(ivec3) CompositeConstruct 217 217 217
+             219:  132(ivec3) ShiftLeftLogical 216 218
+                              Store 134(u64v) 219
+             223:     40(ptr) AccessChain 134(u64v) 222
+             224:     14(int) Load 223
              225:     18(int) Load 139(i64)
              226:     14(int) Bitcast 225
-             227:     40(ptr) AccessChain 134(u64v) 219
-             228:     14(int) Load 227
-             229:    55(bool) IEqual 226 228
-                              Store 218(b) 229
-             230:     40(ptr) AccessChain 134(u64v) 219
+             227:    55(bool) INotEqual 224 226
+                              Store 221(b) 227
+             228:     18(int) Load 139(i64)
+             229:     14(int) Bitcast 228
+             230:     40(ptr) AccessChain 134(u64v) 222
              231:     14(int) Load 230
-             232:    203(ptr) AccessChain 166(uv) 202
-             233:     21(int) Load 232
-             234:     14(int) UConvert 233
-             235:    55(bool) UGreaterThan 231 234
-                              Store 218(b) 235
-             236:     18(int) Load 139(i64)
-             237:     31(int) Load 159(i)
-             238:     18(int) SConvert 237
-             239:    55(bool) SLessThan 236 238
-                              Store 218(b) 239
-             240:     40(ptr) AccessChain 134(u64v) 202
-             241:     14(int) Load 240
-             242:    203(ptr) AccessChain 166(uv) 219
-             243:     21(int) Load 242
-             244:     14(int) UConvert 243
-             245:    55(bool) UGreaterThanEqual 241 244
-                              Store 218(b) 245
-             246:     18(int) Load 139(i64)
-             247:     31(int) Load 159(i)
-             248:     18(int) SConvert 247
-             249:    55(bool) SLessThanEqual 246 248
-                              Store 218(b) 249
+             232:    55(bool) IEqual 229 231
+                              Store 221(b) 232
+             233:     40(ptr) AccessChain 134(u64v) 222
+             234:     14(int) Load 233
+             235:    204(ptr) AccessChain 166(uv) 203
+             236:     21(int) Load 235
+             237:     14(int) UConvert 236
+             238:    55(bool) UGreaterThan 234 237
+                              Store 221(b) 238
+             239:     18(int) Load 139(i64)
+             240:     31(int) Load 159(i)
+             241:     18(int) SConvert 240
+             242:    55(bool) SLessThan 239 241
+                              Store 221(b) 242
+             243:     40(ptr) AccessChain 134(u64v) 203
+             244:     14(int) Load 243
+             245:    204(ptr) AccessChain 166(uv) 222
+             246:     21(int) Load 245
+             247:     14(int) UConvert 246
+             248:    55(bool) UGreaterThanEqual 244 247
+                              Store 221(b) 248
+             249:     18(int) Load 139(i64)
              250:     31(int) Load 159(i)
              251:     18(int) SConvert 250
-             252:     14(int) Bitcast 251
-             253:  132(ivec3) Load 134(u64v)
-             254:  132(ivec3) CompositeConstruct 252 252 252
-             255:  132(ivec3) BitwiseOr 253 254
-                              Store 134(u64v) 255
-             256:     18(int) Load 139(i64)
-             257:     31(int) Load 159(i)
-             258:     18(int) SConvert 257
-             259:     18(int) BitwiseOr 256 258
-                              Store 139(i64) 259
+             252:    55(bool) SLessThanEqual 249 251
+                              Store 221(b) 252
+             253:     31(int) Load 159(i)
+             254:     18(int) SConvert 253
+             255:     14(int) Bitcast 254
+             256:  132(ivec3) Load 134(u64v)
+             257:  132(ivec3) CompositeConstruct 255 255 255
+             258:  132(ivec3) BitwiseOr 256 257
+                              Store 134(u64v) 258
+             259:     18(int) Load 139(i64)
              260:     31(int) Load 159(i)
              261:     18(int) SConvert 260
-             262:     18(int) Load 139(i64)
-             263:     18(int) BitwiseAnd 262 261
-                              Store 139(i64) 263
-             264:  132(ivec3) Load 134(u64v)
-             265:  164(ivec3) Load 166(uv)
-             266:  132(ivec3) UConvert 265
-             267:  132(ivec3) BitwiseAnd 264 266
-                              Store 134(u64v) 267
-             268:     18(int) Load 139(i64)
-             269:     14(int) Bitcast 268
-             270:  132(ivec3) Load 134(u64v)
-             271:  132(ivec3) CompositeConstruct 269 269 269
-             272:  132(ivec3) BitwiseXor 270 271
-                              Store 134(u64v) 272
+             262:     18(int) BitwiseOr 259 261
+                              Store 139(i64) 262
+             263:     31(int) Load 159(i)
+             264:     18(int) SConvert 263
+             265:     18(int) Load 139(i64)
+             266:     18(int) BitwiseAnd 265 264
+                              Store 139(i64) 266
+             267:  132(ivec3) Load 134(u64v)
+             268:  164(ivec3) Load 166(uv)
+             269:  132(ivec3) UConvert 268
+             270:  132(ivec3) BitwiseAnd 267 269
+                              Store 134(u64v) 270
+             271:     18(int) Load 139(i64)
+             272:     14(int) Bitcast 271
              273:  132(ivec3) Load 134(u64v)
-             274:     18(int) Load 139(i64)
-             275:     14(int) Bitcast 274
-             276:  132(ivec3) CompositeConstruct 275 275 275
-             277:  132(ivec3) BitwiseXor 273 276
-                              Store 134(u64v) 277
+             274:  132(ivec3) CompositeConstruct 272 272 272
+             275:  132(ivec3) BitwiseXor 273 274
+                              Store 134(u64v) 275
+             276:  132(ivec3) Load 134(u64v)
+             277:     18(int) Load 139(i64)
+             278:     14(int) Bitcast 277
+             279:  132(ivec3) CompositeConstruct 278 278 278
+             280:  132(ivec3) BitwiseXor 276 279
+                              Store 134(u64v) 280
                               Return
                               FunctionEnd
 12(builtinFuncs():           2 Function None 3
               13:             Label
-       278(i64v):     53(ptr) Variable Function
-        281(i64):     19(ptr) Variable Function
-       291(u64v):    133(ptr) Variable Function
-        293(u64):     40(ptr) Variable Function
-         365(dv):    364(ptr) Variable Function
-         384(iv):     75(ptr) Variable Function
-         389(uv):     82(ptr) Variable Function
-         393(bv):    392(ptr) Variable Function
-             279:   52(ivec2) Load 278(i64v)
-             280:   52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 279
-                              Store 278(i64v) 280
-             282:     18(int) Load 281(i64)
-             283:     18(int) ExtInst 1(GLSL.std.450) 7(SSign) 282
-                              Store 281(i64) 283
-             284:   52(ivec2) Load 278(i64v)
-             285:     18(int) Load 281(i64)
-             286:   52(ivec2) CompositeConstruct 285 285
-             287:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 284 286
-                              Store 278(i64v) 287
-             288:   52(ivec2) Load 278(i64v)
-             290:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 288 289
-                              Store 278(i64v) 290
-             292:  132(ivec3) Load 291(u64v)
-             294:     14(int) Load 293(u64)
-             295:  132(ivec3) CompositeConstruct 294 294 294
-             296:  132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 292 295
-                              Store 291(u64v) 296
-             297:  132(ivec3) Load 291(u64v)
-             299:  132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 297 298
-                              Store 291(u64v) 299
-             300:   52(ivec2) Load 278(i64v)
-             301:     18(int) Load 281(i64)
-             302:   52(ivec2) CompositeConstruct 301 301
-             303:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 300 302
-                              Store 278(i64v) 303
-             304:   52(ivec2) Load 278(i64v)
-             305:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 304 289
-                              Store 278(i64v) 305
-             306:  132(ivec3) Load 291(u64v)
-             307:     14(int) Load 293(u64)
-             308:  132(ivec3) CompositeConstruct 307 307 307
-             309:  132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 306 308
-                              Store 291(u64v) 309
-             310:  132(ivec3) Load 291(u64v)
-             311:  132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 310 298
-                              Store 291(u64v) 311
-             312:   52(ivec2) Load 278(i64v)
-             313:     18(int) Load 281(i64)
-             314:     18(int) SNegate 313
-             315:     18(int) Load 281(i64)
-             316:   52(ivec2) CompositeConstruct 314 314
-             317:   52(ivec2) CompositeConstruct 315 315
-             318:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 312 316 317
-                              Store 278(i64v) 318
-             319:   52(ivec2) Load 278(i64v)
-             320:   52(ivec2) Load 278(i64v)
-             321:   52(ivec2) SNegate 320
-             322:   52(ivec2) Load 278(i64v)
-             323:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 319 321 322
-                              Store 278(i64v) 323
-             324:  132(ivec3) Load 291(u64v)
-             325:     14(int) Load 293(u64)
-             326:     14(int) SNegate 325
-             327:     14(int) Load 293(u64)
-             328:  132(ivec3) CompositeConstruct 326 326 326
-             329:  132(ivec3) CompositeConstruct 327 327 327
-             330:  132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 324 328 329
-                              Store 291(u64v) 330
-             331:  132(ivec3) Load 291(u64v)
-             332:  132(ivec3) Load 291(u64v)
-             333:  132(ivec3) SNegate 332
-             334:  132(ivec3) Load 291(u64v)
-             335:  132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 331 333 334
-                              Store 291(u64v) 335
-             336:     19(ptr) AccessChain 278(i64v) 219
-             337:     18(int) Load 336
-             338:     19(ptr) AccessChain 278(i64v) 202
-             339:     18(int) Load 338
-             341:     18(int) Select 340 339 337
-                              Store 281(i64) 341
-             342:     18(int) Load 281(i64)
-             343:   52(ivec2) CompositeConstruct 342 342
-             344:     18(int) Load 281(i64)
-             345:     18(int) SNegate 344
+       281(i64v):     53(ptr) Variable Function
+        284(i64):     19(ptr) Variable Function
+       294(u64v):    133(ptr) Variable Function
+        296(u64):     40(ptr) Variable Function
+         368(dv):    367(ptr) Variable Function
+         387(iv):     75(ptr) Variable Function
+         392(uv):     82(ptr) Variable Function
+         396(bv):    395(ptr) Variable Function
+             282:   52(ivec2) Load 281(i64v)
+             283:   52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 282
+                              Store 281(i64v) 283
+             285:     18(int) Load 284(i64)
+             286:     18(int) ExtInst 1(GLSL.std.450) 7(SSign) 285
+                              Store 284(i64) 286
+             287:   52(ivec2) Load 281(i64v)
+             288:     18(int) Load 284(i64)
+             289:   52(ivec2) CompositeConstruct 288 288
+             290:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 287 289
+                              Store 281(i64v) 290
+             291:   52(ivec2) Load 281(i64v)
+             293:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 291 292
+                              Store 281(i64v) 293
+             295:  132(ivec3) Load 294(u64v)
+             297:     14(int) Load 296(u64)
+             298:  132(ivec3) CompositeConstruct 297 297 297
+             299:  132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 295 298
+                              Store 294(u64v) 299
+             300:  132(ivec3) Load 294(u64v)
+             302:  132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 300 301
+                              Store 294(u64v) 302
+             303:   52(ivec2) Load 281(i64v)
+             304:     18(int) Load 284(i64)
+             305:   52(ivec2) CompositeConstruct 304 304
+             306:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 303 305
+                              Store 281(i64v) 306
+             307:   52(ivec2) Load 281(i64v)
+             308:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 307 292
+                              Store 281(i64v) 308
+             309:  132(ivec3) Load 294(u64v)
+             310:     14(int) Load 296(u64)
+             311:  132(ivec3) CompositeConstruct 310 310 310
+             312:  132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 309 311
+                              Store 294(u64v) 312
+             313:  132(ivec3) Load 294(u64v)
+             314:  132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 313 301
+                              Store 294(u64v) 314
+             315:   52(ivec2) Load 281(i64v)
+             316:     18(int) Load 284(i64)
+             317:     18(int) SNegate 316
+             318:     18(int) Load 284(i64)
+             319:   52(ivec2) CompositeConstruct 317 317
+             320:   52(ivec2) CompositeConstruct 318 318
+             321:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 315 319 320
+                              Store 281(i64v) 321
+             322:   52(ivec2) Load 281(i64v)
+             323:   52(ivec2) Load 281(i64v)
+             324:   52(ivec2) SNegate 323
+             325:   52(ivec2) Load 281(i64v)
+             326:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 322 324 325
+                              Store 281(i64v) 326
+             327:  132(ivec3) Load 294(u64v)
+             328:     14(int) Load 296(u64)
+             329:     14(int) SNegate 328
+             330:     14(int) Load 296(u64)
+             331:  132(ivec3) CompositeConstruct 329 329 329
+             332:  132(ivec3) CompositeConstruct 330 330 330
+             333:  132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 327 331 332
+                              Store 294(u64v) 333
+             334:  132(ivec3) Load 294(u64v)
+             335:  132(ivec3) Load 294(u64v)
+             336:  132(ivec3) SNegate 335
+             337:  132(ivec3) Load 294(u64v)
+             338:  132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 334 336 337
+                              Store 294(u64v) 338
+             339:     19(ptr) AccessChain 281(i64v) 222
+             340:     18(int) Load 339
+             341:     19(ptr) AccessChain 281(i64v) 203
+             342:     18(int) Load 341
+             344:     18(int) Select 343 342 340
+                              Store 284(i64) 344
+             345:     18(int) Load 284(i64)
              346:   52(ivec2) CompositeConstruct 345 345
-             349:   52(ivec2) Select 348 346 343
-                              Store 278(i64v) 349
-             350:     40(ptr) AccessChain 291(u64v) 219
-             351:     14(int) Load 350
-             352:     40(ptr) AccessChain 291(u64v) 202
-             353:     14(int) Load 352
-             354:     14(int) Select 340 353 351
-                              Store 293(u64) 354
-             355:     14(int) Load 293(u64)
-             356:  132(ivec3) CompositeConstruct 355 355 355
-             357:     14(int) Load 293(u64)
-             358:     14(int) SNegate 357
+             347:     18(int) Load 284(i64)
+             348:     18(int) SNegate 347
+             349:   52(ivec2) CompositeConstruct 348 348
+             352:   52(ivec2) Select 351 349 346
+                              Store 281(i64v) 352
+             353:     40(ptr) AccessChain 294(u64v) 222
+             354:     14(int) Load 353
+             355:     40(ptr) AccessChain 294(u64v) 203
+             356:     14(int) Load 355
+             357:     14(int) Select 343 356 354
+                              Store 296(u64) 357
+             358:     14(int) Load 296(u64)
              359:  132(ivec3) CompositeConstruct 358 358 358
-             362:  132(ivec3) Select 361 359 356
-                              Store 291(u64v) 362
-             366:  363(fvec3) Load 365(dv)
-             367:   95(fvec2) VectorShuffle 366 366 0 1
-             368:   52(ivec2) Bitcast 367
-                              Store 278(i64v) 368
-             370:    369(ptr) AccessChain 365(dv) 209
-             371:   94(float) Load 370
-             372:     14(int) Bitcast 371
-             373:     40(ptr) AccessChain 291(u64v) 219
-                              Store 373 372
-             374:   52(ivec2) Load 278(i64v)
-             375:   95(fvec2) Bitcast 374
-             376:  363(fvec3) Load 365(dv)
-             377:  363(fvec3) VectorShuffle 376 375 3 4 2
-                              Store 365(dv) 377
-             378:  132(ivec3) Load 291(u64v)
-             379:  363(fvec3) Bitcast 378
-                              Store 365(dv) 379
-             383:     18(int) Bitcast 382
-                              Store 281(i64) 383
-             385:     18(int) Load 281(i64)
-             386:   74(ivec2) Bitcast 385
-                              Store 384(iv) 386
-             388:     14(int) Bitcast 387
-                              Store 293(u64) 388
-             390:     14(int) Load 293(u64)
-             391:   81(ivec2) Bitcast 390
-                              Store 389(uv) 391
-             394:  132(ivec3) Load 291(u64v)
-             395:     14(int) Load 293(u64)
-             396:  132(ivec3) CompositeConstruct 395 395 395
-             397:  360(bvec3) ULessThan 394 396
-                              Store 393(bv) 397
-             398:   52(ivec2) Load 278(i64v)
-             399:     18(int) Load 281(i64)
-             400:   52(ivec2) CompositeConstruct 399 399
-             401:   56(bvec2) SLessThan 398 400
-             402:  360(bvec3) Load 393(bv)
-             403:  360(bvec3) VectorShuffle 402 401 3 4 2
-                              Store 393(bv) 403
-             404:  132(ivec3) Load 291(u64v)
-             405:     14(int) Load 293(u64)
-             406:  132(ivec3) CompositeConstruct 405 405 405
-             407:  360(bvec3) ULessThanEqual 404 406
-                              Store 393(bv) 407
-             408:   52(ivec2) Load 278(i64v)
-             409:     18(int) Load 281(i64)
-             410:   52(ivec2) CompositeConstruct 409 409
-             411:   56(bvec2) SLessThanEqual 408 410
-             412:  360(bvec3) Load 393(bv)
-             413:  360(bvec3) VectorShuffle 412 411 3 4 2
-                              Store 393(bv) 413
-             414:  132(ivec3) Load 291(u64v)
-             415:     14(int) Load 293(u64)
-             416:  132(ivec3) CompositeConstruct 415 415 415
-             417:  360(bvec3) UGreaterThan 414 416
-                              Store 393(bv) 417
-             418:   52(ivec2) Load 278(i64v)
-             419:     18(int) Load 281(i64)
-             420:   52(ivec2) CompositeConstruct 419 419
-             421:   56(bvec2) SGreaterThan 418 420
-             422:  360(bvec3) Load 393(bv)
-             423:  360(bvec3) VectorShuffle 422 421 3 4 2
-                              Store 393(bv) 423
-             424:  132(ivec3) Load 291(u64v)
-             425:     14(int) Load 293(u64)
-             426:  132(ivec3) CompositeConstruct 425 425 425
-             427:  360(bvec3) UGreaterThanEqual 424 426
-                              Store 393(bv) 427
-             428:   52(ivec2) Load 278(i64v)
-             429:     18(int) Load 281(i64)
-             430:   52(ivec2) CompositeConstruct 429 429
-             431:   56(bvec2) SGreaterThanEqual 428 430
-             432:  360(bvec3) Load 393(bv)
-             433:  360(bvec3) VectorShuffle 432 431 3 4 2
-                              Store 393(bv) 433
-             434:  132(ivec3) Load 291(u64v)
-             435:     14(int) Load 293(u64)
-             436:  132(ivec3) CompositeConstruct 435 435 435
-             437:  360(bvec3) IEqual 434 436
-                              Store 393(bv) 437
-             438:   52(ivec2) Load 278(i64v)
-             439:     18(int) Load 281(i64)
-             440:   52(ivec2) CompositeConstruct 439 439
-             441:   56(bvec2) IEqual 438 440
-             442:  360(bvec3) Load 393(bv)
-             443:  360(bvec3) VectorShuffle 442 441 3 4 2
-                              Store 393(bv) 443
-             444:  132(ivec3) Load 291(u64v)
-             445:     14(int) Load 293(u64)
-             446:  132(ivec3) CompositeConstruct 445 445 445
-             447:  360(bvec3) INotEqual 444 446
-                              Store 393(bv) 447
-             448:   52(ivec2) Load 278(i64v)
-             449:     18(int) Load 281(i64)
-             450:   52(ivec2) CompositeConstruct 449 449
-             451:   56(bvec2) INotEqual 448 450
-             452:  360(bvec3) Load 393(bv)
-             453:  360(bvec3) VectorShuffle 452 451 3 4 2
-                              Store 393(bv) 453
+             360:     14(int) Load 296(u64)
+             361:     14(int) SNegate 360
+             362:  132(ivec3) CompositeConstruct 361 361 361
+             365:  132(ivec3) Select 364 362 359
+                              Store 294(u64v) 365
+             369:  366(fvec3) Load 368(dv)
+             370:   95(fvec2) VectorShuffle 369 369 0 1
+             371:   52(ivec2) Bitcast 370
+                              Store 281(i64v) 371
+             373:    372(ptr) AccessChain 368(dv) 212
+             374:   94(float) Load 373
+             375:     14(int) Bitcast 374
+             376:     40(ptr) AccessChain 294(u64v) 222
+                              Store 376 375
+             377:   52(ivec2) Load 281(i64v)
+             378:   95(fvec2) Bitcast 377
+             379:  366(fvec3) Load 368(dv)
+             380:  366(fvec3) VectorShuffle 379 378 3 4 2
+                              Store 368(dv) 380
+             381:  132(ivec3) Load 294(u64v)
+             382:  366(fvec3) Bitcast 381
+                              Store 368(dv) 382
+             386:     18(int) Bitcast 385
+                              Store 284(i64) 386
+             388:     18(int) Load 284(i64)
+             389:   74(ivec2) Bitcast 388
+                              Store 387(iv) 389
+             391:     14(int) Bitcast 390
+                              Store 296(u64) 391
+             393:     14(int) Load 296(u64)
+             394:   81(ivec2) Bitcast 393
+                              Store 392(uv) 394
+             397:  132(ivec3) Load 294(u64v)
+             398:     14(int) Load 296(u64)
+             399:  132(ivec3) CompositeConstruct 398 398 398
+             400:  363(bvec3) ULessThan 397 399
+                              Store 396(bv) 400
+             401:   52(ivec2) Load 281(i64v)
+             402:     18(int) Load 284(i64)
+             403:   52(ivec2) CompositeConstruct 402 402
+             404:   56(bvec2) SLessThan 401 403
+             405:  363(bvec3) Load 396(bv)
+             406:  363(bvec3) VectorShuffle 405 404 3 4 2
+                              Store 396(bv) 406
+             407:  132(ivec3) Load 294(u64v)
+             408:     14(int) Load 296(u64)
+             409:  132(ivec3) CompositeConstruct 408 408 408
+             410:  363(bvec3) ULessThanEqual 407 409
+                              Store 396(bv) 410
+             411:   52(ivec2) Load 281(i64v)
+             412:     18(int) Load 284(i64)
+             413:   52(ivec2) CompositeConstruct 412 412
+             414:   56(bvec2) SLessThanEqual 411 413
+             415:  363(bvec3) Load 396(bv)
+             416:  363(bvec3) VectorShuffle 415 414 3 4 2
+                              Store 396(bv) 416
+             417:  132(ivec3) Load 294(u64v)
+             418:     14(int) Load 296(u64)
+             419:  132(ivec3) CompositeConstruct 418 418 418
+             420:  363(bvec3) UGreaterThan 417 419
+                              Store 396(bv) 420
+             421:   52(ivec2) Load 281(i64v)
+             422:     18(int) Load 284(i64)
+             423:   52(ivec2) CompositeConstruct 422 422
+             424:   56(bvec2) SGreaterThan 421 423
+             425:  363(bvec3) Load 396(bv)
+             426:  363(bvec3) VectorShuffle 425 424 3 4 2
+                              Store 396(bv) 426
+             427:  132(ivec3) Load 294(u64v)
+             428:     14(int) Load 296(u64)
+             429:  132(ivec3) CompositeConstruct 428 428 428
+             430:  363(bvec3) UGreaterThanEqual 427 429
+                              Store 396(bv) 430
+             431:   52(ivec2) Load 281(i64v)
+             432:     18(int) Load 284(i64)
+             433:   52(ivec2) CompositeConstruct 432 432
+             434:   56(bvec2) SGreaterThanEqual 431 433
+             435:  363(bvec3) Load 396(bv)
+             436:  363(bvec3) VectorShuffle 435 434 3 4 2
+                              Store 396(bv) 436
+             437:  132(ivec3) Load 294(u64v)
+             438:     14(int) Load 296(u64)
+             439:  132(ivec3) CompositeConstruct 438 438 438
+             440:  363(bvec3) IEqual 437 439
+                              Store 396(bv) 440
+             441:   52(ivec2) Load 281(i64v)
+             442:     18(int) Load 284(i64)
+             443:   52(ivec2) CompositeConstruct 442 442
+             444:   56(bvec2) IEqual 441 443
+             445:  363(bvec3) Load 396(bv)
+             446:  363(bvec3) VectorShuffle 445 444 3 4 2
+                              Store 396(bv) 446
+             447:  132(ivec3) Load 294(u64v)
+             448:     14(int) Load 296(u64)
+             449:  132(ivec3) CompositeConstruct 448 448 448
+             450:  363(bvec3) INotEqual 447 449
+                              Store 396(bv) 450
+             451:   52(ivec2) Load 281(i64v)
+             452:     18(int) Load 284(i64)
+             453:   52(ivec2) CompositeConstruct 452 452
+             454:   56(bvec2) INotEqual 451 453
+             455:  363(bvec3) Load 396(bv)
+             456:  363(bvec3) VectorShuffle 455 454 3 4 2
+                              Store 396(bv) 456
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.int8.frag.out b/Test/baseResults/spv.int8.frag.out
new file mode 100644
index 0000000..888d5bf
--- /dev/null
+++ b/Test/baseResults/spv.int8.frag.out
@@ -0,0 +1,745 @@
+spv.int8.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 526
+
+                              Capability Shader
+                              Capability Float16
+                              Capability Float64
+                              Capability Int64
+                              Capability Int16
+                              Capability Int8
+                              Extension  "SPV_AMD_gpu_shader_half_float"
+                              Extension  "SPV_AMD_gpu_shader_int16"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main"
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int16"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int32"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int64"
+                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int8"
+                              Name 4  "main"
+                              Name 6  "literal("
+                              Name 8  "typeCast8("
+                              Name 10  "operators("
+                              Name 12  "builtinFuncs("
+                              Name 16  "i8"
+                              Name 24  "Uniforms"
+                              MemberName 24(Uniforms) 0  "index"
+                              Name 26  ""
+                              Name 33  "indexable"
+                              Name 39  "u8"
+                              Name 47  "indexable"
+                              Name 52  "u8v"
+                              Name 55  "i8v"
+                              Name 58  "i16v"
+                              Name 66  "i32v"
+                              Name 74  "u32v"
+                              Name 81  "i64v"
+                              Name 87  "u64v"
+                              Name 101  "f16v"
+                              Name 107  "f32v"
+                              Name 113  "f64v"
+                              Name 140  "u16v"
+                              Name 170  "bv"
+                              Name 189  "u8v"
+                              Name 193  "i8"
+                              Name 213  "i"
+                              Name 220  "uv"
+                              Name 238  "i16"
+                              Name 275  "b"
+                              Name 337  "i8v"
+                              Name 340  "i8"
+                              Name 350  "u8v"
+                              Name 352  "u8"
+                              Name 426  "i16"
+                              Name 429  "i32"
+                              Name 432  "i8v4"
+                              Name 435  "u16"
+                              Name 436  "u8v2"
+                              Name 439  "u32"
+                              Name 442  "u8v4"
+                              Name 454  "bv"
+                              Name 521  "Block"
+                              MemberName 521(Block) 0  "i8"
+                              MemberName 521(Block) 1  "i8v2"
+                              MemberName 521(Block) 2  "i8v3"
+                              MemberName 521(Block) 3  "i8v4"
+                              MemberName 521(Block) 4  "u8"
+                              MemberName 521(Block) 5  "u8v2"
+                              MemberName 521(Block) 6  "u8v3"
+                              MemberName 521(Block) 7  "u8v4"
+                              Name 523  "block"
+                              Name 524  "si8"
+                              Name 525  "su8"
+                              MemberDecorate 24(Uniforms) 0 Offset 0
+                              Decorate 24(Uniforms) Block
+                              Decorate 26 DescriptorSet 0
+                              Decorate 26 Binding 0
+                              MemberDecorate 521(Block) 0 Offset 0
+                              MemberDecorate 521(Block) 1 Offset 2
+                              MemberDecorate 521(Block) 2 Offset 4
+                              MemberDecorate 521(Block) 3 Offset 8
+                              MemberDecorate 521(Block) 4 Offset 12
+                              MemberDecorate 521(Block) 5 Offset 14
+                              MemberDecorate 521(Block) 6 Offset 16
+                              MemberDecorate 521(Block) 7 Offset 20
+                              Decorate 521(Block) Block
+                              Decorate 523(block) DescriptorSet 0
+                              Decorate 523(block) Binding 1
+                              Decorate 524(si8) SpecId 100
+                              Decorate 525(su8) SpecId 101
+               2:             TypeVoid
+               3:             TypeFunction 2
+              14:             TypeInt 8 1
+              15:             TypePointer Function 14(int)
+              17:             TypeInt 32 0
+              18:     17(int) Constant 3
+              19:             TypeArray 14(int) 18
+              20:     14(int) Constant 4294967279
+              21:     14(int) Constant 4294967295
+              22:     14(int) Constant 0
+              23:          19 ConstantComposite 20 21 22
+    24(Uniforms):             TypeStruct 17(int)
+              25:             TypePointer Uniform 24(Uniforms)
+              26:     25(ptr) Variable Uniform
+              27:             TypeInt 32 1
+              28:     27(int) Constant 0
+              29:             TypePointer Uniform 17(int)
+              32:             TypePointer Function 19
+              36:             TypeInt 8 0
+              37:             TypeInt 16 1
+              38:             TypePointer Function 37(int)
+              40:             TypeArray 37(int) 18
+              41:     36(int) Constant 255
+              42:     36(int) Constant 127
+              43:          40 ConstantComposite 41 41 42
+              46:             TypePointer Function 40
+              50:             TypeVector 37(int) 2
+              51:             TypePointer Function 50(ivec2)
+              53:             TypeVector 14(int) 2
+              54:             TypePointer Function 53(ivec2)
+              64:             TypeVector 27(int) 2
+              65:             TypePointer Function 64(ivec2)
+              72:             TypeVector 17(int) 2
+              73:             TypePointer Function 72(ivec2)
+              78:             TypeInt 64 1
+              79:             TypeVector 78(int) 2
+              80:             TypePointer Function 79(ivec2)
+              84:             TypeInt 64 0
+              85:             TypeVector 84(int) 2
+              86:             TypePointer Function 85(ivec2)
+              98:             TypeFloat 16
+              99:             TypeVector 98(float) 2
+             100:             TypePointer Function 99(fvec2)
+             104:             TypeFloat 32
+             105:             TypeVector 104(float) 2
+             106:             TypePointer Function 105(fvec2)
+             110:             TypeFloat 64
+             111:             TypeVector 110(float) 2
+             112:             TypePointer Function 111(fvec2)
+             139:             TypeInt 16 0
+             167:             TypeBool
+             168:             TypeVector 167(bool) 2
+             169:             TypePointer Function 168(bvec2)
+             172:     14(int) Constant 1
+             173:   53(ivec2) ConstantComposite 22 22
+             174:   53(ivec2) ConstantComposite 172 172
+             177:     36(int) Constant 0
+             178:     36(int) Constant 1
+             179:             TypeVector 36(int) 2
+             180:  179(ivec2) ConstantComposite 177 177
+             181:  179(ivec2) ConstantComposite 178 178
+             187:             TypeVector 14(int) 3
+             188:             TypePointer Function 187(ivec3)
+             212:             TypePointer Function 27(int)
+             218:             TypeVector 17(int) 3
+             219:             TypePointer Function 218(ivec3)
+             222:             TypeVector 27(int) 3
+             260:     17(int) Constant 1
+             266:     17(int) Constant 2
+             274:             TypePointer Function 167(bool)
+             276:     17(int) Constant 0
+             289:             TypePointer Function 17(int)
+             348:   53(ivec2) ConstantComposite 21 21
+             354:             TypeVector 37(int) 3
+             358:  187(ivec3) ConstantComposite 22 22 22
+             400:   167(bool) ConstantTrue
+             407:   167(bool) ConstantFalse
+             408:  168(bvec2) ConstantComposite 407 407
+             423:             TypeVector 167(bool) 3
+             424:  423(bvec3) ConstantComposite 407 407 407
+             430:             TypeVector 14(int) 4
+             431:             TypePointer Function 430(ivec4)
+             440:             TypeVector 37(int) 4
+             441:             TypePointer Function 440(ivec4)
+             453:             TypePointer Function 423(bvec3)
+      521(Block):             TypeStruct 14(int) 53(ivec2) 187(ivec3) 430(ivec4) 37(int) 50(ivec2) 187(ivec3) 440(ivec4)
+             522:             TypePointer Uniform 521(Block)
+      523(block):    522(ptr) Variable Uniform
+        524(si8):     14(int) SpecConstant 4294967286
+        525(su8):     36(int) SpecConstant 20
+         4(main):           2 Function None 3
+               5:             Label
+                              Return
+                              FunctionEnd
+     6(literal():           2 Function None 3
+               7:             Label
+          16(i8):     15(ptr) Variable Function
+   33(indexable):     32(ptr) Variable Function
+          39(u8):     38(ptr) Variable Function
+   47(indexable):     46(ptr) Variable Function
+              30:     29(ptr) AccessChain 26 28
+              31:     17(int) Load 30
+                              Store 33(indexable) 23
+              34:     15(ptr) AccessChain 33(indexable) 31
+              35:     14(int) Load 34
+                              Store 16(i8) 35
+              44:     29(ptr) AccessChain 26 28
+              45:     17(int) Load 44
+                              Store 47(indexable) 43
+              48:     38(ptr) AccessChain 47(indexable) 45
+              49:     37(int) Load 48
+                              Store 39(u8) 49
+                              Return
+                              FunctionEnd
+   8(typeCast8():           2 Function None 3
+               9:             Label
+         52(u8v):     51(ptr) Variable Function
+         55(i8v):     54(ptr) Variable Function
+        58(i16v):     51(ptr) Variable Function
+        66(i32v):     65(ptr) Variable Function
+        74(u32v):     73(ptr) Variable Function
+        81(i64v):     80(ptr) Variable Function
+        87(u64v):     86(ptr) Variable Function
+       101(f16v):    100(ptr) Variable Function
+       107(f32v):    106(ptr) Variable Function
+       113(f64v):    112(ptr) Variable Function
+       140(u16v):     65(ptr) Variable Function
+         170(bv):    169(ptr) Variable Function
+              56:   53(ivec2) Load 55(i8v)
+              57:   50(ivec2) Bitcast 56
+                              Store 52(u8v) 57
+              59:   53(ivec2) Load 55(i8v)
+              60:   50(ivec2) SConvert 59
+                              Store 58(i16v) 60
+              61:   50(ivec2) Load 52(u8v)
+              62:   50(ivec2) UConvert 61
+              63:   50(ivec2) Bitcast 62
+                              Store 58(i16v) 63
+              67:   53(ivec2) Load 55(i8v)
+              68:   64(ivec2) SConvert 67
+                              Store 66(i32v) 68
+              69:   50(ivec2) Load 52(u8v)
+              70:   64(ivec2) UConvert 69
+              71:   64(ivec2) Bitcast 70
+                              Store 66(i32v) 71
+              75:   53(ivec2) Load 55(i8v)
+              76:   64(ivec2) SConvert 75
+              77:   72(ivec2) Bitcast 76
+                              Store 74(u32v) 77
+              82:   53(ivec2) Load 55(i8v)
+              83:   79(ivec2) SConvert 82
+                              Store 81(i64v) 83
+              88:   53(ivec2) Load 55(i8v)
+              89:   79(ivec2) SConvert 88
+              90:   85(ivec2) Bitcast 89
+                              Store 87(u64v) 90
+              91:   50(ivec2) Load 52(u8v)
+              92:   72(ivec2) UConvert 91
+                              Store 74(u32v) 92
+              93:   50(ivec2) Load 52(u8v)
+              94:   79(ivec2) UConvert 93
+              95:   79(ivec2) Bitcast 94
+                              Store 81(i64v) 95
+              96:   50(ivec2) Load 52(u8v)
+              97:   85(ivec2) UConvert 96
+                              Store 87(u64v) 97
+             102:   53(ivec2) Load 55(i8v)
+             103:   99(fvec2) ConvertSToF 102
+                              Store 101(f16v) 103
+             108:   53(ivec2) Load 55(i8v)
+             109:  105(fvec2) ConvertSToF 108
+                              Store 107(f32v) 109
+             114:   53(ivec2) Load 55(i8v)
+             115:  111(fvec2) ConvertSToF 114
+                              Store 113(f64v) 115
+             116:   50(ivec2) Load 52(u8v)
+             117:   99(fvec2) ConvertUToF 116
+                              Store 101(f16v) 117
+             118:   50(ivec2) Load 52(u8v)
+             119:  105(fvec2) ConvertUToF 118
+                              Store 107(f32v) 119
+             120:   50(ivec2) Load 52(u8v)
+             121:  111(fvec2) ConvertUToF 120
+                              Store 113(f64v) 121
+             122:   50(ivec2) Load 52(u8v)
+             123:   53(ivec2) Bitcast 122
+                              Store 55(i8v) 123
+             124:   53(ivec2) Load 55(i8v)
+             125:   50(ivec2) SConvert 124
+                              Store 58(i16v) 125
+             126:   50(ivec2) Load 52(u8v)
+             127:   50(ivec2) UConvert 126
+             128:   50(ivec2) Bitcast 127
+                              Store 58(i16v) 128
+             129:   53(ivec2) Load 55(i8v)
+             130:   64(ivec2) SConvert 129
+                              Store 66(i32v) 130
+             131:   50(ivec2) Load 52(u8v)
+             132:   64(ivec2) UConvert 131
+             133:   64(ivec2) Bitcast 132
+                              Store 66(i32v) 133
+             134:   53(ivec2) Load 55(i8v)
+             135:   79(ivec2) SConvert 134
+                              Store 81(i64v) 135
+             136:   53(ivec2) Load 55(i8v)
+             137:   79(ivec2) SConvert 136
+             138:   85(ivec2) Bitcast 137
+                              Store 87(u64v) 138
+             141:   53(ivec2) Load 55(i8v)
+             142:   50(ivec2) SConvert 141
+             143:   64(ivec2) Bitcast 142
+                              Store 140(u16v) 143
+             144:   50(ivec2) Load 52(u8v)
+             145:   64(ivec2) UConvert 144
+                              Store 140(u16v) 145
+             146:   50(ivec2) Load 52(u8v)
+             147:   72(ivec2) UConvert 146
+                              Store 74(u32v) 147
+             148:   50(ivec2) Load 52(u8v)
+             149:   79(ivec2) UConvert 148
+             150:   79(ivec2) Bitcast 149
+                              Store 81(i64v) 150
+             151:   50(ivec2) Load 52(u8v)
+             152:   79(ivec2) UConvert 151
+             153:   79(ivec2) Bitcast 152
+             154:   85(ivec2) Bitcast 153
+                              Store 87(u64v) 154
+             155:   53(ivec2) Load 55(i8v)
+             156:   99(fvec2) ConvertSToF 155
+                              Store 101(f16v) 156
+             157:   53(ivec2) Load 55(i8v)
+             158:  105(fvec2) ConvertSToF 157
+                              Store 107(f32v) 158
+             159:   53(ivec2) Load 55(i8v)
+             160:  111(fvec2) ConvertSToF 159
+                              Store 113(f64v) 160
+             161:   50(ivec2) Load 52(u8v)
+             162:   99(fvec2) ConvertUToF 161
+                              Store 101(f16v) 162
+             163:   50(ivec2) Load 52(u8v)
+             164:  105(fvec2) ConvertUToF 163
+                              Store 107(f32v) 164
+             165:   50(ivec2) Load 52(u8v)
+             166:  111(fvec2) ConvertUToF 165
+                              Store 113(f64v) 166
+             171:  168(bvec2) Load 170(bv)
+             175:   53(ivec2) Select 171 174 173
+                              Store 55(i8v) 175
+             176:  168(bvec2) Load 170(bv)
+             182:   50(ivec2) Select 176 181 180
+                              Store 52(u8v) 182
+             183:   53(ivec2) Load 55(i8v)
+             184:  168(bvec2) INotEqual 183 180
+                              Store 170(bv) 184
+             185:   50(ivec2) Load 52(u8v)
+             186:  168(bvec2) INotEqual 185 180
+                              Store 170(bv) 186
+                              Return
+                              FunctionEnd
+  10(operators():           2 Function None 3
+              11:             Label
+        189(u8v):    188(ptr) Variable Function
+         193(i8):     15(ptr) Variable Function
+          213(i):    212(ptr) Variable Function
+         220(uv):    219(ptr) Variable Function
+        238(i16):     38(ptr) Variable Function
+          275(b):    274(ptr) Variable Function
+             190:  187(ivec3) Load 189(u8v)
+             191:  187(ivec3) CompositeConstruct 172 172 172
+             192:  187(ivec3) IAdd 190 191
+                              Store 189(u8v) 192
+             194:     14(int) Load 193(i8)
+             195:     14(int) ISub 194 172
+                              Store 193(i8) 195
+             196:     14(int) Load 193(i8)
+             197:     14(int) IAdd 196 172
+                              Store 193(i8) 197
+             198:  187(ivec3) Load 189(u8v)
+             199:  187(ivec3) CompositeConstruct 172 172 172
+             200:  187(ivec3) ISub 198 199
+                              Store 189(u8v) 200
+             201:  187(ivec3) Load 189(u8v)
+             202:  187(ivec3) Not 201
+                              Store 189(u8v) 202
+             203:     14(int) Load 193(i8)
+                              Store 193(i8) 203
+             204:  187(ivec3) Load 189(u8v)
+             205:  187(ivec3) SNegate 204
+                              Store 189(u8v) 205
+             206:     14(int) Load 193(i8)
+             207:     14(int) Load 193(i8)
+             208:     14(int) IAdd 207 206
+                              Store 193(i8) 208
+             209:  187(ivec3) Load 189(u8v)
+             210:  187(ivec3) Load 189(u8v)
+             211:  187(ivec3) ISub 210 209
+                              Store 189(u8v) 211
+             214:     14(int) Load 193(i8)
+             215:     27(int) SConvert 214
+             216:     27(int) Load 213(i)
+             217:     27(int) IMul 216 215
+                              Store 213(i) 217
+             221:  187(ivec3) Load 189(u8v)
+             223:  222(ivec3) SConvert 221
+             224:  218(ivec3) Bitcast 223
+             225:  218(ivec3) Load 220(uv)
+             226:  218(ivec3) UDiv 225 224
+                              Store 220(uv) 226
+             227:     14(int) Load 193(i8)
+             228:     27(int) SConvert 227
+             229:     17(int) Bitcast 228
+             230:  218(ivec3) Load 220(uv)
+             231:  218(ivec3) CompositeConstruct 229 229 229
+             232:  218(ivec3) UMod 230 231
+                              Store 220(uv) 232
+             233:  187(ivec3) Load 189(u8v)
+             234:  222(ivec3) SConvert 233
+             235:  218(ivec3) Bitcast 234
+             236:  218(ivec3) Load 220(uv)
+             237:  218(ivec3) IAdd 235 236
+                              Store 220(uv) 237
+             239:     14(int) Load 193(i8)
+             240:     37(int) SConvert 239
+             241:     37(int) Load 238(i16)
+             242:     37(int) ISub 240 241
+                              Store 238(i16) 242
+             243:  187(ivec3) Load 189(u8v)
+             244:  222(ivec3) SConvert 243
+             245:  218(ivec3) Bitcast 244
+             246:  218(ivec3) Load 220(uv)
+             247:  218(ivec3) IMul 245 246
+                              Store 220(uv) 247
+             248:     14(int) Load 193(i8)
+             249:     37(int) SConvert 248
+             250:     37(int) Load 238(i16)
+             251:     37(int) IMul 249 250
+                              Store 238(i16) 251
+             252:     14(int) Load 193(i8)
+             253:     27(int) SConvert 252
+             254:     27(int) Load 213(i)
+             255:     27(int) SMod 253 254
+                              Store 213(i) 255
+             256:     14(int) Load 193(i8)
+             257:  187(ivec3) Load 189(u8v)
+             258:  187(ivec3) CompositeConstruct 256 256 256
+             259:  187(ivec3) ShiftLeftLogical 257 258
+                              Store 189(u8v) 259
+             261:     15(ptr) AccessChain 189(u8v) 260
+             262:     14(int) Load 261
+             263:     14(int) Load 193(i8)
+             264:     14(int) ShiftRightArithmetic 263 262
+                              Store 193(i8) 264
+             265:     14(int) Load 193(i8)
+             267:     15(ptr) AccessChain 189(u8v) 266
+             268:     14(int) Load 267
+             269:     14(int) ShiftLeftLogical 265 268
+                              Store 193(i8) 269
+             270:  187(ivec3) Load 189(u8v)
+             271:     14(int) Load 193(i8)
+             272:  187(ivec3) CompositeConstruct 271 271 271
+             273:  187(ivec3) ShiftLeftLogical 270 272
+                              Store 189(u8v) 273
+             277:     15(ptr) AccessChain 189(u8v) 276
+             278:     14(int) Load 277
+             279:     14(int) Load 193(i8)
+             280:   167(bool) INotEqual 278 279
+                              Store 275(b) 280
+             281:     14(int) Load 193(i8)
+             282:     15(ptr) AccessChain 189(u8v) 276
+             283:     14(int) Load 282
+             284:   167(bool) IEqual 281 283
+                              Store 275(b) 284
+             285:     15(ptr) AccessChain 189(u8v) 276
+             286:     14(int) Load 285
+             287:     27(int) SConvert 286
+             288:     17(int) Bitcast 287
+             290:    289(ptr) AccessChain 220(uv) 260
+             291:     17(int) Load 290
+             292:   167(bool) UGreaterThan 288 291
+                              Store 275(b) 292
+             293:     14(int) Load 193(i8)
+             294:     27(int) SConvert 293
+             295:     27(int) Load 213(i)
+             296:   167(bool) SLessThan 294 295
+                              Store 275(b) 296
+             297:     15(ptr) AccessChain 189(u8v) 260
+             298:     14(int) Load 297
+             299:     27(int) SConvert 298
+             300:     17(int) Bitcast 299
+             301:    289(ptr) AccessChain 220(uv) 276
+             302:     17(int) Load 301
+             303:   167(bool) UGreaterThanEqual 300 302
+                              Store 275(b) 303
+             304:     14(int) Load 193(i8)
+             305:     27(int) SConvert 304
+             306:     27(int) Load 213(i)
+             307:   167(bool) SLessThanEqual 305 306
+                              Store 275(b) 307
+             308:     14(int) Load 193(i8)
+             309:     27(int) SConvert 308
+             310:     17(int) Bitcast 309
+             311:  218(ivec3) Load 220(uv)
+             312:  218(ivec3) CompositeConstruct 310 310 310
+             313:  218(ivec3) BitwiseOr 311 312
+                              Store 220(uv) 313
+             314:     14(int) Load 193(i8)
+             315:     27(int) SConvert 314
+             316:     27(int) Load 213(i)
+             317:     27(int) BitwiseOr 315 316
+                              Store 213(i) 317
+             318:     14(int) Load 193(i8)
+             319:     37(int) SConvert 318
+             320:     37(int) Load 238(i16)
+             321:     37(int) BitwiseAnd 320 319
+                              Store 238(i16) 321
+             322:  187(ivec3) Load 189(u8v)
+             323:  222(ivec3) SConvert 322
+             324:  218(ivec3) Bitcast 323
+             325:  218(ivec3) Load 220(uv)
+             326:  218(ivec3) BitwiseAnd 324 325
+                              Store 220(uv) 326
+             327:     14(int) Load 193(i8)
+             328:     27(int) SConvert 327
+             329:     17(int) Bitcast 328
+             330:  218(ivec3) Load 220(uv)
+             331:  218(ivec3) CompositeConstruct 329 329 329
+             332:  218(ivec3) BitwiseXor 330 331
+                              Store 220(uv) 332
+             333:  187(ivec3) Load 189(u8v)
+             334:     14(int) Load 193(i8)
+             335:  187(ivec3) CompositeConstruct 334 334 334
+             336:  187(ivec3) BitwiseXor 333 335
+                              Store 189(u8v) 336
+                              Return
+                              FunctionEnd
+12(builtinFuncs():           2 Function None 3
+              13:             Label
+        337(i8v):     54(ptr) Variable Function
+         340(i8):     15(ptr) Variable Function
+        350(u8v):    188(ptr) Variable Function
+         352(u8):     38(ptr) Variable Function
+        426(i16):     38(ptr) Variable Function
+        429(i32):    212(ptr) Variable Function
+       432(i8v4):    431(ptr) Variable Function
+        435(u16):    212(ptr) Variable Function
+       436(u8v2):     51(ptr) Variable Function
+        439(u32):    289(ptr) Variable Function
+       442(u8v4):    441(ptr) Variable Function
+         454(bv):    453(ptr) Variable Function
+             338:   53(ivec2) Load 337(i8v)
+             339:   53(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 338
+                              Store 337(i8v) 339
+             341:     14(int) Load 340(i8)
+             342:     14(int) ExtInst 1(GLSL.std.450) 7(SSign) 341
+                              Store 340(i8) 342
+             343:   53(ivec2) Load 337(i8v)
+             344:     14(int) Load 340(i8)
+             345:   53(ivec2) CompositeConstruct 344 344
+             346:   53(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 343 345
+                              Store 337(i8v) 346
+             347:   53(ivec2) Load 337(i8v)
+             349:   53(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 347 348
+                              Store 337(i8v) 349
+             351:  187(ivec3) Load 350(u8v)
+             353:     37(int) Load 352(u8)
+             355:  354(ivec3) CompositeConstruct 353 353 353
+             356:  187(ivec3) ExtInst 1(GLSL.std.450) 39(SMin) 351 355
+                              Store 350(u8v) 356
+             357:  187(ivec3) Load 350(u8v)
+             359:  187(ivec3) ExtInst 1(GLSL.std.450) 39(SMin) 357 358
+                              Store 350(u8v) 359
+             360:   53(ivec2) Load 337(i8v)
+             361:     14(int) Load 340(i8)
+             362:   53(ivec2) CompositeConstruct 361 361
+             363:   53(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 360 362
+                              Store 337(i8v) 363
+             364:   53(ivec2) Load 337(i8v)
+             365:   53(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 364 348
+                              Store 337(i8v) 365
+             366:  187(ivec3) Load 350(u8v)
+             367:     37(int) Load 352(u8)
+             368:  354(ivec3) CompositeConstruct 367 367 367
+             369:  187(ivec3) ExtInst 1(GLSL.std.450) 42(SMax) 366 368
+                              Store 350(u8v) 369
+             370:  187(ivec3) Load 350(u8v)
+             371:  187(ivec3) ExtInst 1(GLSL.std.450) 42(SMax) 370 358
+                              Store 350(u8v) 371
+             372:   53(ivec2) Load 337(i8v)
+             373:     14(int) Load 340(i8)
+             374:     14(int) SNegate 373
+             375:     14(int) Load 340(i8)
+             376:   53(ivec2) CompositeConstruct 374 374
+             377:   53(ivec2) CompositeConstruct 375 375
+             378:   53(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 372 376 377
+                              Store 337(i8v) 378
+             379:   53(ivec2) Load 337(i8v)
+             380:   53(ivec2) Load 337(i8v)
+             381:   53(ivec2) SNegate 380
+             382:   53(ivec2) Load 337(i8v)
+             383:   53(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 379 381 382
+                              Store 337(i8v) 383
+             384:  187(ivec3) Load 350(u8v)
+             385:     37(int) Load 352(u8)
+             386:     37(int) SNegate 385
+             387:     37(int) Load 352(u8)
+             388:  354(ivec3) CompositeConstruct 386 386 386
+             389:  354(ivec3) CompositeConstruct 387 387 387
+             390:  187(ivec3) ExtInst 1(GLSL.std.450) 45(SClamp) 384 388 389
+                              Store 350(u8v) 390
+             391:  187(ivec3) Load 350(u8v)
+             392:  187(ivec3) Load 350(u8v)
+             393:  187(ivec3) SNegate 392
+             394:  187(ivec3) Load 350(u8v)
+             395:  187(ivec3) ExtInst 1(GLSL.std.450) 45(SClamp) 391 393 394
+                              Store 350(u8v) 395
+             396:     15(ptr) AccessChain 337(i8v) 276
+             397:     14(int) Load 396
+             398:     15(ptr) AccessChain 337(i8v) 260
+             399:     14(int) Load 398
+             401:     14(int) Select 400 399 397
+                              Store 340(i8) 401
+             402:     14(int) Load 340(i8)
+             403:   53(ivec2) CompositeConstruct 402 402
+             404:     14(int) Load 340(i8)
+             405:     14(int) SNegate 404
+             406:   53(ivec2) CompositeConstruct 405 405
+             409:   53(ivec2) Select 408 406 403
+                              Store 337(i8v) 409
+             410:     15(ptr) AccessChain 350(u8v) 276
+             411:     14(int) Load 410
+             412:     15(ptr) AccessChain 350(u8v) 260
+             413:     14(int) Load 412
+             414:     14(int) Select 400 413 411
+             415:     37(int) Bitcast 414
+                              Store 352(u8) 415
+             416:     37(int) Load 352(u8)
+             417:     14(int) Bitcast 416
+             418:  187(ivec3) CompositeConstruct 417 417 417
+             419:     37(int) Load 352(u8)
+             420:     37(int) SNegate 419
+             421:     14(int) Bitcast 420
+             422:  187(ivec3) CompositeConstruct 421 421 421
+             425:  187(ivec3) Select 424 422 418
+                              Store 350(u8v) 425
+             427:   53(ivec2) Load 337(i8v)
+             428:     37(int) Bitcast 427
+                              Store 426(i16) 428
+             433:  430(ivec4) Load 432(i8v4)
+             434:     27(int) Bitcast 433
+                              Store 429(i32) 434
+             437:   50(ivec2) Load 436(u8v2)
+             438:     27(int) Bitcast 437
+                              Store 435(u16) 438
+             443:  440(ivec4) Load 442(u8v4)
+             444:     17(int) Bitcast 443
+                              Store 439(u32) 444
+             445:     37(int) Load 426(i16)
+             446:   53(ivec2) Bitcast 445
+                              Store 337(i8v) 446
+             447:     27(int) Load 429(i32)
+             448:  430(ivec4) Bitcast 447
+                              Store 432(i8v4) 448
+             449:     27(int) Load 435(u16)
+             450:   50(ivec2) Bitcast 449
+                              Store 436(u8v2) 450
+             451:     17(int) Load 439(u32)
+             452:  440(ivec4) Bitcast 451
+                              Store 442(u8v4) 452
+             455:  187(ivec3) Load 350(u8v)
+             456:     37(int) Load 352(u8)
+             457:     14(int) Bitcast 456
+             458:  187(ivec3) CompositeConstruct 457 457 457
+             459:  423(bvec3) SLessThan 455 458
+                              Store 454(bv) 459
+             460:   53(ivec2) Load 337(i8v)
+             461:     14(int) Load 340(i8)
+             462:   53(ivec2) CompositeConstruct 461 461
+             463:  168(bvec2) SLessThan 460 462
+             464:  423(bvec3) Load 454(bv)
+             465:  423(bvec3) VectorShuffle 464 463 3 4 2
+                              Store 454(bv) 465
+             466:  187(ivec3) Load 350(u8v)
+             467:     37(int) Load 352(u8)
+             468:     14(int) Bitcast 467
+             469:  187(ivec3) CompositeConstruct 468 468 468
+             470:  423(bvec3) SLessThanEqual 466 469
+                              Store 454(bv) 470
+             471:   53(ivec2) Load 337(i8v)
+             472:     14(int) Load 340(i8)
+             473:   53(ivec2) CompositeConstruct 472 472
+             474:  168(bvec2) SLessThanEqual 471 473
+             475:  423(bvec3) Load 454(bv)
+             476:  423(bvec3) VectorShuffle 475 474 3 4 2
+                              Store 454(bv) 476
+             477:  187(ivec3) Load 350(u8v)
+             478:     37(int) Load 352(u8)
+             479:     14(int) Bitcast 478
+             480:  187(ivec3) CompositeConstruct 479 479 479
+             481:  423(bvec3) SGreaterThan 477 480
+                              Store 454(bv) 481
+             482:   53(ivec2) Load 337(i8v)
+             483:     14(int) Load 340(i8)
+             484:   53(ivec2) CompositeConstruct 483 483
+             485:  168(bvec2) SGreaterThan 482 484
+             486:  423(bvec3) Load 454(bv)
+             487:  423(bvec3) VectorShuffle 486 485 3 4 2
+                              Store 454(bv) 487
+             488:  187(ivec3) Load 350(u8v)
+             489:     37(int) Load 352(u8)
+             490:     14(int) Bitcast 489
+             491:  187(ivec3) CompositeConstruct 490 490 490
+             492:  423(bvec3) SGreaterThanEqual 488 491
+                              Store 454(bv) 492
+             493:   53(ivec2) Load 337(i8v)
+             494:     14(int) Load 340(i8)
+             495:   53(ivec2) CompositeConstruct 494 494
+             496:  168(bvec2) SGreaterThanEqual 493 495
+             497:  423(bvec3) Load 454(bv)
+             498:  423(bvec3) VectorShuffle 497 496 3 4 2
+                              Store 454(bv) 498
+             499:  187(ivec3) Load 350(u8v)
+             500:     37(int) Load 352(u8)
+             501:     14(int) Bitcast 500
+             502:  187(ivec3) CompositeConstruct 501 501 501
+             503:  423(bvec3) IEqual 499 502
+                              Store 454(bv) 503
+             504:   53(ivec2) Load 337(i8v)
+             505:     14(int) Load 340(i8)
+             506:   53(ivec2) CompositeConstruct 505 505
+             507:  168(bvec2) IEqual 504 506
+             508:  423(bvec3) Load 454(bv)
+             509:  423(bvec3) VectorShuffle 508 507 3 4 2
+                              Store 454(bv) 509
+             510:  187(ivec3) Load 350(u8v)
+             511:     37(int) Load 352(u8)
+             512:     14(int) Bitcast 511
+             513:  187(ivec3) CompositeConstruct 512 512 512
+             514:  423(bvec3) INotEqual 510 513
+                              Store 454(bv) 514
+             515:   53(ivec2) Load 337(i8v)
+             516:     14(int) Load 340(i8)
+             517:   53(ivec2) CompositeConstruct 516 516
+             518:  168(bvec2) INotEqual 515 517
+             519:  423(bvec3) Load 454(bv)
+             520:  423(bvec3) VectorShuffle 519 518 3 4 2
+                              Store 454(bv) 520
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.multiView.frag.out b/Test/baseResults/spv.multiView.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.specConstant.vert.out b/Test/baseResults/spv.specConstant.vert.out
index 156497b..2d57625 100644
--- a/Test/baseResults/spv.specConstant.vert.out
+++ b/Test/baseResults/spv.specConstant.vert.out
@@ -11,7 +11,7 @@
                               Source GLSL 400
                               Name 4  "main"
                               Name 9  "arraySize"
-                              Name 14  "foo(vf4[s1522];"
+                              Name 14  "foo(vf4[s2164];"
                               Name 13  "p"
                               Name 17  "builtin_spec_constant("
                               Name 20  "color"
@@ -102,10 +102,10 @@
                               Store 20(color) 46
               48:          10 Load 22(ucol)
                               Store 47(param) 48
-              49:           2 FunctionCall 14(foo(vf4[s1522];) 47(param)
+              49:           2 FunctionCall 14(foo(vf4[s2164];) 47(param)
                               Return
                               FunctionEnd
-14(foo(vf4[s1522];):           2 Function None 12
+14(foo(vf4[s2164];):           2 Function None 12
            13(p):     11(ptr) FunctionParameter
               15:             Label
               54:     24(ptr) AccessChain 53(dupUcol) 23
diff --git a/Test/baseResults/spv.subgroup.frag.out b/Test/baseResults/spv.subgroup.frag.out
new file mode 100644
index 0000000..e148e53
--- /dev/null
+++ b/Test/baseResults/spv.subgroup.frag.out
@@ -0,0 +1,44 @@
+spv.subgroup.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 17
+
+                              Capability Shader
+                              Capability GroupNonUniform
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 9 11 13
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              Name 4  "main"
+                              Name 9  "data"
+                              Name 11  "gl_SubgroupSize"
+                              Name 13  "gl_SubgroupInvocationID"
+                              Decorate 9(data) Location 0
+                              Decorate 11(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 11(gl_SubgroupSize) Flat
+                              Decorate 11(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 12 RelaxedPrecision
+                              Decorate 13(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 13(gl_SubgroupInvocationID) Flat
+                              Decorate 13(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 14 RelaxedPrecision
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 4
+               8:             TypePointer Output 7(ivec4)
+         9(data):      8(ptr) Variable Output
+              10:             TypePointer Input 6(int)
+11(gl_SubgroupSize):     10(ptr) Variable Input
+13(gl_SubgroupInvocationID):     10(ptr) Variable Input
+              15:      6(int) Constant 0
+         4(main):           2 Function None 3
+               5:             Label
+              12:      6(int) Load 11(gl_SubgroupSize)
+              14:      6(int) Load 13(gl_SubgroupInvocationID)
+              16:    7(ivec4) CompositeConstruct 12 14 15 15
+                              Store 9(data) 16
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroup.geom.out b/Test/baseResults/spv.subgroup.geom.out
new file mode 100644
index 0000000..159a8ac
--- /dev/null
+++ b/Test/baseResults/spv.subgroup.geom.out
@@ -0,0 +1,62 @@
+spv.subgroup.geom
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 26
+
+                              Capability Geometry
+                              Capability GroupNonUniform
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Geometry 4  "main" 15 18 20
+                              ExecutionMode 4 InputPoints
+                              ExecutionMode 4 Invocations 1
+                              ExecutionMode 4 OutputPoints
+                              ExecutionMode 4 OutputVertices 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              Name 4  "main"
+                              Name 9  "Output"
+                              MemberName 9(Output) 0  "result"
+                              Name 11  ""
+                              Name 15  "gl_PrimitiveIDIn"
+                              Name 18  "gl_SubgroupSize"
+                              Name 20  "gl_SubgroupInvocationID"
+                              Decorate 8 ArrayStride 16
+                              MemberDecorate 9(Output) 0 Offset 0
+                              Decorate 9(Output) BufferBlock
+                              Decorate 11 DescriptorSet 0
+                              Decorate 11 Binding 0
+                              Decorate 15(gl_PrimitiveIDIn) BuiltIn PrimitiveId
+                              Decorate 18(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 19 RelaxedPrecision
+                              Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 21 RelaxedPrecision
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 4
+               8:             TypeRuntimeArray 7(ivec4)
+       9(Output):             TypeStruct 8
+              10:             TypePointer Uniform 9(Output)
+              11:     10(ptr) Variable Uniform
+              12:             TypeInt 32 1
+              13:     12(int) Constant 0
+              14:             TypePointer Input 12(int)
+15(gl_PrimitiveIDIn):     14(ptr) Variable Input
+              17:             TypePointer Input 6(int)
+18(gl_SubgroupSize):     17(ptr) Variable Input
+20(gl_SubgroupInvocationID):     17(ptr) Variable Input
+              22:      6(int) Constant 0
+              24:             TypePointer Uniform 7(ivec4)
+         4(main):           2 Function None 3
+               5:             Label
+              16:     12(int) Load 15(gl_PrimitiveIDIn)
+              19:      6(int) Load 18(gl_SubgroupSize)
+              21:      6(int) Load 20(gl_SubgroupInvocationID)
+              23:    7(ivec4) CompositeConstruct 19 21 22 22
+              25:     24(ptr) AccessChain 11 13 16
+                              Store 25 23
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroup.tesc.out b/Test/baseResults/spv.subgroup.tesc.out
new file mode 100644
index 0000000..c62e1bd
--- /dev/null
+++ b/Test/baseResults/spv.subgroup.tesc.out
@@ -0,0 +1,59 @@
+spv.subgroup.tesc
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 26
+
+                              Capability Tessellation
+                              Capability GroupNonUniform
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint TessellationControl 4  "main" 15 18 20
+                              ExecutionMode 4 OutputVertices 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              Name 4  "main"
+                              Name 9  "Output"
+                              MemberName 9(Output) 0  "result"
+                              Name 11  ""
+                              Name 15  "gl_PrimitiveID"
+                              Name 18  "gl_SubgroupSize"
+                              Name 20  "gl_SubgroupInvocationID"
+                              Decorate 8 ArrayStride 16
+                              MemberDecorate 9(Output) 0 Offset 0
+                              Decorate 9(Output) BufferBlock
+                              Decorate 11 DescriptorSet 0
+                              Decorate 11 Binding 0
+                              Decorate 15(gl_PrimitiveID) BuiltIn PrimitiveId
+                              Decorate 18(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 19 RelaxedPrecision
+                              Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 21 RelaxedPrecision
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 4
+               8:             TypeRuntimeArray 7(ivec4)
+       9(Output):             TypeStruct 8
+              10:             TypePointer Uniform 9(Output)
+              11:     10(ptr) Variable Uniform
+              12:             TypeInt 32 1
+              13:     12(int) Constant 0
+              14:             TypePointer Input 12(int)
+15(gl_PrimitiveID):     14(ptr) Variable Input
+              17:             TypePointer Input 6(int)
+18(gl_SubgroupSize):     17(ptr) Variable Input
+20(gl_SubgroupInvocationID):     17(ptr) Variable Input
+              22:      6(int) Constant 0
+              24:             TypePointer Uniform 7(ivec4)
+         4(main):           2 Function None 3
+               5:             Label
+              16:     12(int) Load 15(gl_PrimitiveID)
+              19:      6(int) Load 18(gl_SubgroupSize)
+              21:      6(int) Load 20(gl_SubgroupInvocationID)
+              23:    7(ivec4) CompositeConstruct 19 21 22 22
+              25:     24(ptr) AccessChain 11 13 16
+                              Store 25 23
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroup.tese.out b/Test/baseResults/spv.subgroup.tese.out
new file mode 100644
index 0000000..835fa96
--- /dev/null
+++ b/Test/baseResults/spv.subgroup.tese.out
@@ -0,0 +1,61 @@
+spv.subgroup.tese
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 26
+
+                              Capability Tessellation
+                              Capability GroupNonUniform
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint TessellationEvaluation 4  "main" 15 18 20
+                              ExecutionMode 4 Isolines
+                              ExecutionMode 4 SpacingEqual
+                              ExecutionMode 4 VertexOrderCcw
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              Name 4  "main"
+                              Name 9  "Output"
+                              MemberName 9(Output) 0  "result"
+                              Name 11  ""
+                              Name 15  "gl_PrimitiveID"
+                              Name 18  "gl_SubgroupSize"
+                              Name 20  "gl_SubgroupInvocationID"
+                              Decorate 8 ArrayStride 16
+                              MemberDecorate 9(Output) 0 Offset 0
+                              Decorate 9(Output) BufferBlock
+                              Decorate 11 DescriptorSet 0
+                              Decorate 11 Binding 0
+                              Decorate 15(gl_PrimitiveID) BuiltIn PrimitiveId
+                              Decorate 18(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 19 RelaxedPrecision
+                              Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 21 RelaxedPrecision
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 4
+               8:             TypeRuntimeArray 7(ivec4)
+       9(Output):             TypeStruct 8
+              10:             TypePointer Uniform 9(Output)
+              11:     10(ptr) Variable Uniform
+              12:             TypeInt 32 1
+              13:     12(int) Constant 0
+              14:             TypePointer Input 12(int)
+15(gl_PrimitiveID):     14(ptr) Variable Input
+              17:             TypePointer Input 6(int)
+18(gl_SubgroupSize):     17(ptr) Variable Input
+20(gl_SubgroupInvocationID):     17(ptr) Variable Input
+              22:      6(int) Constant 0
+              24:             TypePointer Uniform 7(ivec4)
+         4(main):           2 Function None 3
+               5:             Label
+              16:     12(int) Load 15(gl_PrimitiveID)
+              19:      6(int) Load 18(gl_SubgroupSize)
+              21:      6(int) Load 20(gl_SubgroupInvocationID)
+              23:    7(ivec4) CompositeConstruct 19 21 22 22
+              25:     24(ptr) AccessChain 11 13 16
+                              Store 25 23
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroup.vert.out b/Test/baseResults/spv.subgroup.vert.out
new file mode 100644
index 0000000..cf3213b
--- /dev/null
+++ b/Test/baseResults/spv.subgroup.vert.out
@@ -0,0 +1,58 @@
+spv.subgroup.vert
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 26
+
+                              Capability Shader
+                              Capability GroupNonUniform
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 15 18 20
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              Name 4  "main"
+                              Name 9  "Output"
+                              MemberName 9(Output) 0  "result"
+                              Name 11  ""
+                              Name 15  "gl_VertexIndex"
+                              Name 18  "gl_SubgroupSize"
+                              Name 20  "gl_SubgroupInvocationID"
+                              Decorate 8 ArrayStride 16
+                              MemberDecorate 9(Output) 0 Offset 0
+                              Decorate 9(Output) BufferBlock
+                              Decorate 11 DescriptorSet 0
+                              Decorate 11 Binding 0
+                              Decorate 15(gl_VertexIndex) BuiltIn VertexIndex
+                              Decorate 18(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 19 RelaxedPrecision
+                              Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 21 RelaxedPrecision
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 4
+               8:             TypeRuntimeArray 7(ivec4)
+       9(Output):             TypeStruct 8
+              10:             TypePointer Uniform 9(Output)
+              11:     10(ptr) Variable Uniform
+              12:             TypeInt 32 1
+              13:     12(int) Constant 0
+              14:             TypePointer Input 12(int)
+15(gl_VertexIndex):     14(ptr) Variable Input
+              17:             TypePointer Input 6(int)
+18(gl_SubgroupSize):     17(ptr) Variable Input
+20(gl_SubgroupInvocationID):     17(ptr) Variable Input
+              22:      6(int) Constant 0
+              24:             TypePointer Uniform 7(ivec4)
+         4(main):           2 Function None 3
+               5:             Label
+              16:     12(int) Load 15(gl_VertexIndex)
+              19:      6(int) Load 18(gl_SubgroupSize)
+              21:      6(int) Load 20(gl_SubgroupInvocationID)
+              23:    7(ivec4) CompositeConstruct 19 21 22 22
+              25:     24(ptr) AccessChain 11 13 16
+                              Store 25 23
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroupArithmetic.comp.out b/Test/baseResults/spv.subgroupArithmetic.comp.out
new file mode 100644
index 0000000..b8d7a5a
--- /dev/null
+++ b/Test/baseResults/spv.subgroupArithmetic.comp.out
@@ -0,0 +1,2428 @@
+spv.subgroupArithmetic.comp
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 2085
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformArithmetic
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main" 10 12
+                              ExecutionMode 4 LocalSize 8 1 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_arithmetic"
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              Name 4  "main"
+                              Name 8  "invocation"
+                              Name 10  "gl_SubgroupInvocationID"
+                              Name 12  "gl_SubgroupSize"
+                              Name 24  "Buffers"
+                              MemberName 24(Buffers) 0  "f4"
+                              MemberName 24(Buffers) 1  "i4"
+                              MemberName 24(Buffers) 2  "u4"
+                              MemberName 24(Buffers) 3  "d4"
+                              Name 27  "data"
+                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 11 RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 13 RelaxedPrecision
+                              Decorate 14 RelaxedPrecision
+                              Decorate 16 RelaxedPrecision
+                              MemberDecorate 24(Buffers) 0 Offset 0
+                              MemberDecorate 24(Buffers) 1 Offset 16
+                              MemberDecorate 24(Buffers) 2 Offset 32
+                              MemberDecorate 24(Buffers) 3 Offset 64
+                              Decorate 24(Buffers) BufferBlock
+                              Decorate 27(data) DescriptorSet 0
+                              Decorate 27(data) Binding 0
+                              Decorate 2084 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypePointer Input 6(int)
+10(gl_SubgroupInvocationID):      9(ptr) Variable Input
+12(gl_SubgroupSize):      9(ptr) Variable Input
+              15:      6(int) Constant 4
+              17:             TypeFloat 32
+              18:             TypeVector 17(float) 4
+              19:             TypeInt 32 1
+              20:             TypeVector 19(int) 4
+              21:             TypeVector 6(int) 4
+              22:             TypeFloat 64
+              23:             TypeVector 22(float) 4
+     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(fvec4)
+              25:             TypeArray 24(Buffers) 15
+              26:             TypePointer Uniform 25
+        27(data):     26(ptr) Variable Uniform
+              29:     19(int) Constant 0
+              30:      6(int) Constant 0
+              31:             TypePointer Uniform 17(float)
+              34:      6(int) Constant 3
+              38:     19(int) Constant 1
+              39:             TypeVector 17(float) 2
+              40:             TypePointer Uniform 18(fvec4)
+              49:     19(int) Constant 2
+              50:             TypeVector 17(float) 3
+              59:     19(int) Constant 3
+              65:             TypePointer Uniform 19(int)
+              71:             TypeVector 19(int) 2
+              72:             TypePointer Uniform 20(ivec4)
+              81:             TypeVector 19(int) 3
+              95:             TypePointer Uniform 6(int)
+             101:             TypeVector 6(int) 2
+             102:             TypePointer Uniform 21(ivec4)
+             111:             TypeVector 6(int) 3
+             125:             TypePointer Uniform 22(float)
+             131:             TypeVector 22(float) 2
+             132:             TypePointer Uniform 23(fvec4)
+             141:             TypeVector 22(float) 3
+             521:             TypeBool
+             530:   71(ivec2) ConstantComposite 29 29
+             531:             TypeVector 521(bool) 2
+             534:   71(ivec2) ConstantComposite 38 38
+             543:   81(ivec3) ConstantComposite 29 29 29
+             544:             TypeVector 521(bool) 3
+             547:   81(ivec3) ConstantComposite 38 38 38
+             555:   20(ivec4) ConstantComposite 29 29 29 29
+             556:             TypeVector 521(bool) 4
+             559:   20(ivec4) ConstantComposite 38 38 38 38
+            2082:      6(int) Constant 8
+            2083:      6(int) Constant 1
+            2084:  111(ivec3) ConstantComposite 2082 2083 2083
+         4(main):           2 Function None 3
+               5:             Label
+   8(invocation):      7(ptr) Variable Function
+              11:      6(int) Load 10(gl_SubgroupInvocationID)
+              13:      6(int) Load 12(gl_SubgroupSize)
+              14:      6(int) IAdd 11 13
+              16:      6(int) UMod 14 15
+                              Store 8(invocation) 16
+              28:      6(int) Load 8(invocation)
+              32:     31(ptr) AccessChain 27(data) 29 29 30
+              33:   17(float) Load 32
+              35:   17(float) GroupNonUniformFAdd 34 Reduce 33
+              36:     31(ptr) AccessChain 27(data) 28 29 30
+                              Store 36 35
+              37:      6(int) Load 8(invocation)
+              41:     40(ptr) AccessChain 27(data) 38 29
+              42:   18(fvec4) Load 41
+              43:   39(fvec2) VectorShuffle 42 42 0 1
+              44:   39(fvec2) GroupNonUniformFAdd 34 Reduce 43
+              45:     40(ptr) AccessChain 27(data) 37 29
+              46:   18(fvec4) Load 45
+              47:   18(fvec4) VectorShuffle 46 44 4 5 2 3
+                              Store 45 47
+              48:      6(int) Load 8(invocation)
+              51:     40(ptr) AccessChain 27(data) 49 29
+              52:   18(fvec4) Load 51
+              53:   50(fvec3) VectorShuffle 52 52 0 1 2
+              54:   50(fvec3) GroupNonUniformFAdd 34 Reduce 53
+              55:     40(ptr) AccessChain 27(data) 48 29
+              56:   18(fvec4) Load 55
+              57:   18(fvec4) VectorShuffle 56 54 4 5 6 3
+                              Store 55 57
+              58:      6(int) Load 8(invocation)
+              60:     40(ptr) AccessChain 27(data) 59 29
+              61:   18(fvec4) Load 60
+              62:   18(fvec4) GroupNonUniformFAdd 34 Reduce 61
+              63:     40(ptr) AccessChain 27(data) 58 29
+                              Store 63 62
+              64:      6(int) Load 8(invocation)
+              66:     65(ptr) AccessChain 27(data) 29 38 30
+              67:     19(int) Load 66
+              68:     19(int) GroupNonUniformIAdd 34 Reduce 67
+              69:     65(ptr) AccessChain 27(data) 64 38 30
+                              Store 69 68
+              70:      6(int) Load 8(invocation)
+              73:     72(ptr) AccessChain 27(data) 38 38
+              74:   20(ivec4) Load 73
+              75:   71(ivec2) VectorShuffle 74 74 0 1
+              76:   71(ivec2) GroupNonUniformIAdd 34 Reduce 75
+              77:     72(ptr) AccessChain 27(data) 70 38
+              78:   20(ivec4) Load 77
+              79:   20(ivec4) VectorShuffle 78 76 4 5 2 3
+                              Store 77 79
+              80:      6(int) Load 8(invocation)
+              82:     72(ptr) AccessChain 27(data) 49 38
+              83:   20(ivec4) Load 82
+              84:   81(ivec3) VectorShuffle 83 83 0 1 2
+              85:   81(ivec3) GroupNonUniformIAdd 34 Reduce 84
+              86:     72(ptr) AccessChain 27(data) 80 38
+              87:   20(ivec4) Load 86
+              88:   20(ivec4) VectorShuffle 87 85 4 5 6 3
+                              Store 86 88
+              89:      6(int) Load 8(invocation)
+              90:     72(ptr) AccessChain 27(data) 59 38
+              91:   20(ivec4) Load 90
+              92:   20(ivec4) GroupNonUniformIAdd 34 Reduce 91
+              93:     72(ptr) AccessChain 27(data) 89 38
+                              Store 93 92
+              94:      6(int) Load 8(invocation)
+              96:     95(ptr) AccessChain 27(data) 29 49 30
+              97:      6(int) Load 96
+              98:      6(int) GroupNonUniformIAdd 34 Reduce 97
+              99:     95(ptr) AccessChain 27(data) 94 49 30
+                              Store 99 98
+             100:      6(int) Load 8(invocation)
+             103:    102(ptr) AccessChain 27(data) 38 49
+             104:   21(ivec4) Load 103
+             105:  101(ivec2) VectorShuffle 104 104 0 1
+             106:  101(ivec2) GroupNonUniformIAdd 34 Reduce 105
+             107:    102(ptr) AccessChain 27(data) 100 49
+             108:   21(ivec4) Load 107
+             109:   21(ivec4) VectorShuffle 108 106 4 5 2 3
+                              Store 107 109
+             110:      6(int) Load 8(invocation)
+             112:    102(ptr) AccessChain 27(data) 49 49
+             113:   21(ivec4) Load 112
+             114:  111(ivec3) VectorShuffle 113 113 0 1 2
+             115:  111(ivec3) GroupNonUniformIAdd 34 Reduce 114
+             116:    102(ptr) AccessChain 27(data) 110 49
+             117:   21(ivec4) Load 116
+             118:   21(ivec4) VectorShuffle 117 115 4 5 6 3
+                              Store 116 118
+             119:      6(int) Load 8(invocation)
+             120:    102(ptr) AccessChain 27(data) 59 49
+             121:   21(ivec4) Load 120
+             122:   21(ivec4) GroupNonUniformIAdd 34 Reduce 121
+             123:    102(ptr) AccessChain 27(data) 119 49
+                              Store 123 122
+             124:      6(int) Load 8(invocation)
+             126:    125(ptr) AccessChain 27(data) 29 59 30
+             127:   22(float) Load 126
+             128:   22(float) GroupNonUniformFAdd 34 Reduce 127
+             129:    125(ptr) AccessChain 27(data) 124 59 30
+                              Store 129 128
+             130:      6(int) Load 8(invocation)
+             133:    132(ptr) AccessChain 27(data) 38 59
+             134:   23(fvec4) Load 133
+             135:  131(fvec2) VectorShuffle 134 134 0 1
+             136:  131(fvec2) GroupNonUniformFAdd 34 Reduce 135
+             137:    132(ptr) AccessChain 27(data) 130 59
+             138:   23(fvec4) Load 137
+             139:   23(fvec4) VectorShuffle 138 136 4 5 2 3
+                              Store 137 139
+             140:      6(int) Load 8(invocation)
+             142:    132(ptr) AccessChain 27(data) 49 59
+             143:   23(fvec4) Load 142
+             144:  141(fvec3) VectorShuffle 143 143 0 1 2
+             145:  141(fvec3) GroupNonUniformFAdd 34 Reduce 144
+             146:    132(ptr) AccessChain 27(data) 140 59
+             147:   23(fvec4) Load 146
+             148:   23(fvec4) VectorShuffle 147 145 4 5 6 3
+                              Store 146 148
+             149:      6(int) Load 8(invocation)
+             150:    132(ptr) AccessChain 27(data) 59 59
+             151:   23(fvec4) Load 150
+             152:   23(fvec4) GroupNonUniformFAdd 34 Reduce 151
+             153:    132(ptr) AccessChain 27(data) 149 59
+                              Store 153 152
+             154:      6(int) Load 8(invocation)
+             155:     31(ptr) AccessChain 27(data) 29 29 30
+             156:   17(float) Load 155
+             157:   17(float) GroupNonUniformFMul 34 Reduce 156
+             158:     31(ptr) AccessChain 27(data) 154 29 30
+                              Store 158 157
+             159:      6(int) Load 8(invocation)
+             160:     40(ptr) AccessChain 27(data) 38 29
+             161:   18(fvec4) Load 160
+             162:   39(fvec2) VectorShuffle 161 161 0 1
+             163:   39(fvec2) GroupNonUniformFMul 34 Reduce 162
+             164:     40(ptr) AccessChain 27(data) 159 29
+             165:   18(fvec4) Load 164
+             166:   18(fvec4) VectorShuffle 165 163 4 5 2 3
+                              Store 164 166
+             167:      6(int) Load 8(invocation)
+             168:     40(ptr) AccessChain 27(data) 49 29
+             169:   18(fvec4) Load 168
+             170:   50(fvec3) VectorShuffle 169 169 0 1 2
+             171:   50(fvec3) GroupNonUniformFMul 34 Reduce 170
+             172:     40(ptr) AccessChain 27(data) 167 29
+             173:   18(fvec4) Load 172
+             174:   18(fvec4) VectorShuffle 173 171 4 5 6 3
+                              Store 172 174
+             175:      6(int) Load 8(invocation)
+             176:     40(ptr) AccessChain 27(data) 59 29
+             177:   18(fvec4) Load 176
+             178:   18(fvec4) GroupNonUniformFMul 34 Reduce 177
+             179:     40(ptr) AccessChain 27(data) 175 29
+                              Store 179 178
+             180:      6(int) Load 8(invocation)
+             181:     65(ptr) AccessChain 27(data) 29 38 30
+             182:     19(int) Load 181
+             183:     19(int) GroupNonUniformIMul 34 Reduce 182
+             184:     65(ptr) AccessChain 27(data) 180 38 30
+                              Store 184 183
+             185:      6(int) Load 8(invocation)
+             186:     72(ptr) AccessChain 27(data) 38 38
+             187:   20(ivec4) Load 186
+             188:   71(ivec2) VectorShuffle 187 187 0 1
+             189:   71(ivec2) GroupNonUniformIMul 34 Reduce 188
+             190:     72(ptr) AccessChain 27(data) 185 38
+             191:   20(ivec4) Load 190
+             192:   20(ivec4) VectorShuffle 191 189 4 5 2 3
+                              Store 190 192
+             193:      6(int) Load 8(invocation)
+             194:     72(ptr) AccessChain 27(data) 49 38
+             195:   20(ivec4) Load 194
+             196:   81(ivec3) VectorShuffle 195 195 0 1 2
+             197:   81(ivec3) GroupNonUniformIMul 34 Reduce 196
+             198:     72(ptr) AccessChain 27(data) 193 38
+             199:   20(ivec4) Load 198
+             200:   20(ivec4) VectorShuffle 199 197 4 5 6 3
+                              Store 198 200
+             201:      6(int) Load 8(invocation)
+             202:     72(ptr) AccessChain 27(data) 59 38
+             203:   20(ivec4) Load 202
+             204:   20(ivec4) GroupNonUniformIMul 34 Reduce 203
+             205:     72(ptr) AccessChain 27(data) 201 38
+                              Store 205 204
+             206:      6(int) Load 8(invocation)
+             207:     95(ptr) AccessChain 27(data) 29 49 30
+             208:      6(int) Load 207
+             209:      6(int) GroupNonUniformIMul 34 Reduce 208
+             210:     95(ptr) AccessChain 27(data) 206 49 30
+                              Store 210 209
+             211:      6(int) Load 8(invocation)
+             212:    102(ptr) AccessChain 27(data) 38 49
+             213:   21(ivec4) Load 212
+             214:  101(ivec2) VectorShuffle 213 213 0 1
+             215:  101(ivec2) GroupNonUniformIMul 34 Reduce 214
+             216:    102(ptr) AccessChain 27(data) 211 49
+             217:   21(ivec4) Load 216
+             218:   21(ivec4) VectorShuffle 217 215 4 5 2 3
+                              Store 216 218
+             219:      6(int) Load 8(invocation)
+             220:    102(ptr) AccessChain 27(data) 49 49
+             221:   21(ivec4) Load 220
+             222:  111(ivec3) VectorShuffle 221 221 0 1 2
+             223:  111(ivec3) GroupNonUniformIMul 34 Reduce 222
+             224:    102(ptr) AccessChain 27(data) 219 49
+             225:   21(ivec4) Load 224
+             226:   21(ivec4) VectorShuffle 225 223 4 5 6 3
+                              Store 224 226
+             227:      6(int) Load 8(invocation)
+             228:    102(ptr) AccessChain 27(data) 59 49
+             229:   21(ivec4) Load 228
+             230:   21(ivec4) GroupNonUniformIMul 34 Reduce 229
+             231:    102(ptr) AccessChain 27(data) 227 49
+                              Store 231 230
+             232:      6(int) Load 8(invocation)
+             233:    125(ptr) AccessChain 27(data) 29 59 30
+             234:   22(float) Load 233
+             235:   22(float) GroupNonUniformFMul 34 Reduce 234
+             236:    125(ptr) AccessChain 27(data) 232 59 30
+                              Store 236 235
+             237:      6(int) Load 8(invocation)
+             238:    132(ptr) AccessChain 27(data) 38 59
+             239:   23(fvec4) Load 238
+             240:  131(fvec2) VectorShuffle 239 239 0 1
+             241:  131(fvec2) GroupNonUniformFMul 34 Reduce 240
+             242:    132(ptr) AccessChain 27(data) 237 59
+             243:   23(fvec4) Load 242
+             244:   23(fvec4) VectorShuffle 243 241 4 5 2 3
+                              Store 242 244
+             245:      6(int) Load 8(invocation)
+             246:    132(ptr) AccessChain 27(data) 49 59
+             247:   23(fvec4) Load 246
+             248:  141(fvec3) VectorShuffle 247 247 0 1 2
+             249:  141(fvec3) GroupNonUniformFMul 34 Reduce 248
+             250:    132(ptr) AccessChain 27(data) 245 59
+             251:   23(fvec4) Load 250
+             252:   23(fvec4) VectorShuffle 251 249 4 5 6 3
+                              Store 250 252
+             253:      6(int) Load 8(invocation)
+             254:    132(ptr) AccessChain 27(data) 59 59
+             255:   23(fvec4) Load 254
+             256:   23(fvec4) GroupNonUniformFMul 34 Reduce 255
+             257:    132(ptr) AccessChain 27(data) 253 59
+                              Store 257 256
+             258:      6(int) Load 8(invocation)
+             259:     31(ptr) AccessChain 27(data) 29 29 30
+             260:   17(float) Load 259
+             261:   17(float) GroupNonUniformFMin 34 Reduce 260
+             262:     31(ptr) AccessChain 27(data) 258 29 30
+                              Store 262 261
+             263:      6(int) Load 8(invocation)
+             264:     40(ptr) AccessChain 27(data) 38 29
+             265:   18(fvec4) Load 264
+             266:   39(fvec2) VectorShuffle 265 265 0 1
+             267:   39(fvec2) GroupNonUniformFMin 34 Reduce 266
+             268:     40(ptr) AccessChain 27(data) 263 29
+             269:   18(fvec4) Load 268
+             270:   18(fvec4) VectorShuffle 269 267 4 5 2 3
+                              Store 268 270
+             271:      6(int) Load 8(invocation)
+             272:     40(ptr) AccessChain 27(data) 49 29
+             273:   18(fvec4) Load 272
+             274:   50(fvec3) VectorShuffle 273 273 0 1 2
+             275:   50(fvec3) GroupNonUniformFMin 34 Reduce 274
+             276:     40(ptr) AccessChain 27(data) 271 29
+             277:   18(fvec4) Load 276
+             278:   18(fvec4) VectorShuffle 277 275 4 5 6 3
+                              Store 276 278
+             279:      6(int) Load 8(invocation)
+             280:     40(ptr) AccessChain 27(data) 59 29
+             281:   18(fvec4) Load 280
+             282:   18(fvec4) GroupNonUniformFMin 34 Reduce 281
+             283:     40(ptr) AccessChain 27(data) 279 29
+                              Store 283 282
+             284:      6(int) Load 8(invocation)
+             285:     65(ptr) AccessChain 27(data) 29 38 30
+             286:     19(int) Load 285
+             287:     19(int) GroupNonUniformSMin 34 Reduce 286
+             288:     65(ptr) AccessChain 27(data) 284 38 30
+                              Store 288 287
+             289:      6(int) Load 8(invocation)
+             290:     72(ptr) AccessChain 27(data) 38 38
+             291:   20(ivec4) Load 290
+             292:   71(ivec2) VectorShuffle 291 291 0 1
+             293:   71(ivec2) GroupNonUniformSMin 34 Reduce 292
+             294:     72(ptr) AccessChain 27(data) 289 38
+             295:   20(ivec4) Load 294
+             296:   20(ivec4) VectorShuffle 295 293 4 5 2 3
+                              Store 294 296
+             297:      6(int) Load 8(invocation)
+             298:     72(ptr) AccessChain 27(data) 49 38
+             299:   20(ivec4) Load 298
+             300:   81(ivec3) VectorShuffle 299 299 0 1 2
+             301:   81(ivec3) GroupNonUniformSMin 34 Reduce 300
+             302:     72(ptr) AccessChain 27(data) 297 38
+             303:   20(ivec4) Load 302
+             304:   20(ivec4) VectorShuffle 303 301 4 5 6 3
+                              Store 302 304
+             305:      6(int) Load 8(invocation)
+             306:     72(ptr) AccessChain 27(data) 59 38
+             307:   20(ivec4) Load 306
+             308:   20(ivec4) GroupNonUniformSMin 34 Reduce 307
+             309:     72(ptr) AccessChain 27(data) 305 38
+                              Store 309 308
+             310:      6(int) Load 8(invocation)
+             311:     95(ptr) AccessChain 27(data) 29 49 30
+             312:      6(int) Load 311
+             313:      6(int) GroupNonUniformUMin 34 Reduce 312
+             314:     95(ptr) AccessChain 27(data) 310 49 30
+                              Store 314 313
+             315:      6(int) Load 8(invocation)
+             316:    102(ptr) AccessChain 27(data) 38 49
+             317:   21(ivec4) Load 316
+             318:  101(ivec2) VectorShuffle 317 317 0 1
+             319:  101(ivec2) GroupNonUniformUMin 34 Reduce 318
+             320:    102(ptr) AccessChain 27(data) 315 49
+             321:   21(ivec4) Load 320
+             322:   21(ivec4) VectorShuffle 321 319 4 5 2 3
+                              Store 320 322
+             323:      6(int) Load 8(invocation)
+             324:    102(ptr) AccessChain 27(data) 49 49
+             325:   21(ivec4) Load 324
+             326:  111(ivec3) VectorShuffle 325 325 0 1 2
+             327:  111(ivec3) GroupNonUniformUMin 34 Reduce 326
+             328:    102(ptr) AccessChain 27(data) 323 49
+             329:   21(ivec4) Load 328
+             330:   21(ivec4) VectorShuffle 329 327 4 5 6 3
+                              Store 328 330
+             331:      6(int) Load 8(invocation)
+             332:    102(ptr) AccessChain 27(data) 59 49
+             333:   21(ivec4) Load 332
+             334:   21(ivec4) GroupNonUniformUMin 34 Reduce 333
+             335:    102(ptr) AccessChain 27(data) 331 49
+                              Store 335 334
+             336:      6(int) Load 8(invocation)
+             337:    125(ptr) AccessChain 27(data) 29 59 30
+             338:   22(float) Load 337
+             339:   22(float) GroupNonUniformFMin 34 Reduce 338
+             340:    125(ptr) AccessChain 27(data) 336 59 30
+                              Store 340 339
+             341:      6(int) Load 8(invocation)
+             342:    132(ptr) AccessChain 27(data) 38 59
+             343:   23(fvec4) Load 342
+             344:  131(fvec2) VectorShuffle 343 343 0 1
+             345:  131(fvec2) GroupNonUniformFMin 34 Reduce 344
+             346:    132(ptr) AccessChain 27(data) 341 59
+             347:   23(fvec4) Load 346
+             348:   23(fvec4) VectorShuffle 347 345 4 5 2 3
+                              Store 346 348
+             349:      6(int) Load 8(invocation)
+             350:    132(ptr) AccessChain 27(data) 49 59
+             351:   23(fvec4) Load 350
+             352:  141(fvec3) VectorShuffle 351 351 0 1 2
+             353:  141(fvec3) GroupNonUniformFMin 34 Reduce 352
+             354:    132(ptr) AccessChain 27(data) 349 59
+             355:   23(fvec4) Load 354
+             356:   23(fvec4) VectorShuffle 355 353 4 5 6 3
+                              Store 354 356
+             357:      6(int) Load 8(invocation)
+             358:    132(ptr) AccessChain 27(data) 59 59
+             359:   23(fvec4) Load 358
+             360:   23(fvec4) GroupNonUniformFMin 34 Reduce 359
+             361:    132(ptr) AccessChain 27(data) 357 59
+                              Store 361 360
+             362:      6(int) Load 8(invocation)
+             363:     31(ptr) AccessChain 27(data) 29 29 30
+             364:   17(float) Load 363
+             365:   17(float) GroupNonUniformFMax 34 Reduce 364
+             366:     31(ptr) AccessChain 27(data) 362 29 30
+                              Store 366 365
+             367:      6(int) Load 8(invocation)
+             368:     40(ptr) AccessChain 27(data) 38 29
+             369:   18(fvec4) Load 368
+             370:   39(fvec2) VectorShuffle 369 369 0 1
+             371:   39(fvec2) GroupNonUniformFMax 34 Reduce 370
+             372:     40(ptr) AccessChain 27(data) 367 29
+             373:   18(fvec4) Load 372
+             374:   18(fvec4) VectorShuffle 373 371 4 5 2 3
+                              Store 372 374
+             375:      6(int) Load 8(invocation)
+             376:     40(ptr) AccessChain 27(data) 49 29
+             377:   18(fvec4) Load 376
+             378:   50(fvec3) VectorShuffle 377 377 0 1 2
+             379:   50(fvec3) GroupNonUniformFMax 34 Reduce 378
+             380:     40(ptr) AccessChain 27(data) 375 29
+             381:   18(fvec4) Load 380
+             382:   18(fvec4) VectorShuffle 381 379 4 5 6 3
+                              Store 380 382
+             383:      6(int) Load 8(invocation)
+             384:     40(ptr) AccessChain 27(data) 59 29
+             385:   18(fvec4) Load 384
+             386:   18(fvec4) GroupNonUniformFMax 34 Reduce 385
+             387:     40(ptr) AccessChain 27(data) 383 29
+                              Store 387 386
+             388:      6(int) Load 8(invocation)
+             389:     65(ptr) AccessChain 27(data) 29 38 30
+             390:     19(int) Load 389
+             391:     19(int) GroupNonUniformSMax 34 Reduce 390
+             392:     65(ptr) AccessChain 27(data) 388 38 30
+                              Store 392 391
+             393:      6(int) Load 8(invocation)
+             394:     72(ptr) AccessChain 27(data) 38 38
+             395:   20(ivec4) Load 394
+             396:   71(ivec2) VectorShuffle 395 395 0 1
+             397:   71(ivec2) GroupNonUniformSMax 34 Reduce 396
+             398:     72(ptr) AccessChain 27(data) 393 38
+             399:   20(ivec4) Load 398
+             400:   20(ivec4) VectorShuffle 399 397 4 5 2 3
+                              Store 398 400
+             401:      6(int) Load 8(invocation)
+             402:     72(ptr) AccessChain 27(data) 49 38
+             403:   20(ivec4) Load 402
+             404:   81(ivec3) VectorShuffle 403 403 0 1 2
+             405:   81(ivec3) GroupNonUniformSMax 34 Reduce 404
+             406:     72(ptr) AccessChain 27(data) 401 38
+             407:   20(ivec4) Load 406
+             408:   20(ivec4) VectorShuffle 407 405 4 5 6 3
+                              Store 406 408
+             409:      6(int) Load 8(invocation)
+             410:     72(ptr) AccessChain 27(data) 59 38
+             411:   20(ivec4) Load 410
+             412:   20(ivec4) GroupNonUniformSMax 34 Reduce 411
+             413:     72(ptr) AccessChain 27(data) 409 38
+                              Store 413 412
+             414:      6(int) Load 8(invocation)
+             415:     95(ptr) AccessChain 27(data) 29 49 30
+             416:      6(int) Load 415
+             417:      6(int) GroupNonUniformUMax 34 Reduce 416
+             418:     95(ptr) AccessChain 27(data) 414 49 30
+                              Store 418 417
+             419:      6(int) Load 8(invocation)
+             420:    102(ptr) AccessChain 27(data) 38 49
+             421:   21(ivec4) Load 420
+             422:  101(ivec2) VectorShuffle 421 421 0 1
+             423:  101(ivec2) GroupNonUniformUMax 34 Reduce 422
+             424:    102(ptr) AccessChain 27(data) 419 49
+             425:   21(ivec4) Load 424
+             426:   21(ivec4) VectorShuffle 425 423 4 5 2 3
+                              Store 424 426
+             427:      6(int) Load 8(invocation)
+             428:    102(ptr) AccessChain 27(data) 49 49
+             429:   21(ivec4) Load 428
+             430:  111(ivec3) VectorShuffle 429 429 0 1 2
+             431:  111(ivec3) GroupNonUniformUMax 34 Reduce 430
+             432:    102(ptr) AccessChain 27(data) 427 49
+             433:   21(ivec4) Load 432
+             434:   21(ivec4) VectorShuffle 433 431 4 5 6 3
+                              Store 432 434
+             435:      6(int) Load 8(invocation)
+             436:    102(ptr) AccessChain 27(data) 59 49
+             437:   21(ivec4) Load 436
+             438:   21(ivec4) GroupNonUniformUMax 34 Reduce 437
+             439:    102(ptr) AccessChain 27(data) 435 49
+                              Store 439 438
+             440:      6(int) Load 8(invocation)
+             441:    125(ptr) AccessChain 27(data) 29 59 30
+             442:   22(float) Load 441
+             443:   22(float) GroupNonUniformFMax 34 Reduce 442
+             444:    125(ptr) AccessChain 27(data) 440 59 30
+                              Store 444 443
+             445:      6(int) Load 8(invocation)
+             446:    132(ptr) AccessChain 27(data) 38 59
+             447:   23(fvec4) Load 446
+             448:  131(fvec2) VectorShuffle 447 447 0 1
+             449:  131(fvec2) GroupNonUniformFMax 34 Reduce 448
+             450:    132(ptr) AccessChain 27(data) 445 59
+             451:   23(fvec4) Load 450
+             452:   23(fvec4) VectorShuffle 451 449 4 5 2 3
+                              Store 450 452
+             453:      6(int) Load 8(invocation)
+             454:    132(ptr) AccessChain 27(data) 49 59
+             455:   23(fvec4) Load 454
+             456:  141(fvec3) VectorShuffle 455 455 0 1 2
+             457:  141(fvec3) GroupNonUniformFMax 34 Reduce 456
+             458:    132(ptr) AccessChain 27(data) 453 59
+             459:   23(fvec4) Load 458
+             460:   23(fvec4) VectorShuffle 459 457 4 5 6 3
+                              Store 458 460
+             461:      6(int) Load 8(invocation)
+             462:    132(ptr) AccessChain 27(data) 59 59
+             463:   23(fvec4) Load 462
+             464:   23(fvec4) GroupNonUniformFMax 34 Reduce 463
+             465:    132(ptr) AccessChain 27(data) 461 59
+                              Store 465 464
+             466:      6(int) Load 8(invocation)
+             467:     65(ptr) AccessChain 27(data) 29 38 30
+             468:     19(int) Load 467
+             469:     19(int) GroupNonUniformBitwiseAnd 34 Reduce 468
+             470:     65(ptr) AccessChain 27(data) 466 38 30
+                              Store 470 469
+             471:      6(int) Load 8(invocation)
+             472:     72(ptr) AccessChain 27(data) 38 38
+             473:   20(ivec4) Load 472
+             474:   71(ivec2) VectorShuffle 473 473 0 1
+             475:   71(ivec2) GroupNonUniformBitwiseAnd 34 Reduce 474
+             476:     72(ptr) AccessChain 27(data) 471 38
+             477:   20(ivec4) Load 476
+             478:   20(ivec4) VectorShuffle 477 475 4 5 2 3
+                              Store 476 478
+             479:      6(int) Load 8(invocation)
+             480:     72(ptr) AccessChain 27(data) 49 38
+             481:   20(ivec4) Load 480
+             482:   81(ivec3) VectorShuffle 481 481 0 1 2
+             483:   81(ivec3) GroupNonUniformBitwiseAnd 34 Reduce 482
+             484:     72(ptr) AccessChain 27(data) 479 38
+             485:   20(ivec4) Load 484
+             486:   20(ivec4) VectorShuffle 485 483 4 5 6 3
+                              Store 484 486
+             487:      6(int) Load 8(invocation)
+             488:     72(ptr) AccessChain 27(data) 59 38
+             489:   20(ivec4) Load 488
+             490:   20(ivec4) GroupNonUniformBitwiseAnd 34 Reduce 489
+             491:     72(ptr) AccessChain 27(data) 487 38
+                              Store 491 490
+             492:      6(int) Load 8(invocation)
+             493:     95(ptr) AccessChain 27(data) 29 49 30
+             494:      6(int) Load 493
+             495:      6(int) GroupNonUniformBitwiseAnd 34 Reduce 494
+             496:     95(ptr) AccessChain 27(data) 492 49 30
+                              Store 496 495
+             497:      6(int) Load 8(invocation)
+             498:    102(ptr) AccessChain 27(data) 38 49
+             499:   21(ivec4) Load 498
+             500:  101(ivec2) VectorShuffle 499 499 0 1
+             501:  101(ivec2) GroupNonUniformBitwiseAnd 34 Reduce 500
+             502:    102(ptr) AccessChain 27(data) 497 49
+             503:   21(ivec4) Load 502
+             504:   21(ivec4) VectorShuffle 503 501 4 5 2 3
+                              Store 502 504
+             505:      6(int) Load 8(invocation)
+             506:    102(ptr) AccessChain 27(data) 49 49
+             507:   21(ivec4) Load 506
+             508:  111(ivec3) VectorShuffle 507 507 0 1 2
+             509:  111(ivec3) GroupNonUniformBitwiseAnd 34 Reduce 508
+             510:    102(ptr) AccessChain 27(data) 505 49
+             511:   21(ivec4) Load 510
+             512:   21(ivec4) VectorShuffle 511 509 4 5 6 3
+                              Store 510 512
+             513:      6(int) Load 8(invocation)
+             514:    102(ptr) AccessChain 27(data) 59 49
+             515:   21(ivec4) Load 514
+             516:   21(ivec4) GroupNonUniformBitwiseAnd 34 Reduce 515
+             517:    102(ptr) AccessChain 27(data) 513 49
+                              Store 517 516
+             518:      6(int) Load 8(invocation)
+             519:     65(ptr) AccessChain 27(data) 29 38 30
+             520:     19(int) Load 519
+             522:   521(bool) SLessThan 520 29
+             523:   521(bool) GroupNonUniformLogicalAnd 34 Reduce 522
+             524:     19(int) Select 523 38 29
+             525:     65(ptr) AccessChain 27(data) 518 38 30
+                              Store 525 524
+             526:      6(int) Load 8(invocation)
+             527:     72(ptr) AccessChain 27(data) 38 38
+             528:   20(ivec4) Load 527
+             529:   71(ivec2) VectorShuffle 528 528 0 1
+             532:  531(bvec2) SLessThan 529 530
+             533:  531(bvec2) GroupNonUniformLogicalAnd 34 Reduce 532
+             535:   71(ivec2) Select 533 534 530
+             536:     72(ptr) AccessChain 27(data) 526 38
+             537:   20(ivec4) Load 536
+             538:   20(ivec4) VectorShuffle 537 535 4 5 2 3
+                              Store 536 538
+             539:      6(int) Load 8(invocation)
+             540:     72(ptr) AccessChain 27(data) 38 38
+             541:   20(ivec4) Load 540
+             542:   81(ivec3) VectorShuffle 541 541 0 1 2
+             545:  544(bvec3) SLessThan 542 543
+             546:  544(bvec3) GroupNonUniformLogicalAnd 34 Reduce 545
+             548:   81(ivec3) Select 546 547 543
+             549:     72(ptr) AccessChain 27(data) 539 38
+             550:   20(ivec4) Load 549
+             551:   20(ivec4) VectorShuffle 550 548 4 5 6 3
+                              Store 549 551
+             552:      6(int) Load 8(invocation)
+             553:     72(ptr) AccessChain 27(data) 38 38
+             554:   20(ivec4) Load 553
+             557:  556(bvec4) SLessThan 554 555
+             558:  556(bvec4) GroupNonUniformLogicalAnd 34 Reduce 557
+             560:   20(ivec4) Select 558 559 555
+             561:     72(ptr) AccessChain 27(data) 552 38
+                              Store 561 560
+             562:      6(int) Load 8(invocation)
+             563:     65(ptr) AccessChain 27(data) 29 38 30
+             564:     19(int) Load 563
+             565:     19(int) GroupNonUniformBitwiseOr 34 Reduce 564
+             566:     65(ptr) AccessChain 27(data) 562 38 30
+                              Store 566 565
+             567:      6(int) Load 8(invocation)
+             568:     72(ptr) AccessChain 27(data) 38 38
+             569:   20(ivec4) Load 568
+             570:   71(ivec2) VectorShuffle 569 569 0 1
+             571:   71(ivec2) GroupNonUniformBitwiseOr 34 Reduce 570
+             572:     72(ptr) AccessChain 27(data) 567 38
+             573:   20(ivec4) Load 572
+             574:   20(ivec4) VectorShuffle 573 571 4 5 2 3
+                              Store 572 574
+             575:      6(int) Load 8(invocation)
+             576:     72(ptr) AccessChain 27(data) 49 38
+             577:   20(ivec4) Load 576
+             578:   81(ivec3) VectorShuffle 577 577 0 1 2
+             579:   81(ivec3) GroupNonUniformBitwiseOr 34 Reduce 578
+             580:     72(ptr) AccessChain 27(data) 575 38
+             581:   20(ivec4) Load 580
+             582:   20(ivec4) VectorShuffle 581 579 4 5 6 3
+                              Store 580 582
+             583:      6(int) Load 8(invocation)
+             584:     72(ptr) AccessChain 27(data) 59 38
+             585:   20(ivec4) Load 584
+             586:   20(ivec4) GroupNonUniformBitwiseOr 34 Reduce 585
+             587:     72(ptr) AccessChain 27(data) 583 38
+                              Store 587 586
+             588:      6(int) Load 8(invocation)
+             589:     95(ptr) AccessChain 27(data) 29 49 30
+             590:      6(int) Load 589
+             591:      6(int) GroupNonUniformBitwiseOr 34 Reduce 590
+             592:     95(ptr) AccessChain 27(data) 588 49 30
+                              Store 592 591
+             593:      6(int) Load 8(invocation)
+             594:    102(ptr) AccessChain 27(data) 38 49
+             595:   21(ivec4) Load 594
+             596:  101(ivec2) VectorShuffle 595 595 0 1
+             597:  101(ivec2) GroupNonUniformBitwiseOr 34 Reduce 596
+             598:    102(ptr) AccessChain 27(data) 593 49
+             599:   21(ivec4) Load 598
+             600:   21(ivec4) VectorShuffle 599 597 4 5 2 3
+                              Store 598 600
+             601:      6(int) Load 8(invocation)
+             602:    102(ptr) AccessChain 27(data) 49 49
+             603:   21(ivec4) Load 602
+             604:  111(ivec3) VectorShuffle 603 603 0 1 2
+             605:  111(ivec3) GroupNonUniformBitwiseOr 34 Reduce 604
+             606:    102(ptr) AccessChain 27(data) 601 49
+             607:   21(ivec4) Load 606
+             608:   21(ivec4) VectorShuffle 607 605 4 5 6 3
+                              Store 606 608
+             609:      6(int) Load 8(invocation)
+             610:    102(ptr) AccessChain 27(data) 59 49
+             611:   21(ivec4) Load 610
+             612:   21(ivec4) GroupNonUniformBitwiseOr 34 Reduce 611
+             613:    102(ptr) AccessChain 27(data) 609 49
+                              Store 613 612
+             614:      6(int) Load 8(invocation)
+             615:     65(ptr) AccessChain 27(data) 29 38 30
+             616:     19(int) Load 615
+             617:   521(bool) SLessThan 616 29
+             618:   521(bool) GroupNonUniformLogicalOr 34 Reduce 617
+             619:     19(int) Select 618 38 29
+             620:     65(ptr) AccessChain 27(data) 614 38 30
+                              Store 620 619
+             621:      6(int) Load 8(invocation)
+             622:     72(ptr) AccessChain 27(data) 38 38
+             623:   20(ivec4) Load 622
+             624:   71(ivec2) VectorShuffle 623 623 0 1
+             625:  531(bvec2) SLessThan 624 530
+             626:  531(bvec2) GroupNonUniformLogicalOr 34 Reduce 625
+             627:   71(ivec2) Select 626 534 530
+             628:     72(ptr) AccessChain 27(data) 621 38
+             629:   20(ivec4) Load 628
+             630:   20(ivec4) VectorShuffle 629 627 4 5 2 3
+                              Store 628 630
+             631:      6(int) Load 8(invocation)
+             632:     72(ptr) AccessChain 27(data) 38 38
+             633:   20(ivec4) Load 632
+             634:   81(ivec3) VectorShuffle 633 633 0 1 2
+             635:  544(bvec3) SLessThan 634 543
+             636:  544(bvec3) GroupNonUniformLogicalOr 34 Reduce 635
+             637:   81(ivec3) Select 636 547 543
+             638:     72(ptr) AccessChain 27(data) 631 38
+             639:   20(ivec4) Load 638
+             640:   20(ivec4) VectorShuffle 639 637 4 5 6 3
+                              Store 638 640
+             641:      6(int) Load 8(invocation)
+             642:     72(ptr) AccessChain 27(data) 38 38
+             643:   20(ivec4) Load 642
+             644:  556(bvec4) SLessThan 643 555
+             645:  556(bvec4) GroupNonUniformLogicalOr 34 Reduce 644
+             646:   20(ivec4) Select 645 559 555
+             647:     72(ptr) AccessChain 27(data) 641 38
+                              Store 647 646
+             648:      6(int) Load 8(invocation)
+             649:     65(ptr) AccessChain 27(data) 29 38 30
+             650:     19(int) Load 649
+             651:     19(int) GroupNonUniformBitwiseXor 34 Reduce 650
+             652:     65(ptr) AccessChain 27(data) 648 38 30
+                              Store 652 651
+             653:      6(int) Load 8(invocation)
+             654:     72(ptr) AccessChain 27(data) 38 38
+             655:   20(ivec4) Load 654
+             656:   71(ivec2) VectorShuffle 655 655 0 1
+             657:   71(ivec2) GroupNonUniformBitwiseXor 34 Reduce 656
+             658:     72(ptr) AccessChain 27(data) 653 38
+             659:   20(ivec4) Load 658
+             660:   20(ivec4) VectorShuffle 659 657 4 5 2 3
+                              Store 658 660
+             661:      6(int) Load 8(invocation)
+             662:     72(ptr) AccessChain 27(data) 49 38
+             663:   20(ivec4) Load 662
+             664:   81(ivec3) VectorShuffle 663 663 0 1 2
+             665:   81(ivec3) GroupNonUniformBitwiseXor 34 Reduce 664
+             666:     72(ptr) AccessChain 27(data) 661 38
+             667:   20(ivec4) Load 666
+             668:   20(ivec4) VectorShuffle 667 665 4 5 6 3
+                              Store 666 668
+             669:      6(int) Load 8(invocation)
+             670:     72(ptr) AccessChain 27(data) 59 38
+             671:   20(ivec4) Load 670
+             672:   20(ivec4) GroupNonUniformBitwiseXor 34 Reduce 671
+             673:     72(ptr) AccessChain 27(data) 669 38
+                              Store 673 672
+             674:      6(int) Load 8(invocation)
+             675:     95(ptr) AccessChain 27(data) 29 49 30
+             676:      6(int) Load 675
+             677:      6(int) GroupNonUniformBitwiseXor 34 Reduce 676
+             678:     95(ptr) AccessChain 27(data) 674 49 30
+                              Store 678 677
+             679:      6(int) Load 8(invocation)
+             680:    102(ptr) AccessChain 27(data) 38 49
+             681:   21(ivec4) Load 680
+             682:  101(ivec2) VectorShuffle 681 681 0 1
+             683:  101(ivec2) GroupNonUniformBitwiseXor 34 Reduce 682
+             684:    102(ptr) AccessChain 27(data) 679 49
+             685:   21(ivec4) Load 684
+             686:   21(ivec4) VectorShuffle 685 683 4 5 2 3
+                              Store 684 686
+             687:      6(int) Load 8(invocation)
+             688:    102(ptr) AccessChain 27(data) 49 49
+             689:   21(ivec4) Load 688
+             690:  111(ivec3) VectorShuffle 689 689 0 1 2
+             691:  111(ivec3) GroupNonUniformBitwiseXor 34 Reduce 690
+             692:    102(ptr) AccessChain 27(data) 687 49
+             693:   21(ivec4) Load 692
+             694:   21(ivec4) VectorShuffle 693 691 4 5 6 3
+                              Store 692 694
+             695:      6(int) Load 8(invocation)
+             696:    102(ptr) AccessChain 27(data) 59 49
+             697:   21(ivec4) Load 696
+             698:   21(ivec4) GroupNonUniformBitwiseXor 34 Reduce 697
+             699:    102(ptr) AccessChain 27(data) 695 49
+                              Store 699 698
+             700:      6(int) Load 8(invocation)
+             701:     65(ptr) AccessChain 27(data) 29 38 30
+             702:     19(int) Load 701
+             703:   521(bool) SLessThan 702 29
+             704:   521(bool) GroupNonUniformLogicalXor 34 Reduce 703
+             705:     19(int) Select 704 38 29
+             706:     65(ptr) AccessChain 27(data) 700 38 30
+                              Store 706 705
+             707:      6(int) Load 8(invocation)
+             708:     72(ptr) AccessChain 27(data) 38 38
+             709:   20(ivec4) Load 708
+             710:   71(ivec2) VectorShuffle 709 709 0 1
+             711:  531(bvec2) SLessThan 710 530
+             712:  531(bvec2) GroupNonUniformLogicalXor 34 Reduce 711
+             713:   71(ivec2) Select 712 534 530
+             714:     72(ptr) AccessChain 27(data) 707 38
+             715:   20(ivec4) Load 714
+             716:   20(ivec4) VectorShuffle 715 713 4 5 2 3
+                              Store 714 716
+             717:      6(int) Load 8(invocation)
+             718:     72(ptr) AccessChain 27(data) 38 38
+             719:   20(ivec4) Load 718
+             720:   81(ivec3) VectorShuffle 719 719 0 1 2
+             721:  544(bvec3) SLessThan 720 543
+             722:  544(bvec3) GroupNonUniformLogicalXor 34 Reduce 721
+             723:   81(ivec3) Select 722 547 543
+             724:     72(ptr) AccessChain 27(data) 717 38
+             725:   20(ivec4) Load 724
+             726:   20(ivec4) VectorShuffle 725 723 4 5 6 3
+                              Store 724 726
+             727:      6(int) Load 8(invocation)
+             728:     72(ptr) AccessChain 27(data) 38 38
+             729:   20(ivec4) Load 728
+             730:  556(bvec4) SLessThan 729 555
+             731:  556(bvec4) GroupNonUniformLogicalXor 34 Reduce 730
+             732:   20(ivec4) Select 731 559 555
+             733:     72(ptr) AccessChain 27(data) 727 38
+                              Store 733 732
+             734:      6(int) Load 8(invocation)
+             735:     31(ptr) AccessChain 27(data) 29 29 30
+             736:   17(float) Load 735
+             737:   17(float) GroupNonUniformFAdd 34 InclusiveScan 736
+             738:     31(ptr) AccessChain 27(data) 734 29 30
+                              Store 738 737
+             739:      6(int) Load 8(invocation)
+             740:     40(ptr) AccessChain 27(data) 38 29
+             741:   18(fvec4) Load 740
+             742:   39(fvec2) VectorShuffle 741 741 0 1
+             743:   39(fvec2) GroupNonUniformFAdd 34 InclusiveScan 742
+             744:     40(ptr) AccessChain 27(data) 739 29
+             745:   18(fvec4) Load 744
+             746:   18(fvec4) VectorShuffle 745 743 4 5 2 3
+                              Store 744 746
+             747:      6(int) Load 8(invocation)
+             748:     40(ptr) AccessChain 27(data) 49 29
+             749:   18(fvec4) Load 748
+             750:   50(fvec3) VectorShuffle 749 749 0 1 2
+             751:   50(fvec3) GroupNonUniformFAdd 34 InclusiveScan 750
+             752:     40(ptr) AccessChain 27(data) 747 29
+             753:   18(fvec4) Load 752
+             754:   18(fvec4) VectorShuffle 753 751 4 5 6 3
+                              Store 752 754
+             755:      6(int) Load 8(invocation)
+             756:     40(ptr) AccessChain 27(data) 59 29
+             757:   18(fvec4) Load 756
+             758:   18(fvec4) GroupNonUniformFAdd 34 InclusiveScan 757
+             759:     40(ptr) AccessChain 27(data) 755 29
+                              Store 759 758
+             760:      6(int) Load 8(invocation)
+             761:     65(ptr) AccessChain 27(data) 29 38 30
+             762:     19(int) Load 761
+             763:     19(int) GroupNonUniformIAdd 34 InclusiveScan 762
+             764:     65(ptr) AccessChain 27(data) 760 38 30
+                              Store 764 763
+             765:      6(int) Load 8(invocation)
+             766:     72(ptr) AccessChain 27(data) 38 38
+             767:   20(ivec4) Load 766
+             768:   71(ivec2) VectorShuffle 767 767 0 1
+             769:   71(ivec2) GroupNonUniformIAdd 34 InclusiveScan 768
+             770:     72(ptr) AccessChain 27(data) 765 38
+             771:   20(ivec4) Load 770
+             772:   20(ivec4) VectorShuffle 771 769 4 5 2 3
+                              Store 770 772
+             773:      6(int) Load 8(invocation)
+             774:     72(ptr) AccessChain 27(data) 49 38
+             775:   20(ivec4) Load 774
+             776:   81(ivec3) VectorShuffle 775 775 0 1 2
+             777:   81(ivec3) GroupNonUniformIAdd 34 InclusiveScan 776
+             778:     72(ptr) AccessChain 27(data) 773 38
+             779:   20(ivec4) Load 778
+             780:   20(ivec4) VectorShuffle 779 777 4 5 6 3
+                              Store 778 780
+             781:      6(int) Load 8(invocation)
+             782:     72(ptr) AccessChain 27(data) 59 38
+             783:   20(ivec4) Load 782
+             784:   20(ivec4) GroupNonUniformIAdd 34 InclusiveScan 783
+             785:     72(ptr) AccessChain 27(data) 781 38
+                              Store 785 784
+             786:      6(int) Load 8(invocation)
+             787:     95(ptr) AccessChain 27(data) 29 49 30
+             788:      6(int) Load 787
+             789:      6(int) GroupNonUniformIAdd 34 InclusiveScan 788
+             790:     95(ptr) AccessChain 27(data) 786 49 30
+                              Store 790 789
+             791:      6(int) Load 8(invocation)
+             792:    102(ptr) AccessChain 27(data) 38 49
+             793:   21(ivec4) Load 792
+             794:  101(ivec2) VectorShuffle 793 793 0 1
+             795:  101(ivec2) GroupNonUniformIAdd 34 InclusiveScan 794
+             796:    102(ptr) AccessChain 27(data) 791 49
+             797:   21(ivec4) Load 796
+             798:   21(ivec4) VectorShuffle 797 795 4 5 2 3
+                              Store 796 798
+             799:      6(int) Load 8(invocation)
+             800:    102(ptr) AccessChain 27(data) 49 49
+             801:   21(ivec4) Load 800
+             802:  111(ivec3) VectorShuffle 801 801 0 1 2
+             803:  111(ivec3) GroupNonUniformIAdd 34 InclusiveScan 802
+             804:    102(ptr) AccessChain 27(data) 799 49
+             805:   21(ivec4) Load 804
+             806:   21(ivec4) VectorShuffle 805 803 4 5 6 3
+                              Store 804 806
+             807:      6(int) Load 8(invocation)
+             808:    102(ptr) AccessChain 27(data) 59 49
+             809:   21(ivec4) Load 808
+             810:   21(ivec4) GroupNonUniformIAdd 34 InclusiveScan 809
+             811:    102(ptr) AccessChain 27(data) 807 49
+                              Store 811 810
+             812:      6(int) Load 8(invocation)
+             813:    125(ptr) AccessChain 27(data) 29 59 30
+             814:   22(float) Load 813
+             815:   22(float) GroupNonUniformFAdd 34 InclusiveScan 814
+             816:    125(ptr) AccessChain 27(data) 812 59 30
+                              Store 816 815
+             817:      6(int) Load 8(invocation)
+             818:    132(ptr) AccessChain 27(data) 38 59
+             819:   23(fvec4) Load 818
+             820:  131(fvec2) VectorShuffle 819 819 0 1
+             821:  131(fvec2) GroupNonUniformFAdd 34 InclusiveScan 820
+             822:    132(ptr) AccessChain 27(data) 817 59
+             823:   23(fvec4) Load 822
+             824:   23(fvec4) VectorShuffle 823 821 4 5 2 3
+                              Store 822 824
+             825:      6(int) Load 8(invocation)
+             826:    132(ptr) AccessChain 27(data) 49 59
+             827:   23(fvec4) Load 826
+             828:  141(fvec3) VectorShuffle 827 827 0 1 2
+             829:  141(fvec3) GroupNonUniformFAdd 34 InclusiveScan 828
+             830:    132(ptr) AccessChain 27(data) 825 59
+             831:   23(fvec4) Load 830
+             832:   23(fvec4) VectorShuffle 831 829 4 5 6 3
+                              Store 830 832
+             833:      6(int) Load 8(invocation)
+             834:    132(ptr) AccessChain 27(data) 59 59
+             835:   23(fvec4) Load 834
+             836:   23(fvec4) GroupNonUniformFAdd 34 InclusiveScan 835
+             837:    132(ptr) AccessChain 27(data) 833 59
+                              Store 837 836
+             838:      6(int) Load 8(invocation)
+             839:     31(ptr) AccessChain 27(data) 29 29 30
+             840:   17(float) Load 839
+             841:   17(float) GroupNonUniformFMul 34 InclusiveScan 840
+             842:     31(ptr) AccessChain 27(data) 838 29 30
+                              Store 842 841
+             843:      6(int) Load 8(invocation)
+             844:     40(ptr) AccessChain 27(data) 38 29
+             845:   18(fvec4) Load 844
+             846:   39(fvec2) VectorShuffle 845 845 0 1
+             847:   39(fvec2) GroupNonUniformFMul 34 InclusiveScan 846
+             848:     40(ptr) AccessChain 27(data) 843 29
+             849:   18(fvec4) Load 848
+             850:   18(fvec4) VectorShuffle 849 847 4 5 2 3
+                              Store 848 850
+             851:      6(int) Load 8(invocation)
+             852:     40(ptr) AccessChain 27(data) 49 29
+             853:   18(fvec4) Load 852
+             854:   50(fvec3) VectorShuffle 853 853 0 1 2
+             855:   50(fvec3) GroupNonUniformFMul 34 InclusiveScan 854
+             856:     40(ptr) AccessChain 27(data) 851 29
+             857:   18(fvec4) Load 856
+             858:   18(fvec4) VectorShuffle 857 855 4 5 6 3
+                              Store 856 858
+             859:      6(int) Load 8(invocation)
+             860:     40(ptr) AccessChain 27(data) 59 29
+             861:   18(fvec4) Load 860
+             862:   18(fvec4) GroupNonUniformFMul 34 InclusiveScan 861
+             863:     40(ptr) AccessChain 27(data) 859 29
+                              Store 863 862
+             864:      6(int) Load 8(invocation)
+             865:     65(ptr) AccessChain 27(data) 29 38 30
+             866:     19(int) Load 865
+             867:     19(int) GroupNonUniformIMul 34 InclusiveScan 866
+             868:     65(ptr) AccessChain 27(data) 864 38 30
+                              Store 868 867
+             869:      6(int) Load 8(invocation)
+             870:     72(ptr) AccessChain 27(data) 38 38
+             871:   20(ivec4) Load 870
+             872:   71(ivec2) VectorShuffle 871 871 0 1
+             873:   71(ivec2) GroupNonUniformIMul 34 InclusiveScan 872
+             874:     72(ptr) AccessChain 27(data) 869 38
+             875:   20(ivec4) Load 874
+             876:   20(ivec4) VectorShuffle 875 873 4 5 2 3
+                              Store 874 876
+             877:      6(int) Load 8(invocation)
+             878:     72(ptr) AccessChain 27(data) 49 38
+             879:   20(ivec4) Load 878
+             880:   81(ivec3) VectorShuffle 879 879 0 1 2
+             881:   81(ivec3) GroupNonUniformIMul 34 InclusiveScan 880
+             882:     72(ptr) AccessChain 27(data) 877 38
+             883:   20(ivec4) Load 882
+             884:   20(ivec4) VectorShuffle 883 881 4 5 6 3
+                              Store 882 884
+             885:      6(int) Load 8(invocation)
+             886:     72(ptr) AccessChain 27(data) 59 38
+             887:   20(ivec4) Load 886
+             888:   20(ivec4) GroupNonUniformIMul 34 InclusiveScan 887
+             889:     72(ptr) AccessChain 27(data) 885 38
+                              Store 889 888
+             890:      6(int) Load 8(invocation)
+             891:     95(ptr) AccessChain 27(data) 29 49 30
+             892:      6(int) Load 891
+             893:      6(int) GroupNonUniformIMul 34 InclusiveScan 892
+             894:     95(ptr) AccessChain 27(data) 890 49 30
+                              Store 894 893
+             895:      6(int) Load 8(invocation)
+             896:    102(ptr) AccessChain 27(data) 38 49
+             897:   21(ivec4) Load 896
+             898:  101(ivec2) VectorShuffle 897 897 0 1
+             899:  101(ivec2) GroupNonUniformIMul 34 InclusiveScan 898
+             900:    102(ptr) AccessChain 27(data) 895 49
+             901:   21(ivec4) Load 900
+             902:   21(ivec4) VectorShuffle 901 899 4 5 2 3
+                              Store 900 902
+             903:      6(int) Load 8(invocation)
+             904:    102(ptr) AccessChain 27(data) 49 49
+             905:   21(ivec4) Load 904
+             906:  111(ivec3) VectorShuffle 905 905 0 1 2
+             907:  111(ivec3) GroupNonUniformIMul 34 InclusiveScan 906
+             908:    102(ptr) AccessChain 27(data) 903 49
+             909:   21(ivec4) Load 908
+             910:   21(ivec4) VectorShuffle 909 907 4 5 6 3
+                              Store 908 910
+             911:      6(int) Load 8(invocation)
+             912:    102(ptr) AccessChain 27(data) 59 49
+             913:   21(ivec4) Load 912
+             914:   21(ivec4) GroupNonUniformIMul 34 InclusiveScan 913
+             915:    102(ptr) AccessChain 27(data) 911 49
+                              Store 915 914
+             916:      6(int) Load 8(invocation)
+             917:    125(ptr) AccessChain 27(data) 29 59 30
+             918:   22(float) Load 917
+             919:   22(float) GroupNonUniformFMul 34 InclusiveScan 918
+             920:    125(ptr) AccessChain 27(data) 916 59 30
+                              Store 920 919
+             921:      6(int) Load 8(invocation)
+             922:    132(ptr) AccessChain 27(data) 38 59
+             923:   23(fvec4) Load 922
+             924:  131(fvec2) VectorShuffle 923 923 0 1
+             925:  131(fvec2) GroupNonUniformFMul 34 InclusiveScan 924
+             926:    132(ptr) AccessChain 27(data) 921 59
+             927:   23(fvec4) Load 926
+             928:   23(fvec4) VectorShuffle 927 925 4 5 2 3
+                              Store 926 928
+             929:      6(int) Load 8(invocation)
+             930:    132(ptr) AccessChain 27(data) 49 59
+             931:   23(fvec4) Load 930
+             932:  141(fvec3) VectorShuffle 931 931 0 1 2
+             933:  141(fvec3) GroupNonUniformFMul 34 InclusiveScan 932
+             934:    132(ptr) AccessChain 27(data) 929 59
+             935:   23(fvec4) Load 934
+             936:   23(fvec4) VectorShuffle 935 933 4 5 6 3
+                              Store 934 936
+             937:      6(int) Load 8(invocation)
+             938:    132(ptr) AccessChain 27(data) 59 59
+             939:   23(fvec4) Load 938
+             940:   23(fvec4) GroupNonUniformFMul 34 InclusiveScan 939
+             941:    132(ptr) AccessChain 27(data) 937 59
+                              Store 941 940
+             942:      6(int) Load 8(invocation)
+             943:     31(ptr) AccessChain 27(data) 29 29 30
+             944:   17(float) Load 943
+             945:   17(float) GroupNonUniformFMin 34 InclusiveScan 944
+             946:     31(ptr) AccessChain 27(data) 942 29 30
+                              Store 946 945
+             947:      6(int) Load 8(invocation)
+             948:     40(ptr) AccessChain 27(data) 38 29
+             949:   18(fvec4) Load 948
+             950:   39(fvec2) VectorShuffle 949 949 0 1
+             951:   39(fvec2) GroupNonUniformFMin 34 InclusiveScan 950
+             952:     40(ptr) AccessChain 27(data) 947 29
+             953:   18(fvec4) Load 952
+             954:   18(fvec4) VectorShuffle 953 951 4 5 2 3
+                              Store 952 954
+             955:      6(int) Load 8(invocation)
+             956:     40(ptr) AccessChain 27(data) 49 29
+             957:   18(fvec4) Load 956
+             958:   50(fvec3) VectorShuffle 957 957 0 1 2
+             959:   50(fvec3) GroupNonUniformFMin 34 InclusiveScan 958
+             960:     40(ptr) AccessChain 27(data) 955 29
+             961:   18(fvec4) Load 960
+             962:   18(fvec4) VectorShuffle 961 959 4 5 6 3
+                              Store 960 962
+             963:      6(int) Load 8(invocation)
+             964:     40(ptr) AccessChain 27(data) 59 29
+             965:   18(fvec4) Load 964
+             966:   18(fvec4) GroupNonUniformFMin 34 InclusiveScan 965
+             967:     40(ptr) AccessChain 27(data) 963 29
+                              Store 967 966
+             968:      6(int) Load 8(invocation)
+             969:     65(ptr) AccessChain 27(data) 29 38 30
+             970:     19(int) Load 969
+             971:     19(int) GroupNonUniformSMin 34 InclusiveScan 970
+             972:     65(ptr) AccessChain 27(data) 968 38 30
+                              Store 972 971
+             973:      6(int) Load 8(invocation)
+             974:     72(ptr) AccessChain 27(data) 38 38
+             975:   20(ivec4) Load 974
+             976:   71(ivec2) VectorShuffle 975 975 0 1
+             977:   71(ivec2) GroupNonUniformSMin 34 InclusiveScan 976
+             978:     72(ptr) AccessChain 27(data) 973 38
+             979:   20(ivec4) Load 978
+             980:   20(ivec4) VectorShuffle 979 977 4 5 2 3
+                              Store 978 980
+             981:      6(int) Load 8(invocation)
+             982:     72(ptr) AccessChain 27(data) 49 38
+             983:   20(ivec4) Load 982
+             984:   81(ivec3) VectorShuffle 983 983 0 1 2
+             985:   81(ivec3) GroupNonUniformSMin 34 InclusiveScan 984
+             986:     72(ptr) AccessChain 27(data) 981 38
+             987:   20(ivec4) Load 986
+             988:   20(ivec4) VectorShuffle 987 985 4 5 6 3
+                              Store 986 988
+             989:      6(int) Load 8(invocation)
+             990:     72(ptr) AccessChain 27(data) 59 38
+             991:   20(ivec4) Load 990
+             992:   20(ivec4) GroupNonUniformSMin 34 InclusiveScan 991
+             993:     72(ptr) AccessChain 27(data) 989 38
+                              Store 993 992
+             994:      6(int) Load 8(invocation)
+             995:     95(ptr) AccessChain 27(data) 29 49 30
+             996:      6(int) Load 995
+             997:      6(int) GroupNonUniformUMin 34 InclusiveScan 996
+             998:     95(ptr) AccessChain 27(data) 994 49 30
+                              Store 998 997
+             999:      6(int) Load 8(invocation)
+            1000:    102(ptr) AccessChain 27(data) 38 49
+            1001:   21(ivec4) Load 1000
+            1002:  101(ivec2) VectorShuffle 1001 1001 0 1
+            1003:  101(ivec2) GroupNonUniformUMin 34 InclusiveScan 1002
+            1004:    102(ptr) AccessChain 27(data) 999 49
+            1005:   21(ivec4) Load 1004
+            1006:   21(ivec4) VectorShuffle 1005 1003 4 5 2 3
+                              Store 1004 1006
+            1007:      6(int) Load 8(invocation)
+            1008:    102(ptr) AccessChain 27(data) 49 49
+            1009:   21(ivec4) Load 1008
+            1010:  111(ivec3) VectorShuffle 1009 1009 0 1 2
+            1011:  111(ivec3) GroupNonUniformUMin 34 InclusiveScan 1010
+            1012:    102(ptr) AccessChain 27(data) 1007 49
+            1013:   21(ivec4) Load 1012
+            1014:   21(ivec4) VectorShuffle 1013 1011 4 5 6 3
+                              Store 1012 1014
+            1015:      6(int) Load 8(invocation)
+            1016:    102(ptr) AccessChain 27(data) 59 49
+            1017:   21(ivec4) Load 1016
+            1018:   21(ivec4) GroupNonUniformUMin 34 InclusiveScan 1017
+            1019:    102(ptr) AccessChain 27(data) 1015 49
+                              Store 1019 1018
+            1020:      6(int) Load 8(invocation)
+            1021:    125(ptr) AccessChain 27(data) 29 59 30
+            1022:   22(float) Load 1021
+            1023:   22(float) GroupNonUniformFMin 34 InclusiveScan 1022
+            1024:    125(ptr) AccessChain 27(data) 1020 59 30
+                              Store 1024 1023
+            1025:      6(int) Load 8(invocation)
+            1026:    132(ptr) AccessChain 27(data) 38 59
+            1027:   23(fvec4) Load 1026
+            1028:  131(fvec2) VectorShuffle 1027 1027 0 1
+            1029:  131(fvec2) GroupNonUniformFMin 34 InclusiveScan 1028
+            1030:    132(ptr) AccessChain 27(data) 1025 59
+            1031:   23(fvec4) Load 1030
+            1032:   23(fvec4) VectorShuffle 1031 1029 4 5 2 3
+                              Store 1030 1032
+            1033:      6(int) Load 8(invocation)
+            1034:    132(ptr) AccessChain 27(data) 49 59
+            1035:   23(fvec4) Load 1034
+            1036:  141(fvec3) VectorShuffle 1035 1035 0 1 2
+            1037:  141(fvec3) GroupNonUniformFMin 34 InclusiveScan 1036
+            1038:    132(ptr) AccessChain 27(data) 1033 59
+            1039:   23(fvec4) Load 1038
+            1040:   23(fvec4) VectorShuffle 1039 1037 4 5 6 3
+                              Store 1038 1040
+            1041:      6(int) Load 8(invocation)
+            1042:    132(ptr) AccessChain 27(data) 59 59
+            1043:   23(fvec4) Load 1042
+            1044:   23(fvec4) GroupNonUniformFMin 34 InclusiveScan 1043
+            1045:    132(ptr) AccessChain 27(data) 1041 59
+                              Store 1045 1044
+            1046:      6(int) Load 8(invocation)
+            1047:     31(ptr) AccessChain 27(data) 29 29 30
+            1048:   17(float) Load 1047
+            1049:   17(float) GroupNonUniformFMax 34 InclusiveScan 1048
+            1050:     31(ptr) AccessChain 27(data) 1046 29 30
+                              Store 1050 1049
+            1051:      6(int) Load 8(invocation)
+            1052:     40(ptr) AccessChain 27(data) 38 29
+            1053:   18(fvec4) Load 1052
+            1054:   39(fvec2) VectorShuffle 1053 1053 0 1
+            1055:   39(fvec2) GroupNonUniformFMax 34 InclusiveScan 1054
+            1056:     40(ptr) AccessChain 27(data) 1051 29
+            1057:   18(fvec4) Load 1056
+            1058:   18(fvec4) VectorShuffle 1057 1055 4 5 2 3
+                              Store 1056 1058
+            1059:      6(int) Load 8(invocation)
+            1060:     40(ptr) AccessChain 27(data) 49 29
+            1061:   18(fvec4) Load 1060
+            1062:   50(fvec3) VectorShuffle 1061 1061 0 1 2
+            1063:   50(fvec3) GroupNonUniformFMax 34 InclusiveScan 1062
+            1064:     40(ptr) AccessChain 27(data) 1059 29
+            1065:   18(fvec4) Load 1064
+            1066:   18(fvec4) VectorShuffle 1065 1063 4 5 6 3
+                              Store 1064 1066
+            1067:      6(int) Load 8(invocation)
+            1068:     40(ptr) AccessChain 27(data) 59 29
+            1069:   18(fvec4) Load 1068
+            1070:   18(fvec4) GroupNonUniformFMax 34 InclusiveScan 1069
+            1071:     40(ptr) AccessChain 27(data) 1067 29
+                              Store 1071 1070
+            1072:      6(int) Load 8(invocation)
+            1073:     65(ptr) AccessChain 27(data) 29 38 30
+            1074:     19(int) Load 1073
+            1075:     19(int) GroupNonUniformSMax 34 InclusiveScan 1074
+            1076:     65(ptr) AccessChain 27(data) 1072 38 30
+                              Store 1076 1075
+            1077:      6(int) Load 8(invocation)
+            1078:     72(ptr) AccessChain 27(data) 38 38
+            1079:   20(ivec4) Load 1078
+            1080:   71(ivec2) VectorShuffle 1079 1079 0 1
+            1081:   71(ivec2) GroupNonUniformSMax 34 InclusiveScan 1080
+            1082:     72(ptr) AccessChain 27(data) 1077 38
+            1083:   20(ivec4) Load 1082
+            1084:   20(ivec4) VectorShuffle 1083 1081 4 5 2 3
+                              Store 1082 1084
+            1085:      6(int) Load 8(invocation)
+            1086:     72(ptr) AccessChain 27(data) 49 38
+            1087:   20(ivec4) Load 1086
+            1088:   81(ivec3) VectorShuffle 1087 1087 0 1 2
+            1089:   81(ivec3) GroupNonUniformSMax 34 InclusiveScan 1088
+            1090:     72(ptr) AccessChain 27(data) 1085 38
+            1091:   20(ivec4) Load 1090
+            1092:   20(ivec4) VectorShuffle 1091 1089 4 5 6 3
+                              Store 1090 1092
+            1093:      6(int) Load 8(invocation)
+            1094:     72(ptr) AccessChain 27(data) 59 38
+            1095:   20(ivec4) Load 1094
+            1096:   20(ivec4) GroupNonUniformSMax 34 InclusiveScan 1095
+            1097:     72(ptr) AccessChain 27(data) 1093 38
+                              Store 1097 1096
+            1098:      6(int) Load 8(invocation)
+            1099:     95(ptr) AccessChain 27(data) 29 49 30
+            1100:      6(int) Load 1099
+            1101:      6(int) GroupNonUniformUMax 34 InclusiveScan 1100
+            1102:     95(ptr) AccessChain 27(data) 1098 49 30
+                              Store 1102 1101
+            1103:      6(int) Load 8(invocation)
+            1104:    102(ptr) AccessChain 27(data) 38 49
+            1105:   21(ivec4) Load 1104
+            1106:  101(ivec2) VectorShuffle 1105 1105 0 1
+            1107:  101(ivec2) GroupNonUniformUMax 34 InclusiveScan 1106
+            1108:    102(ptr) AccessChain 27(data) 1103 49
+            1109:   21(ivec4) Load 1108
+            1110:   21(ivec4) VectorShuffle 1109 1107 4 5 2 3
+                              Store 1108 1110
+            1111:      6(int) Load 8(invocation)
+            1112:    102(ptr) AccessChain 27(data) 49 49
+            1113:   21(ivec4) Load 1112
+            1114:  111(ivec3) VectorShuffle 1113 1113 0 1 2
+            1115:  111(ivec3) GroupNonUniformUMax 34 InclusiveScan 1114
+            1116:    102(ptr) AccessChain 27(data) 1111 49
+            1117:   21(ivec4) Load 1116
+            1118:   21(ivec4) VectorShuffle 1117 1115 4 5 6 3
+                              Store 1116 1118
+            1119:      6(int) Load 8(invocation)
+            1120:    102(ptr) AccessChain 27(data) 59 49
+            1121:   21(ivec4) Load 1120
+            1122:   21(ivec4) GroupNonUniformUMax 34 InclusiveScan 1121
+            1123:    102(ptr) AccessChain 27(data) 1119 49
+                              Store 1123 1122
+            1124:      6(int) Load 8(invocation)
+            1125:    125(ptr) AccessChain 27(data) 29 59 30
+            1126:   22(float) Load 1125
+            1127:   22(float) GroupNonUniformFMax 34 InclusiveScan 1126
+            1128:    125(ptr) AccessChain 27(data) 1124 59 30
+                              Store 1128 1127
+            1129:      6(int) Load 8(invocation)
+            1130:    132(ptr) AccessChain 27(data) 38 59
+            1131:   23(fvec4) Load 1130
+            1132:  131(fvec2) VectorShuffle 1131 1131 0 1
+            1133:  131(fvec2) GroupNonUniformFMax 34 InclusiveScan 1132
+            1134:    132(ptr) AccessChain 27(data) 1129 59
+            1135:   23(fvec4) Load 1134
+            1136:   23(fvec4) VectorShuffle 1135 1133 4 5 2 3
+                              Store 1134 1136
+            1137:      6(int) Load 8(invocation)
+            1138:    132(ptr) AccessChain 27(data) 49 59
+            1139:   23(fvec4) Load 1138
+            1140:  141(fvec3) VectorShuffle 1139 1139 0 1 2
+            1141:  141(fvec3) GroupNonUniformFMax 34 InclusiveScan 1140
+            1142:    132(ptr) AccessChain 27(data) 1137 59
+            1143:   23(fvec4) Load 1142
+            1144:   23(fvec4) VectorShuffle 1143 1141 4 5 6 3
+                              Store 1142 1144
+            1145:      6(int) Load 8(invocation)
+            1146:    132(ptr) AccessChain 27(data) 59 59
+            1147:   23(fvec4) Load 1146
+            1148:   23(fvec4) GroupNonUniformFMax 34 InclusiveScan 1147
+            1149:    132(ptr) AccessChain 27(data) 1145 59
+                              Store 1149 1148
+            1150:      6(int) Load 8(invocation)
+            1151:     65(ptr) AccessChain 27(data) 29 38 30
+            1152:     19(int) Load 1151
+            1153:     19(int) GroupNonUniformBitwiseAnd 34 InclusiveScan 1152
+            1154:     65(ptr) AccessChain 27(data) 1150 38 30
+                              Store 1154 1153
+            1155:      6(int) Load 8(invocation)
+            1156:     72(ptr) AccessChain 27(data) 38 38
+            1157:   20(ivec4) Load 1156
+            1158:   71(ivec2) VectorShuffle 1157 1157 0 1
+            1159:   71(ivec2) GroupNonUniformBitwiseAnd 34 InclusiveScan 1158
+            1160:     72(ptr) AccessChain 27(data) 1155 38
+            1161:   20(ivec4) Load 1160
+            1162:   20(ivec4) VectorShuffle 1161 1159 4 5 2 3
+                              Store 1160 1162
+            1163:      6(int) Load 8(invocation)
+            1164:     72(ptr) AccessChain 27(data) 49 38
+            1165:   20(ivec4) Load 1164
+            1166:   81(ivec3) VectorShuffle 1165 1165 0 1 2
+            1167:   81(ivec3) GroupNonUniformBitwiseAnd 34 InclusiveScan 1166
+            1168:     72(ptr) AccessChain 27(data) 1163 38
+            1169:   20(ivec4) Load 1168
+            1170:   20(ivec4) VectorShuffle 1169 1167 4 5 6 3
+                              Store 1168 1170
+            1171:      6(int) Load 8(invocation)
+            1172:     72(ptr) AccessChain 27(data) 59 38
+            1173:   20(ivec4) Load 1172
+            1174:   20(ivec4) GroupNonUniformBitwiseAnd 34 InclusiveScan 1173
+            1175:     72(ptr) AccessChain 27(data) 1171 38
+                              Store 1175 1174
+            1176:      6(int) Load 8(invocation)
+            1177:     95(ptr) AccessChain 27(data) 29 49 30
+            1178:      6(int) Load 1177
+            1179:      6(int) GroupNonUniformBitwiseAnd 34 InclusiveScan 1178
+            1180:     95(ptr) AccessChain 27(data) 1176 49 30
+                              Store 1180 1179
+            1181:      6(int) Load 8(invocation)
+            1182:    102(ptr) AccessChain 27(data) 38 49
+            1183:   21(ivec4) Load 1182
+            1184:  101(ivec2) VectorShuffle 1183 1183 0 1
+            1185:  101(ivec2) GroupNonUniformBitwiseAnd 34 InclusiveScan 1184
+            1186:    102(ptr) AccessChain 27(data) 1181 49
+            1187:   21(ivec4) Load 1186
+            1188:   21(ivec4) VectorShuffle 1187 1185 4 5 2 3
+                              Store 1186 1188
+            1189:      6(int) Load 8(invocation)
+            1190:    102(ptr) AccessChain 27(data) 49 49
+            1191:   21(ivec4) Load 1190
+            1192:  111(ivec3) VectorShuffle 1191 1191 0 1 2
+            1193:  111(ivec3) GroupNonUniformBitwiseAnd 34 InclusiveScan 1192
+            1194:    102(ptr) AccessChain 27(data) 1189 49
+            1195:   21(ivec4) Load 1194
+            1196:   21(ivec4) VectorShuffle 1195 1193 4 5 6 3
+                              Store 1194 1196
+            1197:      6(int) Load 8(invocation)
+            1198:    102(ptr) AccessChain 27(data) 59 49
+            1199:   21(ivec4) Load 1198
+            1200:   21(ivec4) GroupNonUniformBitwiseAnd 34 InclusiveScan 1199
+            1201:    102(ptr) AccessChain 27(data) 1197 49
+                              Store 1201 1200
+            1202:      6(int) Load 8(invocation)
+            1203:     65(ptr) AccessChain 27(data) 29 38 30
+            1204:     19(int) Load 1203
+            1205:   521(bool) SLessThan 1204 29
+            1206:   521(bool) GroupNonUniformLogicalAnd 34 InclusiveScan 1205
+            1207:     19(int) Select 1206 38 29
+            1208:     65(ptr) AccessChain 27(data) 1202 38 30
+                              Store 1208 1207
+            1209:      6(int) Load 8(invocation)
+            1210:     72(ptr) AccessChain 27(data) 38 38
+            1211:   20(ivec4) Load 1210
+            1212:   71(ivec2) VectorShuffle 1211 1211 0 1
+            1213:  531(bvec2) SLessThan 1212 530
+            1214:  531(bvec2) GroupNonUniformLogicalAnd 34 InclusiveScan 1213
+            1215:   71(ivec2) Select 1214 534 530
+            1216:     72(ptr) AccessChain 27(data) 1209 38
+            1217:   20(ivec4) Load 1216
+            1218:   20(ivec4) VectorShuffle 1217 1215 4 5 2 3
+                              Store 1216 1218
+            1219:      6(int) Load 8(invocation)
+            1220:     72(ptr) AccessChain 27(data) 38 38
+            1221:   20(ivec4) Load 1220
+            1222:   81(ivec3) VectorShuffle 1221 1221 0 1 2
+            1223:  544(bvec3) SLessThan 1222 543
+            1224:  544(bvec3) GroupNonUniformLogicalAnd 34 InclusiveScan 1223
+            1225:   81(ivec3) Select 1224 547 543
+            1226:     72(ptr) AccessChain 27(data) 1219 38
+            1227:   20(ivec4) Load 1226
+            1228:   20(ivec4) VectorShuffle 1227 1225 4 5 6 3
+                              Store 1226 1228
+            1229:      6(int) Load 8(invocation)
+            1230:     72(ptr) AccessChain 27(data) 38 38
+            1231:   20(ivec4) Load 1230
+            1232:  556(bvec4) SLessThan 1231 555
+            1233:  556(bvec4) GroupNonUniformLogicalAnd 34 InclusiveScan 1232
+            1234:   20(ivec4) Select 1233 559 555
+            1235:     72(ptr) AccessChain 27(data) 1229 38
+                              Store 1235 1234
+            1236:      6(int) Load 8(invocation)
+            1237:     65(ptr) AccessChain 27(data) 29 38 30
+            1238:     19(int) Load 1237
+            1239:     19(int) GroupNonUniformBitwiseOr 34 InclusiveScan 1238
+            1240:     65(ptr) AccessChain 27(data) 1236 38 30
+                              Store 1240 1239
+            1241:      6(int) Load 8(invocation)
+            1242:     72(ptr) AccessChain 27(data) 38 38
+            1243:   20(ivec4) Load 1242
+            1244:   71(ivec2) VectorShuffle 1243 1243 0 1
+            1245:   71(ivec2) GroupNonUniformBitwiseOr 34 InclusiveScan 1244
+            1246:     72(ptr) AccessChain 27(data) 1241 38
+            1247:   20(ivec4) Load 1246
+            1248:   20(ivec4) VectorShuffle 1247 1245 4 5 2 3
+                              Store 1246 1248
+            1249:      6(int) Load 8(invocation)
+            1250:     72(ptr) AccessChain 27(data) 49 38
+            1251:   20(ivec4) Load 1250
+            1252:   81(ivec3) VectorShuffle 1251 1251 0 1 2
+            1253:   81(ivec3) GroupNonUniformBitwiseOr 34 InclusiveScan 1252
+            1254:     72(ptr) AccessChain 27(data) 1249 38
+            1255:   20(ivec4) Load 1254
+            1256:   20(ivec4) VectorShuffle 1255 1253 4 5 6 3
+                              Store 1254 1256
+            1257:      6(int) Load 8(invocation)
+            1258:     72(ptr) AccessChain 27(data) 59 38
+            1259:   20(ivec4) Load 1258
+            1260:   20(ivec4) GroupNonUniformBitwiseOr 34 InclusiveScan 1259
+            1261:     72(ptr) AccessChain 27(data) 1257 38
+                              Store 1261 1260
+            1262:      6(int) Load 8(invocation)
+            1263:     95(ptr) AccessChain 27(data) 29 49 30
+            1264:      6(int) Load 1263
+            1265:      6(int) GroupNonUniformBitwiseOr 34 InclusiveScan 1264
+            1266:     95(ptr) AccessChain 27(data) 1262 49 30
+                              Store 1266 1265
+            1267:      6(int) Load 8(invocation)
+            1268:    102(ptr) AccessChain 27(data) 38 49
+            1269:   21(ivec4) Load 1268
+            1270:  101(ivec2) VectorShuffle 1269 1269 0 1
+            1271:  101(ivec2) GroupNonUniformBitwiseOr 34 InclusiveScan 1270
+            1272:    102(ptr) AccessChain 27(data) 1267 49
+            1273:   21(ivec4) Load 1272
+            1274:   21(ivec4) VectorShuffle 1273 1271 4 5 2 3
+                              Store 1272 1274
+            1275:      6(int) Load 8(invocation)
+            1276:    102(ptr) AccessChain 27(data) 49 49
+            1277:   21(ivec4) Load 1276
+            1278:  111(ivec3) VectorShuffle 1277 1277 0 1 2
+            1279:  111(ivec3) GroupNonUniformBitwiseOr 34 InclusiveScan 1278
+            1280:    102(ptr) AccessChain 27(data) 1275 49
+            1281:   21(ivec4) Load 1280
+            1282:   21(ivec4) VectorShuffle 1281 1279 4 5 6 3
+                              Store 1280 1282
+            1283:      6(int) Load 8(invocation)
+            1284:    102(ptr) AccessChain 27(data) 59 49
+            1285:   21(ivec4) Load 1284
+            1286:   21(ivec4) GroupNonUniformBitwiseOr 34 InclusiveScan 1285
+            1287:    102(ptr) AccessChain 27(data) 1283 49
+                              Store 1287 1286
+            1288:      6(int) Load 8(invocation)
+            1289:     65(ptr) AccessChain 27(data) 29 38 30
+            1290:     19(int) Load 1289
+            1291:   521(bool) SLessThan 1290 29
+            1292:   521(bool) GroupNonUniformLogicalOr 34 InclusiveScan 1291
+            1293:     19(int) Select 1292 38 29
+            1294:     65(ptr) AccessChain 27(data) 1288 38 30
+                              Store 1294 1293
+            1295:      6(int) Load 8(invocation)
+            1296:     72(ptr) AccessChain 27(data) 38 38
+            1297:   20(ivec4) Load 1296
+            1298:   71(ivec2) VectorShuffle 1297 1297 0 1
+            1299:  531(bvec2) SLessThan 1298 530
+            1300:  531(bvec2) GroupNonUniformLogicalOr 34 InclusiveScan 1299
+            1301:   71(ivec2) Select 1300 534 530
+            1302:     72(ptr) AccessChain 27(data) 1295 38
+            1303:   20(ivec4) Load 1302
+            1304:   20(ivec4) VectorShuffle 1303 1301 4 5 2 3
+                              Store 1302 1304
+            1305:      6(int) Load 8(invocation)
+            1306:     72(ptr) AccessChain 27(data) 38 38
+            1307:   20(ivec4) Load 1306
+            1308:   81(ivec3) VectorShuffle 1307 1307 0 1 2
+            1309:  544(bvec3) SLessThan 1308 543
+            1310:  544(bvec3) GroupNonUniformLogicalOr 34 InclusiveScan 1309
+            1311:   81(ivec3) Select 1310 547 543
+            1312:     72(ptr) AccessChain 27(data) 1305 38
+            1313:   20(ivec4) Load 1312
+            1314:   20(ivec4) VectorShuffle 1313 1311 4 5 6 3
+                              Store 1312 1314
+            1315:      6(int) Load 8(invocation)
+            1316:     72(ptr) AccessChain 27(data) 38 38
+            1317:   20(ivec4) Load 1316
+            1318:  556(bvec4) SLessThan 1317 555
+            1319:  556(bvec4) GroupNonUniformLogicalOr 34 InclusiveScan 1318
+            1320:   20(ivec4) Select 1319 559 555
+            1321:     72(ptr) AccessChain 27(data) 1315 38
+                              Store 1321 1320
+            1322:      6(int) Load 8(invocation)
+            1323:     65(ptr) AccessChain 27(data) 29 38 30
+            1324:     19(int) Load 1323
+            1325:     19(int) GroupNonUniformBitwiseXor 34 InclusiveScan 1324
+            1326:     65(ptr) AccessChain 27(data) 1322 38 30
+                              Store 1326 1325
+            1327:      6(int) Load 8(invocation)
+            1328:     72(ptr) AccessChain 27(data) 38 38
+            1329:   20(ivec4) Load 1328
+            1330:   71(ivec2) VectorShuffle 1329 1329 0 1
+            1331:   71(ivec2) GroupNonUniformBitwiseXor 34 InclusiveScan 1330
+            1332:     72(ptr) AccessChain 27(data) 1327 38
+            1333:   20(ivec4) Load 1332
+            1334:   20(ivec4) VectorShuffle 1333 1331 4 5 2 3
+                              Store 1332 1334
+            1335:      6(int) Load 8(invocation)
+            1336:     72(ptr) AccessChain 27(data) 49 38
+            1337:   20(ivec4) Load 1336
+            1338:   81(ivec3) VectorShuffle 1337 1337 0 1 2
+            1339:   81(ivec3) GroupNonUniformBitwiseXor 34 InclusiveScan 1338
+            1340:     72(ptr) AccessChain 27(data) 1335 38
+            1341:   20(ivec4) Load 1340
+            1342:   20(ivec4) VectorShuffle 1341 1339 4 5 6 3
+                              Store 1340 1342
+            1343:      6(int) Load 8(invocation)
+            1344:     72(ptr) AccessChain 27(data) 59 38
+            1345:   20(ivec4) Load 1344
+            1346:   20(ivec4) GroupNonUniformBitwiseXor 34 InclusiveScan 1345
+            1347:     72(ptr) AccessChain 27(data) 1343 38
+                              Store 1347 1346
+            1348:      6(int) Load 8(invocation)
+            1349:     95(ptr) AccessChain 27(data) 29 49 30
+            1350:      6(int) Load 1349
+            1351:      6(int) GroupNonUniformBitwiseXor 34 InclusiveScan 1350
+            1352:     95(ptr) AccessChain 27(data) 1348 49 30
+                              Store 1352 1351
+            1353:      6(int) Load 8(invocation)
+            1354:    102(ptr) AccessChain 27(data) 38 49
+            1355:   21(ivec4) Load 1354
+            1356:  101(ivec2) VectorShuffle 1355 1355 0 1
+            1357:  101(ivec2) GroupNonUniformBitwiseXor 34 InclusiveScan 1356
+            1358:    102(ptr) AccessChain 27(data) 1353 49
+            1359:   21(ivec4) Load 1358
+            1360:   21(ivec4) VectorShuffle 1359 1357 4 5 2 3
+                              Store 1358 1360
+            1361:      6(int) Load 8(invocation)
+            1362:    102(ptr) AccessChain 27(data) 49 49
+            1363:   21(ivec4) Load 1362
+            1364:  111(ivec3) VectorShuffle 1363 1363 0 1 2
+            1365:  111(ivec3) GroupNonUniformBitwiseXor 34 InclusiveScan 1364
+            1366:    102(ptr) AccessChain 27(data) 1361 49
+            1367:   21(ivec4) Load 1366
+            1368:   21(ivec4) VectorShuffle 1367 1365 4 5 6 3
+                              Store 1366 1368
+            1369:      6(int) Load 8(invocation)
+            1370:    102(ptr) AccessChain 27(data) 59 49
+            1371:   21(ivec4) Load 1370
+            1372:   21(ivec4) GroupNonUniformBitwiseXor 34 InclusiveScan 1371
+            1373:    102(ptr) AccessChain 27(data) 1369 49
+                              Store 1373 1372
+            1374:      6(int) Load 8(invocation)
+            1375:     65(ptr) AccessChain 27(data) 29 38 30
+            1376:     19(int) Load 1375
+            1377:   521(bool) SLessThan 1376 29
+            1378:   521(bool) GroupNonUniformLogicalXor 34 InclusiveScan 1377
+            1379:     19(int) Select 1378 38 29
+            1380:     65(ptr) AccessChain 27(data) 1374 38 30
+                              Store 1380 1379
+            1381:      6(int) Load 8(invocation)
+            1382:     72(ptr) AccessChain 27(data) 38 38
+            1383:   20(ivec4) Load 1382
+            1384:   71(ivec2) VectorShuffle 1383 1383 0 1
+            1385:  531(bvec2) SLessThan 1384 530
+            1386:  531(bvec2) GroupNonUniformLogicalXor 34 InclusiveScan 1385
+            1387:   71(ivec2) Select 1386 534 530
+            1388:     72(ptr) AccessChain 27(data) 1381 38
+            1389:   20(ivec4) Load 1388
+            1390:   20(ivec4) VectorShuffle 1389 1387 4 5 2 3
+                              Store 1388 1390
+            1391:      6(int) Load 8(invocation)
+            1392:     72(ptr) AccessChain 27(data) 38 38
+            1393:   20(ivec4) Load 1392
+            1394:   81(ivec3) VectorShuffle 1393 1393 0 1 2
+            1395:  544(bvec3) SLessThan 1394 543
+            1396:  544(bvec3) GroupNonUniformLogicalXor 34 InclusiveScan 1395
+            1397:   81(ivec3) Select 1396 547 543
+            1398:     72(ptr) AccessChain 27(data) 1391 38
+            1399:   20(ivec4) Load 1398
+            1400:   20(ivec4) VectorShuffle 1399 1397 4 5 6 3
+                              Store 1398 1400
+            1401:      6(int) Load 8(invocation)
+            1402:     72(ptr) AccessChain 27(data) 38 38
+            1403:   20(ivec4) Load 1402
+            1404:  556(bvec4) SLessThan 1403 555
+            1405:  556(bvec4) GroupNonUniformLogicalXor 34 InclusiveScan 1404
+            1406:   20(ivec4) Select 1405 559 555
+            1407:     72(ptr) AccessChain 27(data) 1401 38
+                              Store 1407 1406
+            1408:      6(int) Load 8(invocation)
+            1409:     31(ptr) AccessChain 27(data) 29 29 30
+            1410:   17(float) Load 1409
+            1411:   17(float) GroupNonUniformFAdd 34 ExclusiveScan 1410
+            1412:     31(ptr) AccessChain 27(data) 1408 29 30
+                              Store 1412 1411
+            1413:      6(int) Load 8(invocation)
+            1414:     40(ptr) AccessChain 27(data) 38 29
+            1415:   18(fvec4) Load 1414
+            1416:   39(fvec2) VectorShuffle 1415 1415 0 1
+            1417:   39(fvec2) GroupNonUniformFAdd 34 ExclusiveScan 1416
+            1418:     40(ptr) AccessChain 27(data) 1413 29
+            1419:   18(fvec4) Load 1418
+            1420:   18(fvec4) VectorShuffle 1419 1417 4 5 2 3
+                              Store 1418 1420
+            1421:      6(int) Load 8(invocation)
+            1422:     40(ptr) AccessChain 27(data) 49 29
+            1423:   18(fvec4) Load 1422
+            1424:   50(fvec3) VectorShuffle 1423 1423 0 1 2
+            1425:   50(fvec3) GroupNonUniformFAdd 34 ExclusiveScan 1424
+            1426:     40(ptr) AccessChain 27(data) 1421 29
+            1427:   18(fvec4) Load 1426
+            1428:   18(fvec4) VectorShuffle 1427 1425 4 5 6 3
+                              Store 1426 1428
+            1429:      6(int) Load 8(invocation)
+            1430:     40(ptr) AccessChain 27(data) 59 29
+            1431:   18(fvec4) Load 1430
+            1432:   18(fvec4) GroupNonUniformFAdd 34 ExclusiveScan 1431
+            1433:     40(ptr) AccessChain 27(data) 1429 29
+                              Store 1433 1432
+            1434:      6(int) Load 8(invocation)
+            1435:     65(ptr) AccessChain 27(data) 29 38 30
+            1436:     19(int) Load 1435
+            1437:     19(int) GroupNonUniformIAdd 34 ExclusiveScan 1436
+            1438:     65(ptr) AccessChain 27(data) 1434 38 30
+                              Store 1438 1437
+            1439:      6(int) Load 8(invocation)
+            1440:     72(ptr) AccessChain 27(data) 38 38
+            1441:   20(ivec4) Load 1440
+            1442:   71(ivec2) VectorShuffle 1441 1441 0 1
+            1443:   71(ivec2) GroupNonUniformIAdd 34 ExclusiveScan 1442
+            1444:     72(ptr) AccessChain 27(data) 1439 38
+            1445:   20(ivec4) Load 1444
+            1446:   20(ivec4) VectorShuffle 1445 1443 4 5 2 3
+                              Store 1444 1446
+            1447:      6(int) Load 8(invocation)
+            1448:     72(ptr) AccessChain 27(data) 49 38
+            1449:   20(ivec4) Load 1448
+            1450:   81(ivec3) VectorShuffle 1449 1449 0 1 2
+            1451:   81(ivec3) GroupNonUniformIAdd 34 ExclusiveScan 1450
+            1452:     72(ptr) AccessChain 27(data) 1447 38
+            1453:   20(ivec4) Load 1452
+            1454:   20(ivec4) VectorShuffle 1453 1451 4 5 6 3
+                              Store 1452 1454
+            1455:      6(int) Load 8(invocation)
+            1456:     72(ptr) AccessChain 27(data) 59 38
+            1457:   20(ivec4) Load 1456
+            1458:   20(ivec4) GroupNonUniformIAdd 34 ExclusiveScan 1457
+            1459:     72(ptr) AccessChain 27(data) 1455 38
+                              Store 1459 1458
+            1460:      6(int) Load 8(invocation)
+            1461:     95(ptr) AccessChain 27(data) 29 49 30
+            1462:      6(int) Load 1461
+            1463:      6(int) GroupNonUniformIAdd 34 ExclusiveScan 1462
+            1464:     95(ptr) AccessChain 27(data) 1460 49 30
+                              Store 1464 1463
+            1465:      6(int) Load 8(invocation)
+            1466:    102(ptr) AccessChain 27(data) 38 49
+            1467:   21(ivec4) Load 1466
+            1468:  101(ivec2) VectorShuffle 1467 1467 0 1
+            1469:  101(ivec2) GroupNonUniformIAdd 34 ExclusiveScan 1468
+            1470:    102(ptr) AccessChain 27(data) 1465 49
+            1471:   21(ivec4) Load 1470
+            1472:   21(ivec4) VectorShuffle 1471 1469 4 5 2 3
+                              Store 1470 1472
+            1473:      6(int) Load 8(invocation)
+            1474:    102(ptr) AccessChain 27(data) 49 49
+            1475:   21(ivec4) Load 1474
+            1476:  111(ivec3) VectorShuffle 1475 1475 0 1 2
+            1477:  111(ivec3) GroupNonUniformIAdd 34 ExclusiveScan 1476
+            1478:    102(ptr) AccessChain 27(data) 1473 49
+            1479:   21(ivec4) Load 1478
+            1480:   21(ivec4) VectorShuffle 1479 1477 4 5 6 3
+                              Store 1478 1480
+            1481:      6(int) Load 8(invocation)
+            1482:    102(ptr) AccessChain 27(data) 59 49
+            1483:   21(ivec4) Load 1482
+            1484:   21(ivec4) GroupNonUniformIAdd 34 ExclusiveScan 1483
+            1485:    102(ptr) AccessChain 27(data) 1481 49
+                              Store 1485 1484
+            1486:      6(int) Load 8(invocation)
+            1487:    125(ptr) AccessChain 27(data) 29 59 30
+            1488:   22(float) Load 1487
+            1489:   22(float) GroupNonUniformFAdd 34 ExclusiveScan 1488
+            1490:    125(ptr) AccessChain 27(data) 1486 59 30
+                              Store 1490 1489
+            1491:      6(int) Load 8(invocation)
+            1492:    132(ptr) AccessChain 27(data) 38 59
+            1493:   23(fvec4) Load 1492
+            1494:  131(fvec2) VectorShuffle 1493 1493 0 1
+            1495:  131(fvec2) GroupNonUniformFAdd 34 ExclusiveScan 1494
+            1496:    132(ptr) AccessChain 27(data) 1491 59
+            1497:   23(fvec4) Load 1496
+            1498:   23(fvec4) VectorShuffle 1497 1495 4 5 2 3
+                              Store 1496 1498
+            1499:      6(int) Load 8(invocation)
+            1500:    132(ptr) AccessChain 27(data) 49 59
+            1501:   23(fvec4) Load 1500
+            1502:  141(fvec3) VectorShuffle 1501 1501 0 1 2
+            1503:  141(fvec3) GroupNonUniformFAdd 34 ExclusiveScan 1502
+            1504:    132(ptr) AccessChain 27(data) 1499 59
+            1505:   23(fvec4) Load 1504
+            1506:   23(fvec4) VectorShuffle 1505 1503 4 5 6 3
+                              Store 1504 1506
+            1507:      6(int) Load 8(invocation)
+            1508:    132(ptr) AccessChain 27(data) 59 59
+            1509:   23(fvec4) Load 1508
+            1510:   23(fvec4) GroupNonUniformFAdd 34 ExclusiveScan 1509
+            1511:    132(ptr) AccessChain 27(data) 1507 59
+                              Store 1511 1510
+            1512:      6(int) Load 8(invocation)
+            1513:     31(ptr) AccessChain 27(data) 29 29 30
+            1514:   17(float) Load 1513
+            1515:   17(float) GroupNonUniformFMul 34 ExclusiveScan 1514
+            1516:     31(ptr) AccessChain 27(data) 1512 29 30
+                              Store 1516 1515
+            1517:      6(int) Load 8(invocation)
+            1518:     40(ptr) AccessChain 27(data) 38 29
+            1519:   18(fvec4) Load 1518
+            1520:   39(fvec2) VectorShuffle 1519 1519 0 1
+            1521:   39(fvec2) GroupNonUniformFMul 34 ExclusiveScan 1520
+            1522:     40(ptr) AccessChain 27(data) 1517 29
+            1523:   18(fvec4) Load 1522
+            1524:   18(fvec4) VectorShuffle 1523 1521 4 5 2 3
+                              Store 1522 1524
+            1525:      6(int) Load 8(invocation)
+            1526:     40(ptr) AccessChain 27(data) 49 29
+            1527:   18(fvec4) Load 1526
+            1528:   50(fvec3) VectorShuffle 1527 1527 0 1 2
+            1529:   50(fvec3) GroupNonUniformFMul 34 ExclusiveScan 1528
+            1530:     40(ptr) AccessChain 27(data) 1525 29
+            1531:   18(fvec4) Load 1530
+            1532:   18(fvec4) VectorShuffle 1531 1529 4 5 6 3
+                              Store 1530 1532
+            1533:      6(int) Load 8(invocation)
+            1534:     40(ptr) AccessChain 27(data) 59 29
+            1535:   18(fvec4) Load 1534
+            1536:   18(fvec4) GroupNonUniformFMul 34 ExclusiveScan 1535
+            1537:     40(ptr) AccessChain 27(data) 1533 29
+                              Store 1537 1536
+            1538:      6(int) Load 8(invocation)
+            1539:     65(ptr) AccessChain 27(data) 29 38 30
+            1540:     19(int) Load 1539
+            1541:     19(int) GroupNonUniformIMul 34 ExclusiveScan 1540
+            1542:     65(ptr) AccessChain 27(data) 1538 38 30
+                              Store 1542 1541
+            1543:      6(int) Load 8(invocation)
+            1544:     72(ptr) AccessChain 27(data) 38 38
+            1545:   20(ivec4) Load 1544
+            1546:   71(ivec2) VectorShuffle 1545 1545 0 1
+            1547:   71(ivec2) GroupNonUniformIMul 34 ExclusiveScan 1546
+            1548:     72(ptr) AccessChain 27(data) 1543 38
+            1549:   20(ivec4) Load 1548
+            1550:   20(ivec4) VectorShuffle 1549 1547 4 5 2 3
+                              Store 1548 1550
+            1551:      6(int) Load 8(invocation)
+            1552:     72(ptr) AccessChain 27(data) 49 38
+            1553:   20(ivec4) Load 1552
+            1554:   81(ivec3) VectorShuffle 1553 1553 0 1 2
+            1555:   81(ivec3) GroupNonUniformIMul 34 ExclusiveScan 1554
+            1556:     72(ptr) AccessChain 27(data) 1551 38
+            1557:   20(ivec4) Load 1556
+            1558:   20(ivec4) VectorShuffle 1557 1555 4 5 6 3
+                              Store 1556 1558
+            1559:      6(int) Load 8(invocation)
+            1560:     72(ptr) AccessChain 27(data) 59 38
+            1561:   20(ivec4) Load 1560
+            1562:   20(ivec4) GroupNonUniformIMul 34 ExclusiveScan 1561
+            1563:     72(ptr) AccessChain 27(data) 1559 38
+                              Store 1563 1562
+            1564:      6(int) Load 8(invocation)
+            1565:     95(ptr) AccessChain 27(data) 29 49 30
+            1566:      6(int) Load 1565
+            1567:      6(int) GroupNonUniformIMul 34 ExclusiveScan 1566
+            1568:     95(ptr) AccessChain 27(data) 1564 49 30
+                              Store 1568 1567
+            1569:      6(int) Load 8(invocation)
+            1570:    102(ptr) AccessChain 27(data) 38 49
+            1571:   21(ivec4) Load 1570
+            1572:  101(ivec2) VectorShuffle 1571 1571 0 1
+            1573:  101(ivec2) GroupNonUniformIMul 34 ExclusiveScan 1572
+            1574:    102(ptr) AccessChain 27(data) 1569 49
+            1575:   21(ivec4) Load 1574
+            1576:   21(ivec4) VectorShuffle 1575 1573 4 5 2 3
+                              Store 1574 1576
+            1577:      6(int) Load 8(invocation)
+            1578:    102(ptr) AccessChain 27(data) 49 49
+            1579:   21(ivec4) Load 1578
+            1580:  111(ivec3) VectorShuffle 1579 1579 0 1 2
+            1581:  111(ivec3) GroupNonUniformIMul 34 ExclusiveScan 1580
+            1582:    102(ptr) AccessChain 27(data) 1577 49
+            1583:   21(ivec4) Load 1582
+            1584:   21(ivec4) VectorShuffle 1583 1581 4 5 6 3
+                              Store 1582 1584
+            1585:      6(int) Load 8(invocation)
+            1586:    102(ptr) AccessChain 27(data) 59 49
+            1587:   21(ivec4) Load 1586
+            1588:   21(ivec4) GroupNonUniformIMul 34 ExclusiveScan 1587
+            1589:    102(ptr) AccessChain 27(data) 1585 49
+                              Store 1589 1588
+            1590:      6(int) Load 8(invocation)
+            1591:    125(ptr) AccessChain 27(data) 29 59 30
+            1592:   22(float) Load 1591
+            1593:   22(float) GroupNonUniformFMul 34 ExclusiveScan 1592
+            1594:    125(ptr) AccessChain 27(data) 1590 59 30
+                              Store 1594 1593
+            1595:      6(int) Load 8(invocation)
+            1596:    132(ptr) AccessChain 27(data) 38 59
+            1597:   23(fvec4) Load 1596
+            1598:  131(fvec2) VectorShuffle 1597 1597 0 1
+            1599:  131(fvec2) GroupNonUniformFMul 34 ExclusiveScan 1598
+            1600:    132(ptr) AccessChain 27(data) 1595 59
+            1601:   23(fvec4) Load 1600
+            1602:   23(fvec4) VectorShuffle 1601 1599 4 5 2 3
+                              Store 1600 1602
+            1603:      6(int) Load 8(invocation)
+            1604:    132(ptr) AccessChain 27(data) 49 59
+            1605:   23(fvec4) Load 1604
+            1606:  141(fvec3) VectorShuffle 1605 1605 0 1 2
+            1607:  141(fvec3) GroupNonUniformFMul 34 ExclusiveScan 1606
+            1608:    132(ptr) AccessChain 27(data) 1603 59
+            1609:   23(fvec4) Load 1608
+            1610:   23(fvec4) VectorShuffle 1609 1607 4 5 6 3
+                              Store 1608 1610
+            1611:      6(int) Load 8(invocation)
+            1612:    132(ptr) AccessChain 27(data) 59 59
+            1613:   23(fvec4) Load 1612
+            1614:   23(fvec4) GroupNonUniformFMul 34 ExclusiveScan 1613
+            1615:    132(ptr) AccessChain 27(data) 1611 59
+                              Store 1615 1614
+            1616:      6(int) Load 8(invocation)
+            1617:     31(ptr) AccessChain 27(data) 29 29 30
+            1618:   17(float) Load 1617
+            1619:   17(float) GroupNonUniformFMin 34 ExclusiveScan 1618
+            1620:     31(ptr) AccessChain 27(data) 1616 29 30
+                              Store 1620 1619
+            1621:      6(int) Load 8(invocation)
+            1622:     40(ptr) AccessChain 27(data) 38 29
+            1623:   18(fvec4) Load 1622
+            1624:   39(fvec2) VectorShuffle 1623 1623 0 1
+            1625:   39(fvec2) GroupNonUniformFMin 34 ExclusiveScan 1624
+            1626:     40(ptr) AccessChain 27(data) 1621 29
+            1627:   18(fvec4) Load 1626
+            1628:   18(fvec4) VectorShuffle 1627 1625 4 5 2 3
+                              Store 1626 1628
+            1629:      6(int) Load 8(invocation)
+            1630:     40(ptr) AccessChain 27(data) 49 29
+            1631:   18(fvec4) Load 1630
+            1632:   50(fvec3) VectorShuffle 1631 1631 0 1 2
+            1633:   50(fvec3) GroupNonUniformFMin 34 ExclusiveScan 1632
+            1634:     40(ptr) AccessChain 27(data) 1629 29
+            1635:   18(fvec4) Load 1634
+            1636:   18(fvec4) VectorShuffle 1635 1633 4 5 6 3
+                              Store 1634 1636
+            1637:      6(int) Load 8(invocation)
+            1638:     40(ptr) AccessChain 27(data) 59 29
+            1639:   18(fvec4) Load 1638
+            1640:   18(fvec4) GroupNonUniformFMin 34 ExclusiveScan 1639
+            1641:     40(ptr) AccessChain 27(data) 1637 29
+                              Store 1641 1640
+            1642:      6(int) Load 8(invocation)
+            1643:     65(ptr) AccessChain 27(data) 29 38 30
+            1644:     19(int) Load 1643
+            1645:     19(int) GroupNonUniformSMin 34 ExclusiveScan 1644
+            1646:     65(ptr) AccessChain 27(data) 1642 38 30
+                              Store 1646 1645
+            1647:      6(int) Load 8(invocation)
+            1648:     72(ptr) AccessChain 27(data) 38 38
+            1649:   20(ivec4) Load 1648
+            1650:   71(ivec2) VectorShuffle 1649 1649 0 1
+            1651:   71(ivec2) GroupNonUniformSMin 34 ExclusiveScan 1650
+            1652:     72(ptr) AccessChain 27(data) 1647 38
+            1653:   20(ivec4) Load 1652
+            1654:   20(ivec4) VectorShuffle 1653 1651 4 5 2 3
+                              Store 1652 1654
+            1655:      6(int) Load 8(invocation)
+            1656:     72(ptr) AccessChain 27(data) 49 38
+            1657:   20(ivec4) Load 1656
+            1658:   81(ivec3) VectorShuffle 1657 1657 0 1 2
+            1659:   81(ivec3) GroupNonUniformSMin 34 ExclusiveScan 1658
+            1660:     72(ptr) AccessChain 27(data) 1655 38
+            1661:   20(ivec4) Load 1660
+            1662:   20(ivec4) VectorShuffle 1661 1659 4 5 6 3
+                              Store 1660 1662
+            1663:      6(int) Load 8(invocation)
+            1664:     72(ptr) AccessChain 27(data) 59 38
+            1665:   20(ivec4) Load 1664
+            1666:   20(ivec4) GroupNonUniformSMin 34 ExclusiveScan 1665
+            1667:     72(ptr) AccessChain 27(data) 1663 38
+                              Store 1667 1666
+            1668:      6(int) Load 8(invocation)
+            1669:     95(ptr) AccessChain 27(data) 29 49 30
+            1670:      6(int) Load 1669
+            1671:      6(int) GroupNonUniformUMin 34 ExclusiveScan 1670
+            1672:     95(ptr) AccessChain 27(data) 1668 49 30
+                              Store 1672 1671
+            1673:      6(int) Load 8(invocation)
+            1674:    102(ptr) AccessChain 27(data) 38 49
+            1675:   21(ivec4) Load 1674
+            1676:  101(ivec2) VectorShuffle 1675 1675 0 1
+            1677:  101(ivec2) GroupNonUniformUMin 34 ExclusiveScan 1676
+            1678:    102(ptr) AccessChain 27(data) 1673 49
+            1679:   21(ivec4) Load 1678
+            1680:   21(ivec4) VectorShuffle 1679 1677 4 5 2 3
+                              Store 1678 1680
+            1681:      6(int) Load 8(invocation)
+            1682:    102(ptr) AccessChain 27(data) 49 49
+            1683:   21(ivec4) Load 1682
+            1684:  111(ivec3) VectorShuffle 1683 1683 0 1 2
+            1685:  111(ivec3) GroupNonUniformUMin 34 ExclusiveScan 1684
+            1686:    102(ptr) AccessChain 27(data) 1681 49
+            1687:   21(ivec4) Load 1686
+            1688:   21(ivec4) VectorShuffle 1687 1685 4 5 6 3
+                              Store 1686 1688
+            1689:      6(int) Load 8(invocation)
+            1690:    102(ptr) AccessChain 27(data) 59 49
+            1691:   21(ivec4) Load 1690
+            1692:   21(ivec4) GroupNonUniformUMin 34 ExclusiveScan 1691
+            1693:    102(ptr) AccessChain 27(data) 1689 49
+                              Store 1693 1692
+            1694:      6(int) Load 8(invocation)
+            1695:    125(ptr) AccessChain 27(data) 29 59 30
+            1696:   22(float) Load 1695
+            1697:   22(float) GroupNonUniformFMin 34 ExclusiveScan 1696
+            1698:    125(ptr) AccessChain 27(data) 1694 59 30
+                              Store 1698 1697
+            1699:      6(int) Load 8(invocation)
+            1700:    132(ptr) AccessChain 27(data) 38 59
+            1701:   23(fvec4) Load 1700
+            1702:  131(fvec2) VectorShuffle 1701 1701 0 1
+            1703:  131(fvec2) GroupNonUniformFMin 34 ExclusiveScan 1702
+            1704:    132(ptr) AccessChain 27(data) 1699 59
+            1705:   23(fvec4) Load 1704
+            1706:   23(fvec4) VectorShuffle 1705 1703 4 5 2 3
+                              Store 1704 1706
+            1707:      6(int) Load 8(invocation)
+            1708:    132(ptr) AccessChain 27(data) 49 59
+            1709:   23(fvec4) Load 1708
+            1710:  141(fvec3) VectorShuffle 1709 1709 0 1 2
+            1711:  141(fvec3) GroupNonUniformFMin 34 ExclusiveScan 1710
+            1712:    132(ptr) AccessChain 27(data) 1707 59
+            1713:   23(fvec4) Load 1712
+            1714:   23(fvec4) VectorShuffle 1713 1711 4 5 6 3
+                              Store 1712 1714
+            1715:      6(int) Load 8(invocation)
+            1716:    132(ptr) AccessChain 27(data) 59 59
+            1717:   23(fvec4) Load 1716
+            1718:   23(fvec4) GroupNonUniformFMin 34 ExclusiveScan 1717
+            1719:    132(ptr) AccessChain 27(data) 1715 59
+                              Store 1719 1718
+            1720:      6(int) Load 8(invocation)
+            1721:     31(ptr) AccessChain 27(data) 29 29 30
+            1722:   17(float) Load 1721
+            1723:   17(float) GroupNonUniformFMax 34 ExclusiveScan 1722
+            1724:     31(ptr) AccessChain 27(data) 1720 29 30
+                              Store 1724 1723
+            1725:      6(int) Load 8(invocation)
+            1726:     40(ptr) AccessChain 27(data) 38 29
+            1727:   18(fvec4) Load 1726
+            1728:   39(fvec2) VectorShuffle 1727 1727 0 1
+            1729:   39(fvec2) GroupNonUniformFMax 34 ExclusiveScan 1728
+            1730:     40(ptr) AccessChain 27(data) 1725 29
+            1731:   18(fvec4) Load 1730
+            1732:   18(fvec4) VectorShuffle 1731 1729 4 5 2 3
+                              Store 1730 1732
+            1733:      6(int) Load 8(invocation)
+            1734:     40(ptr) AccessChain 27(data) 49 29
+            1735:   18(fvec4) Load 1734
+            1736:   50(fvec3) VectorShuffle 1735 1735 0 1 2
+            1737:   50(fvec3) GroupNonUniformFMax 34 ExclusiveScan 1736
+            1738:     40(ptr) AccessChain 27(data) 1733 29
+            1739:   18(fvec4) Load 1738
+            1740:   18(fvec4) VectorShuffle 1739 1737 4 5 6 3
+                              Store 1738 1740
+            1741:      6(int) Load 8(invocation)
+            1742:     40(ptr) AccessChain 27(data) 59 29
+            1743:   18(fvec4) Load 1742
+            1744:   18(fvec4) GroupNonUniformFMax 34 ExclusiveScan 1743
+            1745:     40(ptr) AccessChain 27(data) 1741 29
+                              Store 1745 1744
+            1746:      6(int) Load 8(invocation)
+            1747:     65(ptr) AccessChain 27(data) 29 38 30
+            1748:     19(int) Load 1747
+            1749:     19(int) GroupNonUniformSMax 34 ExclusiveScan 1748
+            1750:     65(ptr) AccessChain 27(data) 1746 38 30
+                              Store 1750 1749
+            1751:      6(int) Load 8(invocation)
+            1752:     72(ptr) AccessChain 27(data) 38 38
+            1753:   20(ivec4) Load 1752
+            1754:   71(ivec2) VectorShuffle 1753 1753 0 1
+            1755:   71(ivec2) GroupNonUniformSMax 34 ExclusiveScan 1754
+            1756:     72(ptr) AccessChain 27(data) 1751 38
+            1757:   20(ivec4) Load 1756
+            1758:   20(ivec4) VectorShuffle 1757 1755 4 5 2 3
+                              Store 1756 1758
+            1759:      6(int) Load 8(invocation)
+            1760:     72(ptr) AccessChain 27(data) 49 38
+            1761:   20(ivec4) Load 1760
+            1762:   81(ivec3) VectorShuffle 1761 1761 0 1 2
+            1763:   81(ivec3) GroupNonUniformSMax 34 ExclusiveScan 1762
+            1764:     72(ptr) AccessChain 27(data) 1759 38
+            1765:   20(ivec4) Load 1764
+            1766:   20(ivec4) VectorShuffle 1765 1763 4 5 6 3
+                              Store 1764 1766
+            1767:      6(int) Load 8(invocation)
+            1768:     72(ptr) AccessChain 27(data) 59 38
+            1769:   20(ivec4) Load 1768
+            1770:   20(ivec4) GroupNonUniformSMax 34 ExclusiveScan 1769
+            1771:     72(ptr) AccessChain 27(data) 1767 38
+                              Store 1771 1770
+            1772:      6(int) Load 8(invocation)
+            1773:     95(ptr) AccessChain 27(data) 29 49 30
+            1774:      6(int) Load 1773
+            1775:      6(int) GroupNonUniformUMax 34 ExclusiveScan 1774
+            1776:     95(ptr) AccessChain 27(data) 1772 49 30
+                              Store 1776 1775
+            1777:      6(int) Load 8(invocation)
+            1778:    102(ptr) AccessChain 27(data) 38 49
+            1779:   21(ivec4) Load 1778
+            1780:  101(ivec2) VectorShuffle 1779 1779 0 1
+            1781:  101(ivec2) GroupNonUniformUMax 34 ExclusiveScan 1780
+            1782:    102(ptr) AccessChain 27(data) 1777 49
+            1783:   21(ivec4) Load 1782
+            1784:   21(ivec4) VectorShuffle 1783 1781 4 5 2 3
+                              Store 1782 1784
+            1785:      6(int) Load 8(invocation)
+            1786:    102(ptr) AccessChain 27(data) 49 49
+            1787:   21(ivec4) Load 1786
+            1788:  111(ivec3) VectorShuffle 1787 1787 0 1 2
+            1789:  111(ivec3) GroupNonUniformUMax 34 ExclusiveScan 1788
+            1790:    102(ptr) AccessChain 27(data) 1785 49
+            1791:   21(ivec4) Load 1790
+            1792:   21(ivec4) VectorShuffle 1791 1789 4 5 6 3
+                              Store 1790 1792
+            1793:      6(int) Load 8(invocation)
+            1794:    102(ptr) AccessChain 27(data) 59 49
+            1795:   21(ivec4) Load 1794
+            1796:   21(ivec4) GroupNonUniformUMax 34 ExclusiveScan 1795
+            1797:    102(ptr) AccessChain 27(data) 1793 49
+                              Store 1797 1796
+            1798:      6(int) Load 8(invocation)
+            1799:    125(ptr) AccessChain 27(data) 29 59 30
+            1800:   22(float) Load 1799
+            1801:   22(float) GroupNonUniformFMax 34 ExclusiveScan 1800
+            1802:    125(ptr) AccessChain 27(data) 1798 59 30
+                              Store 1802 1801
+            1803:      6(int) Load 8(invocation)
+            1804:    132(ptr) AccessChain 27(data) 38 59
+            1805:   23(fvec4) Load 1804
+            1806:  131(fvec2) VectorShuffle 1805 1805 0 1
+            1807:  131(fvec2) GroupNonUniformFMax 34 ExclusiveScan 1806
+            1808:    132(ptr) AccessChain 27(data) 1803 59
+            1809:   23(fvec4) Load 1808
+            1810:   23(fvec4) VectorShuffle 1809 1807 4 5 2 3
+                              Store 1808 1810
+            1811:      6(int) Load 8(invocation)
+            1812:    132(ptr) AccessChain 27(data) 49 59
+            1813:   23(fvec4) Load 1812
+            1814:  141(fvec3) VectorShuffle 1813 1813 0 1 2
+            1815:  141(fvec3) GroupNonUniformFMax 34 ExclusiveScan 1814
+            1816:    132(ptr) AccessChain 27(data) 1811 59
+            1817:   23(fvec4) Load 1816
+            1818:   23(fvec4) VectorShuffle 1817 1815 4 5 6 3
+                              Store 1816 1818
+            1819:      6(int) Load 8(invocation)
+            1820:    132(ptr) AccessChain 27(data) 59 59
+            1821:   23(fvec4) Load 1820
+            1822:   23(fvec4) GroupNonUniformFMax 34 ExclusiveScan 1821
+            1823:    132(ptr) AccessChain 27(data) 1819 59
+                              Store 1823 1822
+            1824:      6(int) Load 8(invocation)
+            1825:     65(ptr) AccessChain 27(data) 29 38 30
+            1826:     19(int) Load 1825
+            1827:     19(int) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1826
+            1828:     65(ptr) AccessChain 27(data) 1824 38 30
+                              Store 1828 1827
+            1829:      6(int) Load 8(invocation)
+            1830:     72(ptr) AccessChain 27(data) 38 38
+            1831:   20(ivec4) Load 1830
+            1832:   71(ivec2) VectorShuffle 1831 1831 0 1
+            1833:   71(ivec2) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1832
+            1834:     72(ptr) AccessChain 27(data) 1829 38
+            1835:   20(ivec4) Load 1834
+            1836:   20(ivec4) VectorShuffle 1835 1833 4 5 2 3
+                              Store 1834 1836
+            1837:      6(int) Load 8(invocation)
+            1838:     72(ptr) AccessChain 27(data) 49 38
+            1839:   20(ivec4) Load 1838
+            1840:   81(ivec3) VectorShuffle 1839 1839 0 1 2
+            1841:   81(ivec3) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1840
+            1842:     72(ptr) AccessChain 27(data) 1837 38
+            1843:   20(ivec4) Load 1842
+            1844:   20(ivec4) VectorShuffle 1843 1841 4 5 6 3
+                              Store 1842 1844
+            1845:      6(int) Load 8(invocation)
+            1846:     72(ptr) AccessChain 27(data) 59 38
+            1847:   20(ivec4) Load 1846
+            1848:   20(ivec4) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1847
+            1849:     72(ptr) AccessChain 27(data) 1845 38
+                              Store 1849 1848
+            1850:      6(int) Load 8(invocation)
+            1851:     95(ptr) AccessChain 27(data) 29 49 30
+            1852:      6(int) Load 1851
+            1853:      6(int) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1852
+            1854:     95(ptr) AccessChain 27(data) 1850 49 30
+                              Store 1854 1853
+            1855:      6(int) Load 8(invocation)
+            1856:    102(ptr) AccessChain 27(data) 38 49
+            1857:   21(ivec4) Load 1856
+            1858:  101(ivec2) VectorShuffle 1857 1857 0 1
+            1859:  101(ivec2) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1858
+            1860:    102(ptr) AccessChain 27(data) 1855 49
+            1861:   21(ivec4) Load 1860
+            1862:   21(ivec4) VectorShuffle 1861 1859 4 5 2 3
+                              Store 1860 1862
+            1863:      6(int) Load 8(invocation)
+            1864:    102(ptr) AccessChain 27(data) 49 49
+            1865:   21(ivec4) Load 1864
+            1866:  111(ivec3) VectorShuffle 1865 1865 0 1 2
+            1867:  111(ivec3) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1866
+            1868:    102(ptr) AccessChain 27(data) 1863 49
+            1869:   21(ivec4) Load 1868
+            1870:   21(ivec4) VectorShuffle 1869 1867 4 5 6 3
+                              Store 1868 1870
+            1871:      6(int) Load 8(invocation)
+            1872:    102(ptr) AccessChain 27(data) 59 49
+            1873:   21(ivec4) Load 1872
+            1874:   21(ivec4) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1873
+            1875:    102(ptr) AccessChain 27(data) 1871 49
+                              Store 1875 1874
+            1876:      6(int) Load 8(invocation)
+            1877:     65(ptr) AccessChain 27(data) 29 38 30
+            1878:     19(int) Load 1877
+            1879:   521(bool) SLessThan 1878 29
+            1880:   521(bool) GroupNonUniformLogicalAnd 34 ExclusiveScan 1879
+            1881:     19(int) Select 1880 38 29
+            1882:     65(ptr) AccessChain 27(data) 1876 38 30
+                              Store 1882 1881
+            1883:      6(int) Load 8(invocation)
+            1884:     72(ptr) AccessChain 27(data) 38 38
+            1885:   20(ivec4) Load 1884
+            1886:   71(ivec2) VectorShuffle 1885 1885 0 1
+            1887:  531(bvec2) SLessThan 1886 530
+            1888:  531(bvec2) GroupNonUniformLogicalAnd 34 ExclusiveScan 1887
+            1889:   71(ivec2) Select 1888 534 530
+            1890:     72(ptr) AccessChain 27(data) 1883 38
+            1891:   20(ivec4) Load 1890
+            1892:   20(ivec4) VectorShuffle 1891 1889 4 5 2 3
+                              Store 1890 1892
+            1893:      6(int) Load 8(invocation)
+            1894:     72(ptr) AccessChain 27(data) 38 38
+            1895:   20(ivec4) Load 1894
+            1896:   81(ivec3) VectorShuffle 1895 1895 0 1 2
+            1897:  544(bvec3) SLessThan 1896 543
+            1898:  544(bvec3) GroupNonUniformLogicalAnd 34 ExclusiveScan 1897
+            1899:   81(ivec3) Select 1898 547 543
+            1900:     72(ptr) AccessChain 27(data) 1893 38
+            1901:   20(ivec4) Load 1900
+            1902:   20(ivec4) VectorShuffle 1901 1899 4 5 6 3
+                              Store 1900 1902
+            1903:      6(int) Load 8(invocation)
+            1904:     72(ptr) AccessChain 27(data) 38 38
+            1905:   20(ivec4) Load 1904
+            1906:  556(bvec4) SLessThan 1905 555
+            1907:  556(bvec4) GroupNonUniformLogicalAnd 34 ExclusiveScan 1906
+            1908:   20(ivec4) Select 1907 559 555
+            1909:     72(ptr) AccessChain 27(data) 1903 38
+                              Store 1909 1908
+            1910:      6(int) Load 8(invocation)
+            1911:     65(ptr) AccessChain 27(data) 29 38 30
+            1912:     19(int) Load 1911
+            1913:     19(int) GroupNonUniformBitwiseOr 34 ExclusiveScan 1912
+            1914:     65(ptr) AccessChain 27(data) 1910 38 30
+                              Store 1914 1913
+            1915:      6(int) Load 8(invocation)
+            1916:     72(ptr) AccessChain 27(data) 38 38
+            1917:   20(ivec4) Load 1916
+            1918:   71(ivec2) VectorShuffle 1917 1917 0 1
+            1919:   71(ivec2) GroupNonUniformBitwiseOr 34 ExclusiveScan 1918
+            1920:     72(ptr) AccessChain 27(data) 1915 38
+            1921:   20(ivec4) Load 1920
+            1922:   20(ivec4) VectorShuffle 1921 1919 4 5 2 3
+                              Store 1920 1922
+            1923:      6(int) Load 8(invocation)
+            1924:     72(ptr) AccessChain 27(data) 49 38
+            1925:   20(ivec4) Load 1924
+            1926:   81(ivec3) VectorShuffle 1925 1925 0 1 2
+            1927:   81(ivec3) GroupNonUniformBitwiseOr 34 ExclusiveScan 1926
+            1928:     72(ptr) AccessChain 27(data) 1923 38
+            1929:   20(ivec4) Load 1928
+            1930:   20(ivec4) VectorShuffle 1929 1927 4 5 6 3
+                              Store 1928 1930
+            1931:      6(int) Load 8(invocation)
+            1932:     72(ptr) AccessChain 27(data) 59 38
+            1933:   20(ivec4) Load 1932
+            1934:   20(ivec4) GroupNonUniformBitwiseOr 34 ExclusiveScan 1933
+            1935:     72(ptr) AccessChain 27(data) 1931 38
+                              Store 1935 1934
+            1936:      6(int) Load 8(invocation)
+            1937:     95(ptr) AccessChain 27(data) 29 49 30
+            1938:      6(int) Load 1937
+            1939:      6(int) GroupNonUniformBitwiseOr 34 ExclusiveScan 1938
+            1940:     95(ptr) AccessChain 27(data) 1936 49 30
+                              Store 1940 1939
+            1941:      6(int) Load 8(invocation)
+            1942:    102(ptr) AccessChain 27(data) 38 49
+            1943:   21(ivec4) Load 1942
+            1944:  101(ivec2) VectorShuffle 1943 1943 0 1
+            1945:  101(ivec2) GroupNonUniformBitwiseOr 34 ExclusiveScan 1944
+            1946:    102(ptr) AccessChain 27(data) 1941 49
+            1947:   21(ivec4) Load 1946
+            1948:   21(ivec4) VectorShuffle 1947 1945 4 5 2 3
+                              Store 1946 1948
+            1949:      6(int) Load 8(invocation)
+            1950:    102(ptr) AccessChain 27(data) 49 49
+            1951:   21(ivec4) Load 1950
+            1952:  111(ivec3) VectorShuffle 1951 1951 0 1 2
+            1953:  111(ivec3) GroupNonUniformBitwiseOr 34 ExclusiveScan 1952
+            1954:    102(ptr) AccessChain 27(data) 1949 49
+            1955:   21(ivec4) Load 1954
+            1956:   21(ivec4) VectorShuffle 1955 1953 4 5 6 3
+                              Store 1954 1956
+            1957:      6(int) Load 8(invocation)
+            1958:    102(ptr) AccessChain 27(data) 59 49
+            1959:   21(ivec4) Load 1958
+            1960:   21(ivec4) GroupNonUniformBitwiseOr 34 ExclusiveScan 1959
+            1961:    102(ptr) AccessChain 27(data) 1957 49
+                              Store 1961 1960
+            1962:      6(int) Load 8(invocation)
+            1963:     65(ptr) AccessChain 27(data) 29 38 30
+            1964:     19(int) Load 1963
+            1965:   521(bool) SLessThan 1964 29
+            1966:   521(bool) GroupNonUniformLogicalOr 34 ExclusiveScan 1965
+            1967:     19(int) Select 1966 38 29
+            1968:     65(ptr) AccessChain 27(data) 1962 38 30
+                              Store 1968 1967
+            1969:      6(int) Load 8(invocation)
+            1970:     72(ptr) AccessChain 27(data) 38 38
+            1971:   20(ivec4) Load 1970
+            1972:   71(ivec2) VectorShuffle 1971 1971 0 1
+            1973:  531(bvec2) SLessThan 1972 530
+            1974:  531(bvec2) GroupNonUniformLogicalOr 34 ExclusiveScan 1973
+            1975:   71(ivec2) Select 1974 534 530
+            1976:     72(ptr) AccessChain 27(data) 1969 38
+            1977:   20(ivec4) Load 1976
+            1978:   20(ivec4) VectorShuffle 1977 1975 4 5 2 3
+                              Store 1976 1978
+            1979:      6(int) Load 8(invocation)
+            1980:     72(ptr) AccessChain 27(data) 38 38
+            1981:   20(ivec4) Load 1980
+            1982:   81(ivec3) VectorShuffle 1981 1981 0 1 2
+            1983:  544(bvec3) SLessThan 1982 543
+            1984:  544(bvec3) GroupNonUniformLogicalOr 34 ExclusiveScan 1983
+            1985:   81(ivec3) Select 1984 547 543
+            1986:     72(ptr) AccessChain 27(data) 1979 38
+            1987:   20(ivec4) Load 1986
+            1988:   20(ivec4) VectorShuffle 1987 1985 4 5 6 3
+                              Store 1986 1988
+            1989:      6(int) Load 8(invocation)
+            1990:     72(ptr) AccessChain 27(data) 38 38
+            1991:   20(ivec4) Load 1990
+            1992:  556(bvec4) SLessThan 1991 555
+            1993:  556(bvec4) GroupNonUniformLogicalOr 34 ExclusiveScan 1992
+            1994:   20(ivec4) Select 1993 559 555
+            1995:     72(ptr) AccessChain 27(data) 1989 38
+                              Store 1995 1994
+            1996:      6(int) Load 8(invocation)
+            1997:     65(ptr) AccessChain 27(data) 29 38 30
+            1998:     19(int) Load 1997
+            1999:     19(int) GroupNonUniformBitwiseXor 34 ExclusiveScan 1998
+            2000:     65(ptr) AccessChain 27(data) 1996 38 30
+                              Store 2000 1999
+            2001:      6(int) Load 8(invocation)
+            2002:     72(ptr) AccessChain 27(data) 38 38
+            2003:   20(ivec4) Load 2002
+            2004:   71(ivec2) VectorShuffle 2003 2003 0 1
+            2005:   71(ivec2) GroupNonUniformBitwiseXor 34 ExclusiveScan 2004
+            2006:     72(ptr) AccessChain 27(data) 2001 38
+            2007:   20(ivec4) Load 2006
+            2008:   20(ivec4) VectorShuffle 2007 2005 4 5 2 3
+                              Store 2006 2008
+            2009:      6(int) Load 8(invocation)
+            2010:     72(ptr) AccessChain 27(data) 49 38
+            2011:   20(ivec4) Load 2010
+            2012:   81(ivec3) VectorShuffle 2011 2011 0 1 2
+            2013:   81(ivec3) GroupNonUniformBitwiseXor 34 ExclusiveScan 2012
+            2014:     72(ptr) AccessChain 27(data) 2009 38
+            2015:   20(ivec4) Load 2014
+            2016:   20(ivec4) VectorShuffle 2015 2013 4 5 6 3
+                              Store 2014 2016
+            2017:      6(int) Load 8(invocation)
+            2018:     72(ptr) AccessChain 27(data) 59 38
+            2019:   20(ivec4) Load 2018
+            2020:   20(ivec4) GroupNonUniformBitwiseXor 34 ExclusiveScan 2019
+            2021:     72(ptr) AccessChain 27(data) 2017 38
+                              Store 2021 2020
+            2022:      6(int) Load 8(invocation)
+            2023:     95(ptr) AccessChain 27(data) 29 49 30
+            2024:      6(int) Load 2023
+            2025:      6(int) GroupNonUniformBitwiseXor 34 ExclusiveScan 2024
+            2026:     95(ptr) AccessChain 27(data) 2022 49 30
+                              Store 2026 2025
+            2027:      6(int) Load 8(invocation)
+            2028:    102(ptr) AccessChain 27(data) 38 49
+            2029:   21(ivec4) Load 2028
+            2030:  101(ivec2) VectorShuffle 2029 2029 0 1
+            2031:  101(ivec2) GroupNonUniformBitwiseXor 34 ExclusiveScan 2030
+            2032:    102(ptr) AccessChain 27(data) 2027 49
+            2033:   21(ivec4) Load 2032
+            2034:   21(ivec4) VectorShuffle 2033 2031 4 5 2 3
+                              Store 2032 2034
+            2035:      6(int) Load 8(invocation)
+            2036:    102(ptr) AccessChain 27(data) 49 49
+            2037:   21(ivec4) Load 2036
+            2038:  111(ivec3) VectorShuffle 2037 2037 0 1 2
+            2039:  111(ivec3) GroupNonUniformBitwiseXor 34 ExclusiveScan 2038
+            2040:    102(ptr) AccessChain 27(data) 2035 49
+            2041:   21(ivec4) Load 2040
+            2042:   21(ivec4) VectorShuffle 2041 2039 4 5 6 3
+                              Store 2040 2042
+            2043:      6(int) Load 8(invocation)
+            2044:    102(ptr) AccessChain 27(data) 59 49
+            2045:   21(ivec4) Load 2044
+            2046:   21(ivec4) GroupNonUniformBitwiseXor 34 ExclusiveScan 2045
+            2047:    102(ptr) AccessChain 27(data) 2043 49
+                              Store 2047 2046
+            2048:      6(int) Load 8(invocation)
+            2049:     65(ptr) AccessChain 27(data) 29 38 30
+            2050:     19(int) Load 2049
+            2051:   521(bool) SLessThan 2050 29
+            2052:   521(bool) GroupNonUniformLogicalXor 34 ExclusiveScan 2051
+            2053:     19(int) Select 2052 38 29
+            2054:     65(ptr) AccessChain 27(data) 2048 38 30
+                              Store 2054 2053
+            2055:      6(int) Load 8(invocation)
+            2056:     72(ptr) AccessChain 27(data) 38 38
+            2057:   20(ivec4) Load 2056
+            2058:   71(ivec2) VectorShuffle 2057 2057 0 1
+            2059:  531(bvec2) SLessThan 2058 530
+            2060:  531(bvec2) GroupNonUniformLogicalXor 34 ExclusiveScan 2059
+            2061:   71(ivec2) Select 2060 534 530
+            2062:     72(ptr) AccessChain 27(data) 2055 38
+            2063:   20(ivec4) Load 2062
+            2064:   20(ivec4) VectorShuffle 2063 2061 4 5 2 3
+                              Store 2062 2064
+            2065:      6(int) Load 8(invocation)
+            2066:     72(ptr) AccessChain 27(data) 38 38
+            2067:   20(ivec4) Load 2066
+            2068:   81(ivec3) VectorShuffle 2067 2067 0 1 2
+            2069:  544(bvec3) SLessThan 2068 543
+            2070:  544(bvec3) GroupNonUniformLogicalXor 34 ExclusiveScan 2069
+            2071:   81(ivec3) Select 2070 547 543
+            2072:     72(ptr) AccessChain 27(data) 2065 38
+            2073:   20(ivec4) Load 2072
+            2074:   20(ivec4) VectorShuffle 2073 2071 4 5 6 3
+                              Store 2072 2074
+            2075:      6(int) Load 8(invocation)
+            2076:     72(ptr) AccessChain 27(data) 38 38
+            2077:   20(ivec4) Load 2076
+            2078:  556(bvec4) SLessThan 2077 555
+            2079:  556(bvec4) GroupNonUniformLogicalXor 34 ExclusiveScan 2078
+            2080:   20(ivec4) Select 2079 559 555
+            2081:     72(ptr) AccessChain 27(data) 2075 38
+                              Store 2081 2080
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroupBallot.comp.out b/Test/baseResults/spv.subgroupBallot.comp.out
new file mode 100644
index 0000000..539a66b
--- /dev/null
+++ b/Test/baseResults/spv.subgroupBallot.comp.out
@@ -0,0 +1,525 @@
+spv.subgroupBallot.comp
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 417
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformBallot
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main" 10 12 21 23 26 29 32
+                              ExecutionMode 4 LocalSize 8 8 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_ballot"
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              Name 4  "main"
+                              Name 8  "invocation"
+                              Name 10  "gl_SubgroupInvocationID"
+                              Name 12  "gl_SubgroupSize"
+                              Name 19  "relMask"
+                              Name 21  "gl_SubgroupEqMask"
+                              Name 23  "gl_SubgroupGeMask"
+                              Name 26  "gl_SubgroupGtMask"
+                              Name 29  "gl_SubgroupLeMask"
+                              Name 32  "gl_SubgroupLtMask"
+                              Name 35  "result"
+                              Name 46  "Buffers"
+                              MemberName 46(Buffers) 0  "f4"
+                              MemberName 46(Buffers) 1  "i4"
+                              MemberName 46(Buffers) 2  "u4"
+                              MemberName 46(Buffers) 3  "d4"
+                              Name 49  "data"
+                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 11 RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 13 RelaxedPrecision
+                              Decorate 14 RelaxedPrecision
+                              Decorate 16 RelaxedPrecision
+                              Decorate 21(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
+                              Decorate 23(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
+                              Decorate 26(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
+                              Decorate 29(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
+                              Decorate 32(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
+                              MemberDecorate 46(Buffers) 0 Offset 0
+                              MemberDecorate 46(Buffers) 1 Offset 16
+                              MemberDecorate 46(Buffers) 2 Offset 32
+                              MemberDecorate 46(Buffers) 3 Offset 64
+                              Decorate 46(Buffers) BufferBlock
+                              Decorate 49(data) DescriptorSet 0
+                              Decorate 49(data) Binding 0
+                              Decorate 416 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypePointer Input 6(int)
+10(gl_SubgroupInvocationID):      9(ptr) Variable Input
+12(gl_SubgroupSize):      9(ptr) Variable Input
+              15:      6(int) Constant 4
+              17:             TypeVector 6(int) 4
+              18:             TypePointer Function 17(ivec4)
+              20:             TypePointer Input 17(ivec4)
+21(gl_SubgroupEqMask):     20(ptr) Variable Input
+23(gl_SubgroupGeMask):     20(ptr) Variable Input
+26(gl_SubgroupGtMask):     20(ptr) Variable Input
+29(gl_SubgroupLeMask):     20(ptr) Variable Input
+32(gl_SubgroupLtMask):     20(ptr) Variable Input
+              36:             TypeBool
+              37:    36(bool) ConstantTrue
+              38:      6(int) Constant 3
+              40:             TypeFloat 32
+              41:             TypeVector 40(float) 4
+              42:             TypeInt 32 1
+              43:             TypeVector 42(int) 4
+              44:             TypeFloat 64
+              45:             TypeVector 44(float) 4
+     46(Buffers):             TypeStruct 41(fvec4) 43(ivec4) 17(ivec4) 45(fvec4)
+              47:             TypeArray 46(Buffers) 15
+              48:             TypePointer Uniform 47
+        49(data):     48(ptr) Variable Uniform
+              51:     42(int) Constant 2
+              54:      6(int) Constant 0
+              55:             TypePointer Uniform 6(int)
+              60:     42(int) Constant 1
+              61:     42(int) Constant 0
+              64:      6(int) Constant 1
+              72:      6(int) Constant 2
+              83:             TypeVector 36(bool) 4
+              88:             TypePointer Uniform 17(ivec4)
+              96:             TypePointer Uniform 40(float)
+             103:             TypeVector 40(float) 2
+             104:             TypePointer Uniform 41(fvec4)
+             114:             TypeVector 40(float) 3
+             124:     42(int) Constant 3
+             131:             TypePointer Uniform 42(int)
+             138:             TypeVector 42(int) 2
+             139:             TypePointer Uniform 43(ivec4)
+             149:             TypeVector 42(int) 3
+             171:             TypeVector 6(int) 2
+             181:             TypeVector 6(int) 3
+             197:             TypePointer Uniform 44(float)
+             204:             TypeVector 44(float) 2
+             205:             TypePointer Uniform 45(fvec4)
+             215:             TypeVector 44(float) 3
+             242:  138(ivec2) ConstantComposite 61 61
+             243:             TypeVector 36(bool) 2
+             247:  138(ivec2) ConstantComposite 60 60
+             256:  149(ivec3) ConstantComposite 61 61 61
+             257:             TypeVector 36(bool) 3
+             261:  149(ivec3) ConstantComposite 60 60 60
+             269:   43(ivec4) ConstantComposite 61 61 61 61
+             273:   43(ivec4) ConstantComposite 60 60 60 60
+             415:      6(int) Constant 8
+             416:  181(ivec3) ConstantComposite 415 415 64
+         4(main):           2 Function None 3
+               5:             Label
+   8(invocation):      7(ptr) Variable Function
+     19(relMask):     18(ptr) Variable Function
+      35(result):     18(ptr) Variable Function
+              11:      6(int) Load 10(gl_SubgroupInvocationID)
+              13:      6(int) Load 12(gl_SubgroupSize)
+              14:      6(int) IAdd 11 13
+              16:      6(int) UMod 14 15
+                              Store 8(invocation) 16
+              22:   17(ivec4) Load 21(gl_SubgroupEqMask)
+              24:   17(ivec4) Load 23(gl_SubgroupGeMask)
+              25:   17(ivec4) IAdd 22 24
+              27:   17(ivec4) Load 26(gl_SubgroupGtMask)
+              28:   17(ivec4) IAdd 25 27
+              30:   17(ivec4) Load 29(gl_SubgroupLeMask)
+              31:   17(ivec4) IAdd 28 30
+              33:   17(ivec4) Load 32(gl_SubgroupLtMask)
+              34:   17(ivec4) IAdd 31 33
+                              Store 19(relMask) 34
+              39:   17(ivec4) GroupNonUniformBallot 38 37
+                              Store 35(result) 39
+              50:      6(int) Load 8(invocation)
+              52:   17(ivec4) Load 35(result)
+              53:      6(int) GroupNonUniformBallotBitCount 38 Reduce 52
+              56:     55(ptr) AccessChain 49(data) 50 51 54
+                              Store 56 53
+              57:      6(int) Load 8(invocation)
+              58:   17(ivec4) Load 35(result)
+              59:    36(bool) GroupNonUniformBallotBitExtract 38 58 54
+              62:     42(int) Select 59 60 61
+              63:      6(int) Bitcast 62
+              65:     55(ptr) AccessChain 49(data) 57 51 64
+                              Store 65 63
+              66:      6(int) Load 8(invocation)
+              67:   17(ivec4) Load 35(result)
+              68:      6(int) GroupNonUniformBallotBitCount 38 InclusiveScan 67
+              69:   17(ivec4) Load 35(result)
+              70:      6(int) GroupNonUniformBallotBitCount 38 ExclusiveScan 69
+              71:      6(int) IAdd 68 70
+              73:     55(ptr) AccessChain 49(data) 66 51 72
+                              Store 73 71
+              74:      6(int) Load 8(invocation)
+              75:   17(ivec4) Load 35(result)
+              76:      6(int) GroupNonUniformBallotFindLSB 38 75
+              77:   17(ivec4) Load 35(result)
+              78:      6(int) GroupNonUniformBallotFindMSB 38 77
+              79:      6(int) IAdd 76 78
+              80:     55(ptr) AccessChain 49(data) 74 51 38
+                              Store 80 79
+              81:   17(ivec4) Load 19(relMask)
+              82:   17(ivec4) Load 35(result)
+              84:   83(bvec4) IEqual 81 82
+              85:    36(bool) All 84
+                              SelectionMerge 87 None
+                              BranchConditional 85 86 87
+              86:               Label
+              89:     88(ptr)   AccessChain 49(data) 61 51
+              90:   17(ivec4)   Load 89
+              91:    36(bool)   GroupNonUniformInverseBallot 38 90
+                                Branch 87
+              87:             Label
+              92:    36(bool) Phi 85 5 91 86
+                              SelectionMerge 94 None
+                              BranchConditional 92 93 276
+              93:               Label
+              95:      6(int)   Load 8(invocation)
+              97:     96(ptr)   AccessChain 49(data) 61 61 54
+              98:   40(float)   Load 97
+              99:      6(int)   Load 8(invocation)
+             100:   40(float)   GroupNonUniformBroadcast 38 98 99
+             101:     96(ptr)   AccessChain 49(data) 95 61 54
+                                Store 101 100
+             102:      6(int)   Load 8(invocation)
+             105:    104(ptr)   AccessChain 49(data) 60 61
+             106:   41(fvec4)   Load 105
+             107:  103(fvec2)   VectorShuffle 106 106 0 1
+             108:      6(int)   Load 8(invocation)
+             109:  103(fvec2)   GroupNonUniformBroadcast 38 107 108
+             110:    104(ptr)   AccessChain 49(data) 102 61
+             111:   41(fvec4)   Load 110
+             112:   41(fvec4)   VectorShuffle 111 109 4 5 2 3
+                                Store 110 112
+             113:      6(int)   Load 8(invocation)
+             115:    104(ptr)   AccessChain 49(data) 51 61
+             116:   41(fvec4)   Load 115
+             117:  114(fvec3)   VectorShuffle 116 116 0 1 2
+             118:      6(int)   Load 8(invocation)
+             119:  114(fvec3)   GroupNonUniformBroadcast 38 117 118
+             120:    104(ptr)   AccessChain 49(data) 113 61
+             121:   41(fvec4)   Load 120
+             122:   41(fvec4)   VectorShuffle 121 119 4 5 6 3
+                                Store 120 122
+             123:      6(int)   Load 8(invocation)
+             125:    104(ptr)   AccessChain 49(data) 124 61
+             126:   41(fvec4)   Load 125
+             127:      6(int)   Load 8(invocation)
+             128:   41(fvec4)   GroupNonUniformBroadcast 38 126 127
+             129:    104(ptr)   AccessChain 49(data) 123 61
+                                Store 129 128
+             130:      6(int)   Load 8(invocation)
+             132:    131(ptr)   AccessChain 49(data) 61 60 54
+             133:     42(int)   Load 132
+             134:      6(int)   Load 8(invocation)
+             135:     42(int)   GroupNonUniformBroadcast 38 133 134
+             136:    131(ptr)   AccessChain 49(data) 130 60 54
+                                Store 136 135
+             137:      6(int)   Load 8(invocation)
+             140:    139(ptr)   AccessChain 49(data) 60 60
+             141:   43(ivec4)   Load 140
+             142:  138(ivec2)   VectorShuffle 141 141 0 1
+             143:      6(int)   Load 8(invocation)
+             144:  138(ivec2)   GroupNonUniformBroadcast 38 142 143
+             145:    139(ptr)   AccessChain 49(data) 137 60
+             146:   43(ivec4)   Load 145
+             147:   43(ivec4)   VectorShuffle 146 144 4 5 2 3
+                                Store 145 147
+             148:      6(int)   Load 8(invocation)
+             150:    139(ptr)   AccessChain 49(data) 51 60
+             151:   43(ivec4)   Load 150
+             152:  149(ivec3)   VectorShuffle 151 151 0 1 2
+             153:      6(int)   Load 8(invocation)
+             154:  149(ivec3)   GroupNonUniformBroadcast 38 152 153
+             155:    139(ptr)   AccessChain 49(data) 148 60
+             156:   43(ivec4)   Load 155
+             157:   43(ivec4)   VectorShuffle 156 154 4 5 6 3
+                                Store 155 157
+             158:      6(int)   Load 8(invocation)
+             159:    139(ptr)   AccessChain 49(data) 124 60
+             160:   43(ivec4)   Load 159
+             161:      6(int)   Load 8(invocation)
+             162:   43(ivec4)   GroupNonUniformBroadcast 38 160 161
+             163:    139(ptr)   AccessChain 49(data) 158 60
+                                Store 163 162
+             164:      6(int)   Load 8(invocation)
+             165:     55(ptr)   AccessChain 49(data) 61 51 54
+             166:      6(int)   Load 165
+             167:      6(int)   Load 8(invocation)
+             168:      6(int)   GroupNonUniformBroadcast 38 166 167
+             169:     55(ptr)   AccessChain 49(data) 164 51 54
+                                Store 169 168
+             170:      6(int)   Load 8(invocation)
+             172:     88(ptr)   AccessChain 49(data) 60 51
+             173:   17(ivec4)   Load 172
+             174:  171(ivec2)   VectorShuffle 173 173 0 1
+             175:      6(int)   Load 8(invocation)
+             176:  171(ivec2)   GroupNonUniformBroadcast 38 174 175
+             177:     88(ptr)   AccessChain 49(data) 170 51
+             178:   17(ivec4)   Load 177
+             179:   17(ivec4)   VectorShuffle 178 176 4 5 2 3
+                                Store 177 179
+             180:      6(int)   Load 8(invocation)
+             182:     88(ptr)   AccessChain 49(data) 51 51
+             183:   17(ivec4)   Load 182
+             184:  181(ivec3)   VectorShuffle 183 183 0 1 2
+             185:      6(int)   Load 8(invocation)
+             186:  181(ivec3)   GroupNonUniformBroadcast 38 184 185
+             187:     88(ptr)   AccessChain 49(data) 180 51
+             188:   17(ivec4)   Load 187
+             189:   17(ivec4)   VectorShuffle 188 186 4 5 6 3
+                                Store 187 189
+             190:      6(int)   Load 8(invocation)
+             191:     88(ptr)   AccessChain 49(data) 124 51
+             192:   17(ivec4)   Load 191
+             193:      6(int)   Load 8(invocation)
+             194:   17(ivec4)   GroupNonUniformBroadcast 38 192 193
+             195:     88(ptr)   AccessChain 49(data) 190 51
+                                Store 195 194
+             196:      6(int)   Load 8(invocation)
+             198:    197(ptr)   AccessChain 49(data) 61 124 54
+             199:   44(float)   Load 198
+             200:      6(int)   Load 8(invocation)
+             201:   44(float)   GroupNonUniformBroadcast 38 199 200
+             202:    197(ptr)   AccessChain 49(data) 196 124 54
+                                Store 202 201
+             203:      6(int)   Load 8(invocation)
+             206:    205(ptr)   AccessChain 49(data) 60 124
+             207:   45(fvec4)   Load 206
+             208:  204(fvec2)   VectorShuffle 207 207 0 1
+             209:      6(int)   Load 8(invocation)
+             210:  204(fvec2)   GroupNonUniformBroadcast 38 208 209
+             211:    205(ptr)   AccessChain 49(data) 203 124
+             212:   45(fvec4)   Load 211
+             213:   45(fvec4)   VectorShuffle 212 210 4 5 2 3
+                                Store 211 213
+             214:      6(int)   Load 8(invocation)
+             216:    205(ptr)   AccessChain 49(data) 51 124
+             217:   45(fvec4)   Load 216
+             218:  215(fvec3)   VectorShuffle 217 217 0 1 2
+             219:      6(int)   Load 8(invocation)
+             220:  215(fvec3)   GroupNonUniformBroadcast 38 218 219
+             221:    205(ptr)   AccessChain 49(data) 214 124
+             222:   45(fvec4)   Load 221
+             223:   45(fvec4)   VectorShuffle 222 220 4 5 6 3
+                                Store 221 223
+             224:      6(int)   Load 8(invocation)
+             225:    205(ptr)   AccessChain 49(data) 124 124
+             226:   45(fvec4)   Load 225
+             227:      6(int)   Load 8(invocation)
+             228:   45(fvec4)   GroupNonUniformBroadcast 38 226 227
+             229:    205(ptr)   AccessChain 49(data) 224 124
+                                Store 229 228
+             230:      6(int)   Load 8(invocation)
+             231:    131(ptr)   AccessChain 49(data) 61 60 54
+             232:     42(int)   Load 231
+             233:    36(bool)   SLessThan 232 61
+             234:      6(int)   Load 8(invocation)
+             235:    36(bool)   GroupNonUniformBroadcast 38 233 234
+             236:     42(int)   Select 235 60 61
+             237:    131(ptr)   AccessChain 49(data) 230 60 54
+                                Store 237 236
+             238:      6(int)   Load 8(invocation)
+             239:    139(ptr)   AccessChain 49(data) 60 60
+             240:   43(ivec4)   Load 239
+             241:  138(ivec2)   VectorShuffle 240 240 0 1
+             244:  243(bvec2)   SLessThan 241 242
+             245:      6(int)   Load 8(invocation)
+             246:  243(bvec2)   GroupNonUniformBroadcast 38 244 245
+             248:  138(ivec2)   Select 246 247 242
+             249:    139(ptr)   AccessChain 49(data) 238 60
+             250:   43(ivec4)   Load 249
+             251:   43(ivec4)   VectorShuffle 250 248 4 5 2 3
+                                Store 249 251
+             252:      6(int)   Load 8(invocation)
+             253:    139(ptr)   AccessChain 49(data) 60 60
+             254:   43(ivec4)   Load 253
+             255:  149(ivec3)   VectorShuffle 254 254 0 1 2
+             258:  257(bvec3)   SLessThan 255 256
+             259:      6(int)   Load 8(invocation)
+             260:  257(bvec3)   GroupNonUniformBroadcast 38 258 259
+             262:  149(ivec3)   Select 260 261 256
+             263:    139(ptr)   AccessChain 49(data) 252 60
+             264:   43(ivec4)   Load 263
+             265:   43(ivec4)   VectorShuffle 264 262 4 5 6 3
+                                Store 263 265
+             266:      6(int)   Load 8(invocation)
+             267:    139(ptr)   AccessChain 49(data) 60 60
+             268:   43(ivec4)   Load 267
+             270:   83(bvec4)   SLessThan 268 269
+             271:      6(int)   Load 8(invocation)
+             272:   83(bvec4)   GroupNonUniformBroadcast 38 270 271
+             274:   43(ivec4)   Select 272 273 269
+             275:    139(ptr)   AccessChain 49(data) 266 60
+                                Store 275 274
+                                Branch 94
+             276:               Label
+             277:      6(int)   Load 8(invocation)
+             278:     96(ptr)   AccessChain 49(data) 61 61 54
+             279:   40(float)   Load 278
+             280:   40(float)   GroupNonUniformBroadcastFirst 38 279
+             281:     96(ptr)   AccessChain 49(data) 277 61 54
+                                Store 281 280
+             282:      6(int)   Load 8(invocation)
+             283:    104(ptr)   AccessChain 49(data) 60 61
+             284:   41(fvec4)   Load 283
+             285:  103(fvec2)   VectorShuffle 284 284 0 1
+             286:  103(fvec2)   GroupNonUniformBroadcastFirst 38 285
+             287:    104(ptr)   AccessChain 49(data) 282 61
+             288:   41(fvec4)   Load 287
+             289:   41(fvec4)   VectorShuffle 288 286 4 5 2 3
+                                Store 287 289
+             290:      6(int)   Load 8(invocation)
+             291:    104(ptr)   AccessChain 49(data) 51 61
+             292:   41(fvec4)   Load 291
+             293:  114(fvec3)   VectorShuffle 292 292 0 1 2
+             294:  114(fvec3)   GroupNonUniformBroadcastFirst 38 293
+             295:    104(ptr)   AccessChain 49(data) 290 61
+             296:   41(fvec4)   Load 295
+             297:   41(fvec4)   VectorShuffle 296 294 4 5 6 3
+                                Store 295 297
+             298:      6(int)   Load 8(invocation)
+             299:    104(ptr)   AccessChain 49(data) 124 61
+             300:   41(fvec4)   Load 299
+             301:   41(fvec4)   GroupNonUniformBroadcastFirst 38 300
+             302:    104(ptr)   AccessChain 49(data) 298 61
+                                Store 302 301
+             303:      6(int)   Load 8(invocation)
+             304:    131(ptr)   AccessChain 49(data) 61 60 54
+             305:     42(int)   Load 304
+             306:     42(int)   GroupNonUniformBroadcastFirst 38 305
+             307:    131(ptr)   AccessChain 49(data) 303 60 54
+                                Store 307 306
+             308:      6(int)   Load 8(invocation)
+             309:    139(ptr)   AccessChain 49(data) 60 60
+             310:   43(ivec4)   Load 309
+             311:  138(ivec2)   VectorShuffle 310 310 0 1
+             312:  138(ivec2)   GroupNonUniformBroadcastFirst 38 311
+             313:    139(ptr)   AccessChain 49(data) 308 60
+             314:   43(ivec4)   Load 313
+             315:   43(ivec4)   VectorShuffle 314 312 4 5 2 3
+                                Store 313 315
+             316:      6(int)   Load 8(invocation)
+             317:    139(ptr)   AccessChain 49(data) 51 60
+             318:   43(ivec4)   Load 317
+             319:  149(ivec3)   VectorShuffle 318 318 0 1 2
+             320:  149(ivec3)   GroupNonUniformBroadcastFirst 38 319
+             321:    139(ptr)   AccessChain 49(data) 316 60
+             322:   43(ivec4)   Load 321
+             323:   43(ivec4)   VectorShuffle 322 320 4 5 6 3
+                                Store 321 323
+             324:      6(int)   Load 8(invocation)
+             325:    139(ptr)   AccessChain 49(data) 124 60
+             326:   43(ivec4)   Load 325
+             327:   43(ivec4)   GroupNonUniformBroadcastFirst 38 326
+             328:    139(ptr)   AccessChain 49(data) 324 60
+                                Store 328 327
+             329:      6(int)   Load 8(invocation)
+             330:     55(ptr)   AccessChain 49(data) 61 51 54
+             331:      6(int)   Load 330
+             332:      6(int)   GroupNonUniformBroadcastFirst 38 331
+             333:     55(ptr)   AccessChain 49(data) 329 51 54
+                                Store 333 332
+             334:      6(int)   Load 8(invocation)
+             335:     88(ptr)   AccessChain 49(data) 60 51
+             336:   17(ivec4)   Load 335
+             337:  171(ivec2)   VectorShuffle 336 336 0 1
+             338:  171(ivec2)   GroupNonUniformBroadcastFirst 38 337
+             339:     88(ptr)   AccessChain 49(data) 334 51
+             340:   17(ivec4)   Load 339
+             341:   17(ivec4)   VectorShuffle 340 338 4 5 2 3
+                                Store 339 341
+             342:      6(int)   Load 8(invocation)
+             343:     88(ptr)   AccessChain 49(data) 51 51
+             344:   17(ivec4)   Load 343
+             345:  181(ivec3)   VectorShuffle 344 344 0 1 2
+             346:  181(ivec3)   GroupNonUniformBroadcastFirst 38 345
+             347:     88(ptr)   AccessChain 49(data) 342 51
+             348:   17(ivec4)   Load 347
+             349:   17(ivec4)   VectorShuffle 348 346 4 5 6 3
+                                Store 347 349
+             350:      6(int)   Load 8(invocation)
+             351:     88(ptr)   AccessChain 49(data) 124 51
+             352:   17(ivec4)   Load 351
+             353:   17(ivec4)   GroupNonUniformBroadcastFirst 38 352
+             354:     88(ptr)   AccessChain 49(data) 350 51
+                                Store 354 353
+             355:      6(int)   Load 8(invocation)
+             356:    197(ptr)   AccessChain 49(data) 61 124 54
+             357:   44(float)   Load 356
+             358:   44(float)   GroupNonUniformBroadcastFirst 38 357
+             359:    197(ptr)   AccessChain 49(data) 355 124 54
+                                Store 359 358
+             360:      6(int)   Load 8(invocation)
+             361:    205(ptr)   AccessChain 49(data) 60 124
+             362:   45(fvec4)   Load 361
+             363:  204(fvec2)   VectorShuffle 362 362 0 1
+             364:  204(fvec2)   GroupNonUniformBroadcastFirst 38 363
+             365:    205(ptr)   AccessChain 49(data) 360 124
+             366:   45(fvec4)   Load 365
+             367:   45(fvec4)   VectorShuffle 366 364 4 5 2 3
+                                Store 365 367
+             368:      6(int)   Load 8(invocation)
+             369:    205(ptr)   AccessChain 49(data) 51 124
+             370:   45(fvec4)   Load 369
+             371:  215(fvec3)   VectorShuffle 370 370 0 1 2
+             372:  215(fvec3)   GroupNonUniformBroadcastFirst 38 371
+             373:    205(ptr)   AccessChain 49(data) 368 124
+             374:   45(fvec4)   Load 373
+             375:   45(fvec4)   VectorShuffle 374 372 4 5 6 3
+                                Store 373 375
+             376:      6(int)   Load 8(invocation)
+             377:    205(ptr)   AccessChain 49(data) 124 124
+             378:   45(fvec4)   Load 377
+             379:   45(fvec4)   GroupNonUniformBroadcastFirst 38 378
+             380:    205(ptr)   AccessChain 49(data) 376 124
+                                Store 380 379
+             381:      6(int)   Load 8(invocation)
+             382:    131(ptr)   AccessChain 49(data) 61 60 54
+             383:     42(int)   Load 382
+             384:    36(bool)   SLessThan 383 61
+             385:    36(bool)   GroupNonUniformBroadcastFirst 38 384
+             386:     42(int)   Select 385 60 61
+             387:    131(ptr)   AccessChain 49(data) 381 60 54
+                                Store 387 386
+             388:      6(int)   Load 8(invocation)
+             389:    139(ptr)   AccessChain 49(data) 60 60
+             390:   43(ivec4)   Load 389
+             391:  138(ivec2)   VectorShuffle 390 390 0 1
+             392:  243(bvec2)   SLessThan 391 242
+             393:  243(bvec2)   GroupNonUniformBroadcastFirst 38 392
+             394:  138(ivec2)   Select 393 247 242
+             395:    139(ptr)   AccessChain 49(data) 388 60
+             396:   43(ivec4)   Load 395
+             397:   43(ivec4)   VectorShuffle 396 394 4 5 2 3
+                                Store 395 397
+             398:      6(int)   Load 8(invocation)
+             399:    139(ptr)   AccessChain 49(data) 60 60
+             400:   43(ivec4)   Load 399
+             401:  149(ivec3)   VectorShuffle 400 400 0 1 2
+             402:  257(bvec3)   SLessThan 401 256
+             403:  257(bvec3)   GroupNonUniformBroadcastFirst 38 402
+             404:  149(ivec3)   Select 403 261 256
+             405:    139(ptr)   AccessChain 49(data) 398 60
+             406:   43(ivec4)   Load 405
+             407:   43(ivec4)   VectorShuffle 406 404 4 5 6 3
+                                Store 405 407
+             408:      6(int)   Load 8(invocation)
+             409:    139(ptr)   AccessChain 49(data) 60 60
+             410:   43(ivec4)   Load 409
+             411:   83(bvec4)   SLessThan 410 269
+             412:   83(bvec4)   GroupNonUniformBroadcastFirst 38 411
+             413:   43(ivec4)   Select 412 273 269
+             414:    139(ptr)   AccessChain 49(data) 408 60
+                                Store 414 413
+                                Branch 94
+              94:             Label
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroupBasic.comp.out b/Test/baseResults/spv.subgroupBasic.comp.out
new file mode 100644
index 0000000..a0ad565
--- /dev/null
+++ b/Test/baseResults/spv.subgroupBasic.comp.out
@@ -0,0 +1,85 @@
+spv.subgroupBasic.comp
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 41
+
+                              Capability Shader
+                              Capability GroupNonUniform
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main" 14 19 22 25
+                              ExecutionMode 4 LocalSize 8 8 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              Name 4  "main"
+                              Name 8  "Buffer"
+                              MemberName 8(Buffer) 0  "a"
+                              Name 10  "data"
+                              Name 14  "gl_SubgroupSize"
+                              Name 19  "gl_SubgroupInvocationID"
+                              Name 22  "gl_NumSubgroups"
+                              Name 25  "gl_SubgroupID"
+                              Decorate 7 ArrayStride 4
+                              MemberDecorate 8(Buffer) 0 Offset 0
+                              Decorate 8(Buffer) BufferBlock
+                              Decorate 10(data) DescriptorSet 0
+                              Decorate 10(data) Binding 0
+                              Decorate 14(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 14(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 15 RelaxedPrecision
+                              Decorate 19(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 19(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 20 RelaxedPrecision
+                              Decorate 22(gl_NumSubgroups) BuiltIn NumSubgroups
+                              Decorate 25(gl_SubgroupID) BuiltIn SubgroupId
+                              Decorate 40 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypeRuntimeArray 6(int)
+       8(Buffer):             TypeStruct 7
+               9:             TypePointer Uniform 8(Buffer)
+        10(data):      9(ptr) Variable Uniform
+              11:      6(int) Constant 0
+              12:             TypeInt 32 0
+              13:             TypePointer Input 12(int)
+14(gl_SubgroupSize):     13(ptr) Variable Input
+              16:      6(int) Constant 1
+              17:             TypePointer Uniform 6(int)
+19(gl_SubgroupInvocationID):     13(ptr) Variable Input
+22(gl_NumSubgroups):     13(ptr) Variable Input
+25(gl_SubgroupID):     13(ptr) Variable Input
+              27:             TypeBool
+              28:     12(int) Constant 3
+              32:     12(int) Constant 1
+              33:     12(int) Constant 0
+              34:     12(int) Constant 4048
+              35:     12(int) Constant 64
+              36:     12(int) Constant 256
+              37:     12(int) Constant 2048
+              38:             TypeVector 12(int) 3
+              39:     12(int) Constant 8
+              40:   38(ivec3) ConstantComposite 39 39 32
+         4(main):           2 Function None 3
+               5:             Label
+              15:     12(int) Load 14(gl_SubgroupSize)
+              18:     17(ptr) AccessChain 10(data) 11 15
+                              Store 18 16
+              20:     12(int) Load 19(gl_SubgroupInvocationID)
+              21:     17(ptr) AccessChain 10(data) 11 20
+                              Store 21 16
+              23:     12(int) Load 22(gl_NumSubgroups)
+              24:     17(ptr) AccessChain 10(data) 11 23
+                              Store 24 16
+              26:     12(int) Load 25(gl_SubgroupID)
+              29:    27(bool) GroupNonUniformElect 28
+              30:      6(int) Select 29 16 11
+              31:     17(ptr) AccessChain 10(data) 11 26
+                              Store 31 30
+                              ControlBarrier 28 32 33
+                              MemoryBarrier 28 34
+                              MemoryBarrier 28 35
+                              MemoryBarrier 28 36
+                              MemoryBarrier 28 37
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroupClustered.comp.out b/Test/baseResults/spv.subgroupClustered.comp.out
new file mode 100644
index 0000000..d3f45b5
--- /dev/null
+++ b/Test/baseResults/spv.subgroupClustered.comp.out
@@ -0,0 +1,880 @@
+spv.subgroupClustered.comp
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 737
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformClustered
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main" 10 12
+                              ExecutionMode 4 LocalSize 8 1 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              SourceExtension  "GL_KHR_shader_subgroup_clustered"
+                              Name 4  "main"
+                              Name 8  "invocation"
+                              Name 10  "gl_SubgroupInvocationID"
+                              Name 12  "gl_SubgroupSize"
+                              Name 24  "Buffers"
+                              MemberName 24(Buffers) 0  "f4"
+                              MemberName 24(Buffers) 1  "i4"
+                              MemberName 24(Buffers) 2  "u4"
+                              MemberName 24(Buffers) 3  "d4"
+                              Name 27  "data"
+                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 11 RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 13 RelaxedPrecision
+                              Decorate 14 RelaxedPrecision
+                              Decorate 16 RelaxedPrecision
+                              MemberDecorate 24(Buffers) 0 Offset 0
+                              MemberDecorate 24(Buffers) 1 Offset 16
+                              MemberDecorate 24(Buffers) 2 Offset 32
+                              MemberDecorate 24(Buffers) 3 Offset 64
+                              Decorate 24(Buffers) BufferBlock
+                              Decorate 27(data) DescriptorSet 0
+                              Decorate 27(data) Binding 0
+                              Decorate 736 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypePointer Input 6(int)
+10(gl_SubgroupInvocationID):      9(ptr) Variable Input
+12(gl_SubgroupSize):      9(ptr) Variable Input
+              15:      6(int) Constant 4
+              17:             TypeFloat 32
+              18:             TypeVector 17(float) 4
+              19:             TypeInt 32 1
+              20:             TypeVector 19(int) 4
+              21:             TypeVector 6(int) 4
+              22:             TypeFloat 64
+              23:             TypeVector 22(float) 4
+     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(fvec4)
+              25:             TypeArray 24(Buffers) 15
+              26:             TypePointer Uniform 25
+        27(data):     26(ptr) Variable Uniform
+              29:     19(int) Constant 0
+              30:      6(int) Constant 0
+              31:             TypePointer Uniform 17(float)
+              34:      6(int) Constant 1
+              35:      6(int) Constant 3
+              39:     19(int) Constant 1
+              40:             TypeVector 17(float) 2
+              41:             TypePointer Uniform 18(fvec4)
+              50:     19(int) Constant 2
+              51:             TypeVector 17(float) 3
+              60:     19(int) Constant 3
+              66:             TypePointer Uniform 19(int)
+              72:             TypeVector 19(int) 2
+              73:             TypePointer Uniform 20(ivec4)
+              82:             TypeVector 19(int) 3
+              96:             TypePointer Uniform 6(int)
+             102:             TypeVector 6(int) 2
+             103:             TypePointer Uniform 21(ivec4)
+             112:             TypeVector 6(int) 3
+             126:             TypePointer Uniform 22(float)
+             132:             TypeVector 22(float) 2
+             133:             TypePointer Uniform 23(fvec4)
+             142:             TypeVector 22(float) 3
+             522:             TypeBool
+             531:   72(ivec2) ConstantComposite 29 29
+             532:             TypeVector 522(bool) 2
+             535:   72(ivec2) ConstantComposite 39 39
+             544:   82(ivec3) ConstantComposite 29 29 29
+             545:             TypeVector 522(bool) 3
+             548:   82(ivec3) ConstantComposite 39 39 39
+             556:   20(ivec4) ConstantComposite 29 29 29 29
+             557:             TypeVector 522(bool) 4
+             560:   20(ivec4) ConstantComposite 39 39 39 39
+             735:      6(int) Constant 8
+             736:  112(ivec3) ConstantComposite 735 34 34
+         4(main):           2 Function None 3
+               5:             Label
+   8(invocation):      7(ptr) Variable Function
+              11:      6(int) Load 10(gl_SubgroupInvocationID)
+              13:      6(int) Load 12(gl_SubgroupSize)
+              14:      6(int) IAdd 11 13
+              16:      6(int) UMod 14 15
+                              Store 8(invocation) 16
+              28:      6(int) Load 8(invocation)
+              32:     31(ptr) AccessChain 27(data) 29 29 30
+              33:   17(float) Load 32
+              36:   17(float) GroupNonUniformFAdd 35 ClusteredReduce 33 34
+              37:     31(ptr) AccessChain 27(data) 28 29 30
+                              Store 37 36
+              38:      6(int) Load 8(invocation)
+              42:     41(ptr) AccessChain 27(data) 39 29
+              43:   18(fvec4) Load 42
+              44:   40(fvec2) VectorShuffle 43 43 0 1
+              45:   40(fvec2) GroupNonUniformFAdd 35 ClusteredReduce 44 34
+              46:     41(ptr) AccessChain 27(data) 38 29
+              47:   18(fvec4) Load 46
+              48:   18(fvec4) VectorShuffle 47 45 4 5 2 3
+                              Store 46 48
+              49:      6(int) Load 8(invocation)
+              52:     41(ptr) AccessChain 27(data) 50 29
+              53:   18(fvec4) Load 52
+              54:   51(fvec3) VectorShuffle 53 53 0 1 2
+              55:   51(fvec3) GroupNonUniformFAdd 35 ClusteredReduce 54 34
+              56:     41(ptr) AccessChain 27(data) 49 29
+              57:   18(fvec4) Load 56
+              58:   18(fvec4) VectorShuffle 57 55 4 5 6 3
+                              Store 56 58
+              59:      6(int) Load 8(invocation)
+              61:     41(ptr) AccessChain 27(data) 60 29
+              62:   18(fvec4) Load 61
+              63:   18(fvec4) GroupNonUniformFAdd 35 ClusteredReduce 62 34
+              64:     41(ptr) AccessChain 27(data) 59 29
+                              Store 64 63
+              65:      6(int) Load 8(invocation)
+              67:     66(ptr) AccessChain 27(data) 29 39 30
+              68:     19(int) Load 67
+              69:     19(int) GroupNonUniformIAdd 35 ClusteredReduce 68 34
+              70:     66(ptr) AccessChain 27(data) 65 39 30
+                              Store 70 69
+              71:      6(int) Load 8(invocation)
+              74:     73(ptr) AccessChain 27(data) 39 39
+              75:   20(ivec4) Load 74
+              76:   72(ivec2) VectorShuffle 75 75 0 1
+              77:   72(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 76 34
+              78:     73(ptr) AccessChain 27(data) 71 39
+              79:   20(ivec4) Load 78
+              80:   20(ivec4) VectorShuffle 79 77 4 5 2 3
+                              Store 78 80
+              81:      6(int) Load 8(invocation)
+              83:     73(ptr) AccessChain 27(data) 50 39
+              84:   20(ivec4) Load 83
+              85:   82(ivec3) VectorShuffle 84 84 0 1 2
+              86:   82(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 85 34
+              87:     73(ptr) AccessChain 27(data) 81 39
+              88:   20(ivec4) Load 87
+              89:   20(ivec4) VectorShuffle 88 86 4 5 6 3
+                              Store 87 89
+              90:      6(int) Load 8(invocation)
+              91:     73(ptr) AccessChain 27(data) 60 39
+              92:   20(ivec4) Load 91
+              93:   20(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 92 34
+              94:     73(ptr) AccessChain 27(data) 90 39
+                              Store 94 93
+              95:      6(int) Load 8(invocation)
+              97:     96(ptr) AccessChain 27(data) 29 50 30
+              98:      6(int) Load 97
+              99:      6(int) GroupNonUniformIAdd 35 ClusteredReduce 98 34
+             100:     96(ptr) AccessChain 27(data) 95 50 30
+                              Store 100 99
+             101:      6(int) Load 8(invocation)
+             104:    103(ptr) AccessChain 27(data) 39 50
+             105:   21(ivec4) Load 104
+             106:  102(ivec2) VectorShuffle 105 105 0 1
+             107:  102(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 106 34
+             108:    103(ptr) AccessChain 27(data) 101 50
+             109:   21(ivec4) Load 108
+             110:   21(ivec4) VectorShuffle 109 107 4 5 2 3
+                              Store 108 110
+             111:      6(int) Load 8(invocation)
+             113:    103(ptr) AccessChain 27(data) 50 50
+             114:   21(ivec4) Load 113
+             115:  112(ivec3) VectorShuffle 114 114 0 1 2
+             116:  112(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 115 34
+             117:    103(ptr) AccessChain 27(data) 111 50
+             118:   21(ivec4) Load 117
+             119:   21(ivec4) VectorShuffle 118 116 4 5 6 3
+                              Store 117 119
+             120:      6(int) Load 8(invocation)
+             121:    103(ptr) AccessChain 27(data) 60 50
+             122:   21(ivec4) Load 121
+             123:   21(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 122 34
+             124:    103(ptr) AccessChain 27(data) 120 50
+                              Store 124 123
+             125:      6(int) Load 8(invocation)
+             127:    126(ptr) AccessChain 27(data) 29 60 30
+             128:   22(float) Load 127
+             129:   22(float) GroupNonUniformFAdd 35 ClusteredReduce 128 34
+             130:    126(ptr) AccessChain 27(data) 125 60 30
+                              Store 130 129
+             131:      6(int) Load 8(invocation)
+             134:    133(ptr) AccessChain 27(data) 39 60
+             135:   23(fvec4) Load 134
+             136:  132(fvec2) VectorShuffle 135 135 0 1
+             137:  132(fvec2) GroupNonUniformFAdd 35 ClusteredReduce 136 34
+             138:    133(ptr) AccessChain 27(data) 131 60
+             139:   23(fvec4) Load 138
+             140:   23(fvec4) VectorShuffle 139 137 4 5 2 3
+                              Store 138 140
+             141:      6(int) Load 8(invocation)
+             143:    133(ptr) AccessChain 27(data) 50 60
+             144:   23(fvec4) Load 143
+             145:  142(fvec3) VectorShuffle 144 144 0 1 2
+             146:  142(fvec3) GroupNonUniformFAdd 35 ClusteredReduce 145 34
+             147:    133(ptr) AccessChain 27(data) 141 60
+             148:   23(fvec4) Load 147
+             149:   23(fvec4) VectorShuffle 148 146 4 5 6 3
+                              Store 147 149
+             150:      6(int) Load 8(invocation)
+             151:    133(ptr) AccessChain 27(data) 60 60
+             152:   23(fvec4) Load 151
+             153:   23(fvec4) GroupNonUniformFAdd 35 ClusteredReduce 152 34
+             154:    133(ptr) AccessChain 27(data) 150 60
+                              Store 154 153
+             155:      6(int) Load 8(invocation)
+             156:     31(ptr) AccessChain 27(data) 29 29 30
+             157:   17(float) Load 156
+             158:   17(float) GroupNonUniformFMul 35 ClusteredReduce 157 34
+             159:     31(ptr) AccessChain 27(data) 155 29 30
+                              Store 159 158
+             160:      6(int) Load 8(invocation)
+             161:     41(ptr) AccessChain 27(data) 39 29
+             162:   18(fvec4) Load 161
+             163:   40(fvec2) VectorShuffle 162 162 0 1
+             164:   40(fvec2) GroupNonUniformFMul 35 ClusteredReduce 163 34
+             165:     41(ptr) AccessChain 27(data) 160 29
+             166:   18(fvec4) Load 165
+             167:   18(fvec4) VectorShuffle 166 164 4 5 2 3
+                              Store 165 167
+             168:      6(int) Load 8(invocation)
+             169:     41(ptr) AccessChain 27(data) 50 29
+             170:   18(fvec4) Load 169
+             171:   51(fvec3) VectorShuffle 170 170 0 1 2
+             172:   51(fvec3) GroupNonUniformFMul 35 ClusteredReduce 171 34
+             173:     41(ptr) AccessChain 27(data) 168 29
+             174:   18(fvec4) Load 173
+             175:   18(fvec4) VectorShuffle 174 172 4 5 6 3
+                              Store 173 175
+             176:      6(int) Load 8(invocation)
+             177:     41(ptr) AccessChain 27(data) 60 29
+             178:   18(fvec4) Load 177
+             179:   18(fvec4) GroupNonUniformFMul 35 ClusteredReduce 178 34
+             180:     41(ptr) AccessChain 27(data) 176 29
+                              Store 180 179
+             181:      6(int) Load 8(invocation)
+             182:     66(ptr) AccessChain 27(data) 29 39 30
+             183:     19(int) Load 182
+             184:     19(int) GroupNonUniformIMul 35 ClusteredReduce 183 34
+             185:     66(ptr) AccessChain 27(data) 181 39 30
+                              Store 185 184
+             186:      6(int) Load 8(invocation)
+             187:     73(ptr) AccessChain 27(data) 39 39
+             188:   20(ivec4) Load 187
+             189:   72(ivec2) VectorShuffle 188 188 0 1
+             190:   72(ivec2) GroupNonUniformIMul 35 ClusteredReduce 189 34
+             191:     73(ptr) AccessChain 27(data) 186 39
+             192:   20(ivec4) Load 191
+             193:   20(ivec4) VectorShuffle 192 190 4 5 2 3
+                              Store 191 193
+             194:      6(int) Load 8(invocation)
+             195:     73(ptr) AccessChain 27(data) 50 39
+             196:   20(ivec4) Load 195
+             197:   82(ivec3) VectorShuffle 196 196 0 1 2
+             198:   82(ivec3) GroupNonUniformIMul 35 ClusteredReduce 197 34
+             199:     73(ptr) AccessChain 27(data) 194 39
+             200:   20(ivec4) Load 199
+             201:   20(ivec4) VectorShuffle 200 198 4 5 6 3
+                              Store 199 201
+             202:      6(int) Load 8(invocation)
+             203:     73(ptr) AccessChain 27(data) 60 39
+             204:   20(ivec4) Load 203
+             205:   20(ivec4) GroupNonUniformIMul 35 ClusteredReduce 204 34
+             206:     73(ptr) AccessChain 27(data) 202 39
+                              Store 206 205
+             207:      6(int) Load 8(invocation)
+             208:     96(ptr) AccessChain 27(data) 29 50 30
+             209:      6(int) Load 208
+             210:      6(int) GroupNonUniformIMul 35 ClusteredReduce 209 34
+             211:     96(ptr) AccessChain 27(data) 207 50 30
+                              Store 211 210
+             212:      6(int) Load 8(invocation)
+             213:    103(ptr) AccessChain 27(data) 39 50
+             214:   21(ivec4) Load 213
+             215:  102(ivec2) VectorShuffle 214 214 0 1
+             216:  102(ivec2) GroupNonUniformIMul 35 ClusteredReduce 215 34
+             217:    103(ptr) AccessChain 27(data) 212 50
+             218:   21(ivec4) Load 217
+             219:   21(ivec4) VectorShuffle 218 216 4 5 2 3
+                              Store 217 219
+             220:      6(int) Load 8(invocation)
+             221:    103(ptr) AccessChain 27(data) 50 50
+             222:   21(ivec4) Load 221
+             223:  112(ivec3) VectorShuffle 222 222 0 1 2
+             224:  112(ivec3) GroupNonUniformIMul 35 ClusteredReduce 223 34
+             225:    103(ptr) AccessChain 27(data) 220 50
+             226:   21(ivec4) Load 225
+             227:   21(ivec4) VectorShuffle 226 224 4 5 6 3
+                              Store 225 227
+             228:      6(int) Load 8(invocation)
+             229:    103(ptr) AccessChain 27(data) 60 50
+             230:   21(ivec4) Load 229
+             231:   21(ivec4) GroupNonUniformIMul 35 ClusteredReduce 230 34
+             232:    103(ptr) AccessChain 27(data) 228 50
+                              Store 232 231
+             233:      6(int) Load 8(invocation)
+             234:    126(ptr) AccessChain 27(data) 29 60 30
+             235:   22(float) Load 234
+             236:   22(float) GroupNonUniformFMul 35 ClusteredReduce 235 34
+             237:    126(ptr) AccessChain 27(data) 233 60 30
+                              Store 237 236
+             238:      6(int) Load 8(invocation)
+             239:    133(ptr) AccessChain 27(data) 39 60
+             240:   23(fvec4) Load 239
+             241:  132(fvec2) VectorShuffle 240 240 0 1
+             242:  132(fvec2) GroupNonUniformFMul 35 ClusteredReduce 241 34
+             243:    133(ptr) AccessChain 27(data) 238 60
+             244:   23(fvec4) Load 243
+             245:   23(fvec4) VectorShuffle 244 242 4 5 2 3
+                              Store 243 245
+             246:      6(int) Load 8(invocation)
+             247:    133(ptr) AccessChain 27(data) 50 60
+             248:   23(fvec4) Load 247
+             249:  142(fvec3) VectorShuffle 248 248 0 1 2
+             250:  142(fvec3) GroupNonUniformFMul 35 ClusteredReduce 249 34
+             251:    133(ptr) AccessChain 27(data) 246 60
+             252:   23(fvec4) Load 251
+             253:   23(fvec4) VectorShuffle 252 250 4 5 6 3
+                              Store 251 253
+             254:      6(int) Load 8(invocation)
+             255:    133(ptr) AccessChain 27(data) 60 60
+             256:   23(fvec4) Load 255
+             257:   23(fvec4) GroupNonUniformFMul 35 ClusteredReduce 256 34
+             258:    133(ptr) AccessChain 27(data) 254 60
+                              Store 258 257
+             259:      6(int) Load 8(invocation)
+             260:     31(ptr) AccessChain 27(data) 29 29 30
+             261:   17(float) Load 260
+             262:   17(float) GroupNonUniformFMin 35 ClusteredReduce 261 34
+             263:     31(ptr) AccessChain 27(data) 259 29 30
+                              Store 263 262
+             264:      6(int) Load 8(invocation)
+             265:     41(ptr) AccessChain 27(data) 39 29
+             266:   18(fvec4) Load 265
+             267:   40(fvec2) VectorShuffle 266 266 0 1
+             268:   40(fvec2) GroupNonUniformFMin 35 ClusteredReduce 267 34
+             269:     41(ptr) AccessChain 27(data) 264 29
+             270:   18(fvec4) Load 269
+             271:   18(fvec4) VectorShuffle 270 268 4 5 2 3
+                              Store 269 271
+             272:      6(int) Load 8(invocation)
+             273:     41(ptr) AccessChain 27(data) 50 29
+             274:   18(fvec4) Load 273
+             275:   51(fvec3) VectorShuffle 274 274 0 1 2
+             276:   51(fvec3) GroupNonUniformFMin 35 ClusteredReduce 275 34
+             277:     41(ptr) AccessChain 27(data) 272 29
+             278:   18(fvec4) Load 277
+             279:   18(fvec4) VectorShuffle 278 276 4 5 6 3
+                              Store 277 279
+             280:      6(int) Load 8(invocation)
+             281:     41(ptr) AccessChain 27(data) 60 29
+             282:   18(fvec4) Load 281
+             283:   18(fvec4) GroupNonUniformFMin 35 ClusteredReduce 282 34
+             284:     41(ptr) AccessChain 27(data) 280 29
+                              Store 284 283
+             285:      6(int) Load 8(invocation)
+             286:     66(ptr) AccessChain 27(data) 29 39 30
+             287:     19(int) Load 286
+             288:     19(int) GroupNonUniformSMin 35 ClusteredReduce 287 34
+             289:     66(ptr) AccessChain 27(data) 285 39 30
+                              Store 289 288
+             290:      6(int) Load 8(invocation)
+             291:     73(ptr) AccessChain 27(data) 39 39
+             292:   20(ivec4) Load 291
+             293:   72(ivec2) VectorShuffle 292 292 0 1
+             294:   72(ivec2) GroupNonUniformSMin 35 ClusteredReduce 293 34
+             295:     73(ptr) AccessChain 27(data) 290 39
+             296:   20(ivec4) Load 295
+             297:   20(ivec4) VectorShuffle 296 294 4 5 2 3
+                              Store 295 297
+             298:      6(int) Load 8(invocation)
+             299:     73(ptr) AccessChain 27(data) 50 39
+             300:   20(ivec4) Load 299
+             301:   82(ivec3) VectorShuffle 300 300 0 1 2
+             302:   82(ivec3) GroupNonUniformSMin 35 ClusteredReduce 301 34
+             303:     73(ptr) AccessChain 27(data) 298 39
+             304:   20(ivec4) Load 303
+             305:   20(ivec4) VectorShuffle 304 302 4 5 6 3
+                              Store 303 305
+             306:      6(int) Load 8(invocation)
+             307:     73(ptr) AccessChain 27(data) 60 39
+             308:   20(ivec4) Load 307
+             309:   20(ivec4) GroupNonUniformSMin 35 ClusteredReduce 308 34
+             310:     73(ptr) AccessChain 27(data) 306 39
+                              Store 310 309
+             311:      6(int) Load 8(invocation)
+             312:     96(ptr) AccessChain 27(data) 29 50 30
+             313:      6(int) Load 312
+             314:      6(int) GroupNonUniformUMin 35 ClusteredReduce 313 34
+             315:     96(ptr) AccessChain 27(data) 311 50 30
+                              Store 315 314
+             316:      6(int) Load 8(invocation)
+             317:    103(ptr) AccessChain 27(data) 39 50
+             318:   21(ivec4) Load 317
+             319:  102(ivec2) VectorShuffle 318 318 0 1
+             320:  102(ivec2) GroupNonUniformUMin 35 ClusteredReduce 319 34
+             321:    103(ptr) AccessChain 27(data) 316 50
+             322:   21(ivec4) Load 321
+             323:   21(ivec4) VectorShuffle 322 320 4 5 2 3
+                              Store 321 323
+             324:      6(int) Load 8(invocation)
+             325:    103(ptr) AccessChain 27(data) 50 50
+             326:   21(ivec4) Load 325
+             327:  112(ivec3) VectorShuffle 326 326 0 1 2
+             328:  112(ivec3) GroupNonUniformUMin 35 ClusteredReduce 327 34
+             329:    103(ptr) AccessChain 27(data) 324 50
+             330:   21(ivec4) Load 329
+             331:   21(ivec4) VectorShuffle 330 328 4 5 6 3
+                              Store 329 331
+             332:      6(int) Load 8(invocation)
+             333:    103(ptr) AccessChain 27(data) 60 50
+             334:   21(ivec4) Load 333
+             335:   21(ivec4) GroupNonUniformUMin 35 ClusteredReduce 334 34
+             336:    103(ptr) AccessChain 27(data) 332 50
+                              Store 336 335
+             337:      6(int) Load 8(invocation)
+             338:    126(ptr) AccessChain 27(data) 29 60 30
+             339:   22(float) Load 338
+             340:   22(float) GroupNonUniformFMin 35 ClusteredReduce 339 34
+             341:    126(ptr) AccessChain 27(data) 337 60 30
+                              Store 341 340
+             342:      6(int) Load 8(invocation)
+             343:    133(ptr) AccessChain 27(data) 39 60
+             344:   23(fvec4) Load 343
+             345:  132(fvec2) VectorShuffle 344 344 0 1
+             346:  132(fvec2) GroupNonUniformFMin 35 ClusteredReduce 345 34
+             347:    133(ptr) AccessChain 27(data) 342 60
+             348:   23(fvec4) Load 347
+             349:   23(fvec4) VectorShuffle 348 346 4 5 2 3
+                              Store 347 349
+             350:      6(int) Load 8(invocation)
+             351:    133(ptr) AccessChain 27(data) 50 60
+             352:   23(fvec4) Load 351
+             353:  142(fvec3) VectorShuffle 352 352 0 1 2
+             354:  142(fvec3) GroupNonUniformFMin 35 ClusteredReduce 353 34
+             355:    133(ptr) AccessChain 27(data) 350 60
+             356:   23(fvec4) Load 355
+             357:   23(fvec4) VectorShuffle 356 354 4 5 6 3
+                              Store 355 357
+             358:      6(int) Load 8(invocation)
+             359:    133(ptr) AccessChain 27(data) 60 60
+             360:   23(fvec4) Load 359
+             361:   23(fvec4) GroupNonUniformFMin 35 ClusteredReduce 360 34
+             362:    133(ptr) AccessChain 27(data) 358 60
+                              Store 362 361
+             363:      6(int) Load 8(invocation)
+             364:     31(ptr) AccessChain 27(data) 29 29 30
+             365:   17(float) Load 364
+             366:   17(float) GroupNonUniformFMax 35 ClusteredReduce 365 34
+             367:     31(ptr) AccessChain 27(data) 363 29 30
+                              Store 367 366
+             368:      6(int) Load 8(invocation)
+             369:     41(ptr) AccessChain 27(data) 39 29
+             370:   18(fvec4) Load 369
+             371:   40(fvec2) VectorShuffle 370 370 0 1
+             372:   40(fvec2) GroupNonUniformFMax 35 ClusteredReduce 371 34
+             373:     41(ptr) AccessChain 27(data) 368 29
+             374:   18(fvec4) Load 373
+             375:   18(fvec4) VectorShuffle 374 372 4 5 2 3
+                              Store 373 375
+             376:      6(int) Load 8(invocation)
+             377:     41(ptr) AccessChain 27(data) 50 29
+             378:   18(fvec4) Load 377
+             379:   51(fvec3) VectorShuffle 378 378 0 1 2
+             380:   51(fvec3) GroupNonUniformFMax 35 ClusteredReduce 379 34
+             381:     41(ptr) AccessChain 27(data) 376 29
+             382:   18(fvec4) Load 381
+             383:   18(fvec4) VectorShuffle 382 380 4 5 6 3
+                              Store 381 383
+             384:      6(int) Load 8(invocation)
+             385:     41(ptr) AccessChain 27(data) 60 29
+             386:   18(fvec4) Load 385
+             387:   18(fvec4) GroupNonUniformFMax 35 ClusteredReduce 386 34
+             388:     41(ptr) AccessChain 27(data) 384 29
+                              Store 388 387
+             389:      6(int) Load 8(invocation)
+             390:     66(ptr) AccessChain 27(data) 29 39 30
+             391:     19(int) Load 390
+             392:     19(int) GroupNonUniformSMax 35 ClusteredReduce 391 34
+             393:     66(ptr) AccessChain 27(data) 389 39 30
+                              Store 393 392
+             394:      6(int) Load 8(invocation)
+             395:     73(ptr) AccessChain 27(data) 39 39
+             396:   20(ivec4) Load 395
+             397:   72(ivec2) VectorShuffle 396 396 0 1
+             398:   72(ivec2) GroupNonUniformSMax 35 ClusteredReduce 397 34
+             399:     73(ptr) AccessChain 27(data) 394 39
+             400:   20(ivec4) Load 399
+             401:   20(ivec4) VectorShuffle 400 398 4 5 2 3
+                              Store 399 401
+             402:      6(int) Load 8(invocation)
+             403:     73(ptr) AccessChain 27(data) 50 39
+             404:   20(ivec4) Load 403
+             405:   82(ivec3) VectorShuffle 404 404 0 1 2
+             406:   82(ivec3) GroupNonUniformSMax 35 ClusteredReduce 405 34
+             407:     73(ptr) AccessChain 27(data) 402 39
+             408:   20(ivec4) Load 407
+             409:   20(ivec4) VectorShuffle 408 406 4 5 6 3
+                              Store 407 409
+             410:      6(int) Load 8(invocation)
+             411:     73(ptr) AccessChain 27(data) 60 39
+             412:   20(ivec4) Load 411
+             413:   20(ivec4) GroupNonUniformSMax 35 ClusteredReduce 412 34
+             414:     73(ptr) AccessChain 27(data) 410 39
+                              Store 414 413
+             415:      6(int) Load 8(invocation)
+             416:     96(ptr) AccessChain 27(data) 29 50 30
+             417:      6(int) Load 416
+             418:      6(int) GroupNonUniformUMax 35 ClusteredReduce 417 34
+             419:     96(ptr) AccessChain 27(data) 415 50 30
+                              Store 419 418
+             420:      6(int) Load 8(invocation)
+             421:    103(ptr) AccessChain 27(data) 39 50
+             422:   21(ivec4) Load 421
+             423:  102(ivec2) VectorShuffle 422 422 0 1
+             424:  102(ivec2) GroupNonUniformUMax 35 ClusteredReduce 423 34
+             425:    103(ptr) AccessChain 27(data) 420 50
+             426:   21(ivec4) Load 425
+             427:   21(ivec4) VectorShuffle 426 424 4 5 2 3
+                              Store 425 427
+             428:      6(int) Load 8(invocation)
+             429:    103(ptr) AccessChain 27(data) 50 50
+             430:   21(ivec4) Load 429
+             431:  112(ivec3) VectorShuffle 430 430 0 1 2
+             432:  112(ivec3) GroupNonUniformUMax 35 ClusteredReduce 431 34
+             433:    103(ptr) AccessChain 27(data) 428 50
+             434:   21(ivec4) Load 433
+             435:   21(ivec4) VectorShuffle 434 432 4 5 6 3
+                              Store 433 435
+             436:      6(int) Load 8(invocation)
+             437:    103(ptr) AccessChain 27(data) 60 50
+             438:   21(ivec4) Load 437
+             439:   21(ivec4) GroupNonUniformUMax 35 ClusteredReduce 438 34
+             440:    103(ptr) AccessChain 27(data) 436 50
+                              Store 440 439
+             441:      6(int) Load 8(invocation)
+             442:    126(ptr) AccessChain 27(data) 29 60 30
+             443:   22(float) Load 442
+             444:   22(float) GroupNonUniformFMax 35 ClusteredReduce 443 34
+             445:    126(ptr) AccessChain 27(data) 441 60 30
+                              Store 445 444
+             446:      6(int) Load 8(invocation)
+             447:    133(ptr) AccessChain 27(data) 39 60
+             448:   23(fvec4) Load 447
+             449:  132(fvec2) VectorShuffle 448 448 0 1
+             450:  132(fvec2) GroupNonUniformFMax 35 ClusteredReduce 449 34
+             451:    133(ptr) AccessChain 27(data) 446 60
+             452:   23(fvec4) Load 451
+             453:   23(fvec4) VectorShuffle 452 450 4 5 2 3
+                              Store 451 453
+             454:      6(int) Load 8(invocation)
+             455:    133(ptr) AccessChain 27(data) 50 60
+             456:   23(fvec4) Load 455
+             457:  142(fvec3) VectorShuffle 456 456 0 1 2
+             458:  142(fvec3) GroupNonUniformFMax 35 ClusteredReduce 457 34
+             459:    133(ptr) AccessChain 27(data) 454 60
+             460:   23(fvec4) Load 459
+             461:   23(fvec4) VectorShuffle 460 458 4 5 6 3
+                              Store 459 461
+             462:      6(int) Load 8(invocation)
+             463:    133(ptr) AccessChain 27(data) 60 60
+             464:   23(fvec4) Load 463
+             465:   23(fvec4) GroupNonUniformFMax 35 ClusteredReduce 464 34
+             466:    133(ptr) AccessChain 27(data) 462 60
+                              Store 466 465
+             467:      6(int) Load 8(invocation)
+             468:     66(ptr) AccessChain 27(data) 29 39 30
+             469:     19(int) Load 468
+             470:     19(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 469 34
+             471:     66(ptr) AccessChain 27(data) 467 39 30
+                              Store 471 470
+             472:      6(int) Load 8(invocation)
+             473:     73(ptr) AccessChain 27(data) 39 39
+             474:   20(ivec4) Load 473
+             475:   72(ivec2) VectorShuffle 474 474 0 1
+             476:   72(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 475 34
+             477:     73(ptr) AccessChain 27(data) 472 39
+             478:   20(ivec4) Load 477
+             479:   20(ivec4) VectorShuffle 478 476 4 5 2 3
+                              Store 477 479
+             480:      6(int) Load 8(invocation)
+             481:     73(ptr) AccessChain 27(data) 50 39
+             482:   20(ivec4) Load 481
+             483:   82(ivec3) VectorShuffle 482 482 0 1 2
+             484:   82(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 483 34
+             485:     73(ptr) AccessChain 27(data) 480 39
+             486:   20(ivec4) Load 485
+             487:   20(ivec4) VectorShuffle 486 484 4 5 6 3
+                              Store 485 487
+             488:      6(int) Load 8(invocation)
+             489:     73(ptr) AccessChain 27(data) 60 39
+             490:   20(ivec4) Load 489
+             491:   20(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 490 34
+             492:     73(ptr) AccessChain 27(data) 488 39
+                              Store 492 491
+             493:      6(int) Load 8(invocation)
+             494:     96(ptr) AccessChain 27(data) 29 50 30
+             495:      6(int) Load 494
+             496:      6(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 495 34
+             497:     96(ptr) AccessChain 27(data) 493 50 30
+                              Store 497 496
+             498:      6(int) Load 8(invocation)
+             499:    103(ptr) AccessChain 27(data) 39 50
+             500:   21(ivec4) Load 499
+             501:  102(ivec2) VectorShuffle 500 500 0 1
+             502:  102(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 501 34
+             503:    103(ptr) AccessChain 27(data) 498 50
+             504:   21(ivec4) Load 503
+             505:   21(ivec4) VectorShuffle 504 502 4 5 2 3
+                              Store 503 505
+             506:      6(int) Load 8(invocation)
+             507:    103(ptr) AccessChain 27(data) 50 50
+             508:   21(ivec4) Load 507
+             509:  112(ivec3) VectorShuffle 508 508 0 1 2
+             510:  112(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 509 34
+             511:    103(ptr) AccessChain 27(data) 506 50
+             512:   21(ivec4) Load 511
+             513:   21(ivec4) VectorShuffle 512 510 4 5 6 3
+                              Store 511 513
+             514:      6(int) Load 8(invocation)
+             515:    103(ptr) AccessChain 27(data) 60 50
+             516:   21(ivec4) Load 515
+             517:   21(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 516 34
+             518:    103(ptr) AccessChain 27(data) 514 50
+                              Store 518 517
+             519:      6(int) Load 8(invocation)
+             520:     66(ptr) AccessChain 27(data) 29 39 30
+             521:     19(int) Load 520
+             523:   522(bool) SLessThan 521 29
+             524:   522(bool) GroupNonUniformLogicalAnd 35 ClusteredReduce 523 34
+             525:     19(int) Select 524 39 29
+             526:     66(ptr) AccessChain 27(data) 519 39 30
+                              Store 526 525
+             527:      6(int) Load 8(invocation)
+             528:     73(ptr) AccessChain 27(data) 39 39
+             529:   20(ivec4) Load 528
+             530:   72(ivec2) VectorShuffle 529 529 0 1
+             533:  532(bvec2) SLessThan 530 531
+             534:  532(bvec2) GroupNonUniformLogicalAnd 35 ClusteredReduce 533 34
+             536:   72(ivec2) Select 534 535 531
+             537:     73(ptr) AccessChain 27(data) 527 39
+             538:   20(ivec4) Load 537
+             539:   20(ivec4) VectorShuffle 538 536 4 5 2 3
+                              Store 537 539
+             540:      6(int) Load 8(invocation)
+             541:     73(ptr) AccessChain 27(data) 39 39
+             542:   20(ivec4) Load 541
+             543:   82(ivec3) VectorShuffle 542 542 0 1 2
+             546:  545(bvec3) SLessThan 543 544
+             547:  545(bvec3) GroupNonUniformLogicalAnd 35 ClusteredReduce 546 34
+             549:   82(ivec3) Select 547 548 544
+             550:     73(ptr) AccessChain 27(data) 540 39
+             551:   20(ivec4) Load 550
+             552:   20(ivec4) VectorShuffle 551 549 4 5 6 3
+                              Store 550 552
+             553:      6(int) Load 8(invocation)
+             554:     73(ptr) AccessChain 27(data) 39 39
+             555:   20(ivec4) Load 554
+             558:  557(bvec4) SLessThan 555 556
+             559:  557(bvec4) GroupNonUniformLogicalAnd 35 ClusteredReduce 558 34
+             561:   20(ivec4) Select 559 560 556
+             562:     73(ptr) AccessChain 27(data) 553 39
+                              Store 562 561
+             563:      6(int) Load 8(invocation)
+             564:     66(ptr) AccessChain 27(data) 29 39 30
+             565:     19(int) Load 564
+             566:     19(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 565 34
+             567:     66(ptr) AccessChain 27(data) 563 39 30
+                              Store 567 566
+             568:      6(int) Load 8(invocation)
+             569:     73(ptr) AccessChain 27(data) 39 39
+             570:   20(ivec4) Load 569
+             571:   72(ivec2) VectorShuffle 570 570 0 1
+             572:   72(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 571 34
+             573:     73(ptr) AccessChain 27(data) 568 39
+             574:   20(ivec4) Load 573
+             575:   20(ivec4) VectorShuffle 574 572 4 5 2 3
+                              Store 573 575
+             576:      6(int) Load 8(invocation)
+             577:     73(ptr) AccessChain 27(data) 50 39
+             578:   20(ivec4) Load 577
+             579:   82(ivec3) VectorShuffle 578 578 0 1 2
+             580:   82(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 579 34
+             581:     73(ptr) AccessChain 27(data) 576 39
+             582:   20(ivec4) Load 581
+             583:   20(ivec4) VectorShuffle 582 580 4 5 6 3
+                              Store 581 583
+             584:      6(int) Load 8(invocation)
+             585:     73(ptr) AccessChain 27(data) 60 39
+             586:   20(ivec4) Load 585
+             587:   20(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 586 34
+             588:     73(ptr) AccessChain 27(data) 584 39
+                              Store 588 587
+             589:      6(int) Load 8(invocation)
+             590:     96(ptr) AccessChain 27(data) 29 50 30
+             591:      6(int) Load 590
+             592:      6(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 591 34
+             593:     96(ptr) AccessChain 27(data) 589 50 30
+                              Store 593 592
+             594:      6(int) Load 8(invocation)
+             595:    103(ptr) AccessChain 27(data) 39 50
+             596:   21(ivec4) Load 595
+             597:  102(ivec2) VectorShuffle 596 596 0 1
+             598:  102(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 597 34
+             599:    103(ptr) AccessChain 27(data) 594 50
+             600:   21(ivec4) Load 599
+             601:   21(ivec4) VectorShuffle 600 598 4 5 2 3
+                              Store 599 601
+             602:      6(int) Load 8(invocation)
+             603:    103(ptr) AccessChain 27(data) 50 50
+             604:   21(ivec4) Load 603
+             605:  112(ivec3) VectorShuffle 604 604 0 1 2
+             606:  112(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 605 34
+             607:    103(ptr) AccessChain 27(data) 602 50
+             608:   21(ivec4) Load 607
+             609:   21(ivec4) VectorShuffle 608 606 4 5 6 3
+                              Store 607 609
+             610:      6(int) Load 8(invocation)
+             611:    103(ptr) AccessChain 27(data) 60 50
+             612:   21(ivec4) Load 611
+             613:   21(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 612 34
+             614:    103(ptr) AccessChain 27(data) 610 50
+                              Store 614 613
+             615:      6(int) Load 8(invocation)
+             616:     66(ptr) AccessChain 27(data) 29 39 30
+             617:     19(int) Load 616
+             618:   522(bool) SLessThan 617 29
+             619:   522(bool) GroupNonUniformLogicalOr 35 ClusteredReduce 618 34
+             620:     19(int) Select 619 39 29
+             621:     66(ptr) AccessChain 27(data) 615 39 30
+                              Store 621 620
+             622:      6(int) Load 8(invocation)
+             623:     73(ptr) AccessChain 27(data) 39 39
+             624:   20(ivec4) Load 623
+             625:   72(ivec2) VectorShuffle 624 624 0 1
+             626:  532(bvec2) SLessThan 625 531
+             627:  532(bvec2) GroupNonUniformLogicalOr 35 ClusteredReduce 626 34
+             628:   72(ivec2) Select 627 535 531
+             629:     73(ptr) AccessChain 27(data) 622 39
+             630:   20(ivec4) Load 629
+             631:   20(ivec4) VectorShuffle 630 628 4 5 2 3
+                              Store 629 631
+             632:      6(int) Load 8(invocation)
+             633:     73(ptr) AccessChain 27(data) 39 39
+             634:   20(ivec4) Load 633
+             635:   82(ivec3) VectorShuffle 634 634 0 1 2
+             636:  545(bvec3) SLessThan 635 544
+             637:  545(bvec3) GroupNonUniformLogicalOr 35 ClusteredReduce 636 34
+             638:   82(ivec3) Select 637 548 544
+             639:     73(ptr) AccessChain 27(data) 632 39
+             640:   20(ivec4) Load 639
+             641:   20(ivec4) VectorShuffle 640 638 4 5 6 3
+                              Store 639 641
+             642:      6(int) Load 8(invocation)
+             643:     73(ptr) AccessChain 27(data) 39 39
+             644:   20(ivec4) Load 643
+             645:  557(bvec4) SLessThan 644 556
+             646:  557(bvec4) GroupNonUniformLogicalOr 35 ClusteredReduce 645 34
+             647:   20(ivec4) Select 646 560 556
+             648:     73(ptr) AccessChain 27(data) 642 39
+                              Store 648 647
+             649:      6(int) Load 8(invocation)
+             650:     66(ptr) AccessChain 27(data) 29 39 30
+             651:     19(int) Load 650
+             652:     19(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 651 34
+             653:     66(ptr) AccessChain 27(data) 649 39 30
+                              Store 653 652
+             654:      6(int) Load 8(invocation)
+             655:     73(ptr) AccessChain 27(data) 39 39
+             656:   20(ivec4) Load 655
+             657:   72(ivec2) VectorShuffle 656 656 0 1
+             658:   72(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 657 34
+             659:     73(ptr) AccessChain 27(data) 654 39
+             660:   20(ivec4) Load 659
+             661:   20(ivec4) VectorShuffle 660 658 4 5 2 3
+                              Store 659 661
+             662:      6(int) Load 8(invocation)
+             663:     73(ptr) AccessChain 27(data) 50 39
+             664:   20(ivec4) Load 663
+             665:   82(ivec3) VectorShuffle 664 664 0 1 2
+             666:   82(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 665 34
+             667:     73(ptr) AccessChain 27(data) 662 39
+             668:   20(ivec4) Load 667
+             669:   20(ivec4) VectorShuffle 668 666 4 5 6 3
+                              Store 667 669
+             670:      6(int) Load 8(invocation)
+             671:     73(ptr) AccessChain 27(data) 60 39
+             672:   20(ivec4) Load 671
+             673:   20(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 672 34
+             674:     73(ptr) AccessChain 27(data) 670 39
+                              Store 674 673
+             675:      6(int) Load 8(invocation)
+             676:     96(ptr) AccessChain 27(data) 29 50 30
+             677:      6(int) Load 676
+             678:      6(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 677 34
+             679:     96(ptr) AccessChain 27(data) 675 50 30
+                              Store 679 678
+             680:      6(int) Load 8(invocation)
+             681:    103(ptr) AccessChain 27(data) 39 50
+             682:   21(ivec4) Load 681
+             683:  102(ivec2) VectorShuffle 682 682 0 1
+             684:  102(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 683 34
+             685:    103(ptr) AccessChain 27(data) 680 50
+             686:   21(ivec4) Load 685
+             687:   21(ivec4) VectorShuffle 686 684 4 5 2 3
+                              Store 685 687
+             688:      6(int) Load 8(invocation)
+             689:    103(ptr) AccessChain 27(data) 50 50
+             690:   21(ivec4) Load 689
+             691:  112(ivec3) VectorShuffle 690 690 0 1 2
+             692:  112(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 691 34
+             693:    103(ptr) AccessChain 27(data) 688 50
+             694:   21(ivec4) Load 693
+             695:   21(ivec4) VectorShuffle 694 692 4 5 6 3
+                              Store 693 695
+             696:      6(int) Load 8(invocation)
+             697:    103(ptr) AccessChain 27(data) 60 50
+             698:   21(ivec4) Load 697
+             699:   21(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 698 34
+             700:    103(ptr) AccessChain 27(data) 696 50
+                              Store 700 699
+             701:      6(int) Load 8(invocation)
+             702:     66(ptr) AccessChain 27(data) 29 39 30
+             703:     19(int) Load 702
+             704:   522(bool) SLessThan 703 29
+             705:   522(bool) GroupNonUniformLogicalXor 35 ClusteredReduce 704 34
+             706:     19(int) Select 705 39 29
+             707:     66(ptr) AccessChain 27(data) 701 39 30
+                              Store 707 706
+             708:      6(int) Load 8(invocation)
+             709:     73(ptr) AccessChain 27(data) 39 39
+             710:   20(ivec4) Load 709
+             711:   72(ivec2) VectorShuffle 710 710 0 1
+             712:  532(bvec2) SLessThan 711 531
+             713:  532(bvec2) GroupNonUniformLogicalXor 35 ClusteredReduce 712 34
+             714:   72(ivec2) Select 713 535 531
+             715:     73(ptr) AccessChain 27(data) 708 39
+             716:   20(ivec4) Load 715
+             717:   20(ivec4) VectorShuffle 716 714 4 5 2 3
+                              Store 715 717
+             718:      6(int) Load 8(invocation)
+             719:     73(ptr) AccessChain 27(data) 39 39
+             720:   20(ivec4) Load 719
+             721:   82(ivec3) VectorShuffle 720 720 0 1 2
+             722:  545(bvec3) SLessThan 721 544
+             723:  545(bvec3) GroupNonUniformLogicalXor 35 ClusteredReduce 722 34
+             724:   82(ivec3) Select 723 548 544
+             725:     73(ptr) AccessChain 27(data) 718 39
+             726:   20(ivec4) Load 725
+             727:   20(ivec4) VectorShuffle 726 724 4 5 6 3
+                              Store 725 727
+             728:      6(int) Load 8(invocation)
+             729:     73(ptr) AccessChain 27(data) 39 39
+             730:   20(ivec4) Load 729
+             731:  557(bvec4) SLessThan 730 556
+             732:  557(bvec4) GroupNonUniformLogicalXor 35 ClusteredReduce 731 34
+             733:   20(ivec4) Select 732 560 556
+             734:     73(ptr) AccessChain 27(data) 728 39
+                              Store 734 733
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroupQuad.comp.out b/Test/baseResults/spv.subgroupQuad.comp.out
new file mode 100644
index 0000000..97a082a
--- /dev/null
+++ b/Test/baseResults/spv.subgroupQuad.comp.out
@@ -0,0 +1,739 @@
+spv.subgroupQuad.comp
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 616
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformQuad
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main" 10 12
+                              ExecutionMode 4 LocalSize 8 1 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              SourceExtension  "GL_KHR_shader_subgroup_quad"
+                              Name 4  "main"
+                              Name 8  "invocation"
+                              Name 10  "gl_SubgroupInvocationID"
+                              Name 12  "gl_SubgroupSize"
+                              Name 24  "Buffers"
+                              MemberName 24(Buffers) 0  "f4"
+                              MemberName 24(Buffers) 1  "i4"
+                              MemberName 24(Buffers) 2  "u4"
+                              MemberName 24(Buffers) 3  "d4"
+                              Name 27  "data"
+                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 11 RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 13 RelaxedPrecision
+                              Decorate 14 RelaxedPrecision
+                              Decorate 16 RelaxedPrecision
+                              MemberDecorate 24(Buffers) 0 Offset 0
+                              MemberDecorate 24(Buffers) 1 Offset 16
+                              MemberDecorate 24(Buffers) 2 Offset 32
+                              MemberDecorate 24(Buffers) 3 Offset 64
+                              Decorate 24(Buffers) BufferBlock
+                              Decorate 27(data) DescriptorSet 0
+                              Decorate 27(data) Binding 0
+                              Decorate 615 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypePointer Input 6(int)
+10(gl_SubgroupInvocationID):      9(ptr) Variable Input
+12(gl_SubgroupSize):      9(ptr) Variable Input
+              15:      6(int) Constant 4
+              17:             TypeFloat 32
+              18:             TypeVector 17(float) 4
+              19:             TypeInt 32 1
+              20:             TypeVector 19(int) 4
+              21:             TypeVector 6(int) 4
+              22:             TypeFloat 64
+              23:             TypeVector 22(float) 4
+     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(fvec4)
+              25:             TypeArray 24(Buffers) 15
+              26:             TypePointer Uniform 25
+        27(data):     26(ptr) Variable Uniform
+              29:     19(int) Constant 0
+              30:      6(int) Constant 0
+              31:             TypePointer Uniform 17(float)
+              34:      6(int) Constant 1
+              35:      6(int) Constant 3
+              39:     19(int) Constant 1
+              40:             TypeVector 17(float) 2
+              41:             TypePointer Uniform 18(fvec4)
+              50:     19(int) Constant 2
+              51:             TypeVector 17(float) 3
+              60:     19(int) Constant 3
+              66:             TypePointer Uniform 19(int)
+              72:             TypeVector 19(int) 2
+              73:             TypePointer Uniform 20(ivec4)
+              82:             TypeVector 19(int) 3
+              96:             TypePointer Uniform 6(int)
+             102:             TypeVector 6(int) 2
+             103:             TypePointer Uniform 21(ivec4)
+             112:             TypeVector 6(int) 3
+             126:             TypePointer Uniform 22(float)
+             132:             TypeVector 22(float) 2
+             133:             TypePointer Uniform 23(fvec4)
+             142:             TypeVector 22(float) 3
+             158:             TypeBool
+             167:   72(ivec2) ConstantComposite 29 29
+             168:             TypeVector 158(bool) 2
+             171:   72(ivec2) ConstantComposite 39 39
+             180:   82(ivec3) ConstantComposite 29 29 29
+             181:             TypeVector 158(bool) 3
+             184:   82(ivec3) ConstantComposite 39 39 39
+             192:   20(ivec4) ConstantComposite 29 29 29 29
+             193:             TypeVector 158(bool) 4
+             196:   20(ivec4) ConstantComposite 39 39 39 39
+             478:      6(int) Constant 2
+             614:      6(int) Constant 8
+             615:  112(ivec3) ConstantComposite 614 34 34
+         4(main):           2 Function None 3
+               5:             Label
+   8(invocation):      7(ptr) Variable Function
+              11:      6(int) Load 10(gl_SubgroupInvocationID)
+              13:      6(int) Load 12(gl_SubgroupSize)
+              14:      6(int) IAdd 11 13
+              16:      6(int) UMod 14 15
+                              Store 8(invocation) 16
+              28:      6(int) Load 8(invocation)
+              32:     31(ptr) AccessChain 27(data) 29 29 30
+              33:   17(float) Load 32
+              36:   17(float) GroupNonUniformQuadBroadcast 35 33 34
+              37:     31(ptr) AccessChain 27(data) 28 29 30
+                              Store 37 36
+              38:      6(int) Load 8(invocation)
+              42:     41(ptr) AccessChain 27(data) 39 29
+              43:   18(fvec4) Load 42
+              44:   40(fvec2) VectorShuffle 43 43 0 1
+              45:   40(fvec2) GroupNonUniformQuadBroadcast 35 44 34
+              46:     41(ptr) AccessChain 27(data) 38 29
+              47:   18(fvec4) Load 46
+              48:   18(fvec4) VectorShuffle 47 45 4 5 2 3
+                              Store 46 48
+              49:      6(int) Load 8(invocation)
+              52:     41(ptr) AccessChain 27(data) 50 29
+              53:   18(fvec4) Load 52
+              54:   51(fvec3) VectorShuffle 53 53 0 1 2
+              55:   51(fvec3) GroupNonUniformQuadBroadcast 35 54 34
+              56:     41(ptr) AccessChain 27(data) 49 29
+              57:   18(fvec4) Load 56
+              58:   18(fvec4) VectorShuffle 57 55 4 5 6 3
+                              Store 56 58
+              59:      6(int) Load 8(invocation)
+              61:     41(ptr) AccessChain 27(data) 60 29
+              62:   18(fvec4) Load 61
+              63:   18(fvec4) GroupNonUniformQuadBroadcast 35 62 34
+              64:     41(ptr) AccessChain 27(data) 59 29
+                              Store 64 63
+              65:      6(int) Load 8(invocation)
+              67:     66(ptr) AccessChain 27(data) 29 39 30
+              68:     19(int) Load 67
+              69:     19(int) GroupNonUniformQuadBroadcast 35 68 34
+              70:     66(ptr) AccessChain 27(data) 65 39 30
+                              Store 70 69
+              71:      6(int) Load 8(invocation)
+              74:     73(ptr) AccessChain 27(data) 39 39
+              75:   20(ivec4) Load 74
+              76:   72(ivec2) VectorShuffle 75 75 0 1
+              77:   72(ivec2) GroupNonUniformQuadBroadcast 35 76 34
+              78:     73(ptr) AccessChain 27(data) 71 39
+              79:   20(ivec4) Load 78
+              80:   20(ivec4) VectorShuffle 79 77 4 5 2 3
+                              Store 78 80
+              81:      6(int) Load 8(invocation)
+              83:     73(ptr) AccessChain 27(data) 50 39
+              84:   20(ivec4) Load 83
+              85:   82(ivec3) VectorShuffle 84 84 0 1 2
+              86:   82(ivec3) GroupNonUniformQuadBroadcast 35 85 34
+              87:     73(ptr) AccessChain 27(data) 81 39
+              88:   20(ivec4) Load 87
+              89:   20(ivec4) VectorShuffle 88 86 4 5 6 3
+                              Store 87 89
+              90:      6(int) Load 8(invocation)
+              91:     73(ptr) AccessChain 27(data) 60 39
+              92:   20(ivec4) Load 91
+              93:   20(ivec4) GroupNonUniformQuadBroadcast 35 92 34
+              94:     73(ptr) AccessChain 27(data) 90 39
+                              Store 94 93
+              95:      6(int) Load 8(invocation)
+              97:     96(ptr) AccessChain 27(data) 29 50 30
+              98:      6(int) Load 97
+              99:      6(int) GroupNonUniformQuadBroadcast 35 98 34
+             100:     96(ptr) AccessChain 27(data) 95 50 30
+                              Store 100 99
+             101:      6(int) Load 8(invocation)
+             104:    103(ptr) AccessChain 27(data) 39 50
+             105:   21(ivec4) Load 104
+             106:  102(ivec2) VectorShuffle 105 105 0 1
+             107:  102(ivec2) GroupNonUniformQuadBroadcast 35 106 34
+             108:    103(ptr) AccessChain 27(data) 101 50
+             109:   21(ivec4) Load 108
+             110:   21(ivec4) VectorShuffle 109 107 4 5 2 3
+                              Store 108 110
+             111:      6(int) Load 8(invocation)
+             113:    103(ptr) AccessChain 27(data) 50 50
+             114:   21(ivec4) Load 113
+             115:  112(ivec3) VectorShuffle 114 114 0 1 2
+             116:  112(ivec3) GroupNonUniformQuadBroadcast 35 115 34
+             117:    103(ptr) AccessChain 27(data) 111 50
+             118:   21(ivec4) Load 117
+             119:   21(ivec4) VectorShuffle 118 116 4 5 6 3
+                              Store 117 119
+             120:      6(int) Load 8(invocation)
+             121:    103(ptr) AccessChain 27(data) 60 50
+             122:   21(ivec4) Load 121
+             123:   21(ivec4) GroupNonUniformQuadBroadcast 35 122 34
+             124:    103(ptr) AccessChain 27(data) 120 50
+                              Store 124 123
+             125:      6(int) Load 8(invocation)
+             127:    126(ptr) AccessChain 27(data) 29 60 30
+             128:   22(float) Load 127
+             129:   22(float) GroupNonUniformQuadBroadcast 35 128 34
+             130:    126(ptr) AccessChain 27(data) 125 60 30
+                              Store 130 129
+             131:      6(int) Load 8(invocation)
+             134:    133(ptr) AccessChain 27(data) 39 60
+             135:   23(fvec4) Load 134
+             136:  132(fvec2) VectorShuffle 135 135 0 1
+             137:  132(fvec2) GroupNonUniformQuadBroadcast 35 136 34
+             138:    133(ptr) AccessChain 27(data) 131 60
+             139:   23(fvec4) Load 138
+             140:   23(fvec4) VectorShuffle 139 137 4 5 2 3
+                              Store 138 140
+             141:      6(int) Load 8(invocation)
+             143:    133(ptr) AccessChain 27(data) 50 60
+             144:   23(fvec4) Load 143
+             145:  142(fvec3) VectorShuffle 144 144 0 1 2
+             146:  142(fvec3) GroupNonUniformQuadBroadcast 35 145 34
+             147:    133(ptr) AccessChain 27(data) 141 60
+             148:   23(fvec4) Load 147
+             149:   23(fvec4) VectorShuffle 148 146 4 5 6 3
+                              Store 147 149
+             150:      6(int) Load 8(invocation)
+             151:    133(ptr) AccessChain 27(data) 60 60
+             152:   23(fvec4) Load 151
+             153:   23(fvec4) GroupNonUniformQuadBroadcast 35 152 34
+             154:    133(ptr) AccessChain 27(data) 150 60
+                              Store 154 153
+             155:      6(int) Load 8(invocation)
+             156:     66(ptr) AccessChain 27(data) 29 39 30
+             157:     19(int) Load 156
+             159:   158(bool) SLessThan 157 29
+             160:   158(bool) GroupNonUniformQuadBroadcast 35 159 34
+             161:     19(int) Select 160 39 29
+             162:     66(ptr) AccessChain 27(data) 155 39 30
+                              Store 162 161
+             163:      6(int) Load 8(invocation)
+             164:     73(ptr) AccessChain 27(data) 39 39
+             165:   20(ivec4) Load 164
+             166:   72(ivec2) VectorShuffle 165 165 0 1
+             169:  168(bvec2) SLessThan 166 167
+             170:  168(bvec2) GroupNonUniformQuadBroadcast 35 169 34
+             172:   72(ivec2) Select 170 171 167
+             173:     73(ptr) AccessChain 27(data) 163 39
+             174:   20(ivec4) Load 173
+             175:   20(ivec4) VectorShuffle 174 172 4 5 2 3
+                              Store 173 175
+             176:      6(int) Load 8(invocation)
+             177:     73(ptr) AccessChain 27(data) 39 39
+             178:   20(ivec4) Load 177
+             179:   82(ivec3) VectorShuffle 178 178 0 1 2
+             182:  181(bvec3) SLessThan 179 180
+             183:  181(bvec3) GroupNonUniformQuadBroadcast 35 182 34
+             185:   82(ivec3) Select 183 184 180
+             186:     73(ptr) AccessChain 27(data) 176 39
+             187:   20(ivec4) Load 186
+             188:   20(ivec4) VectorShuffle 187 185 4 5 6 3
+                              Store 186 188
+             189:      6(int) Load 8(invocation)
+             190:     73(ptr) AccessChain 27(data) 39 39
+             191:   20(ivec4) Load 190
+             194:  193(bvec4) SLessThan 191 192
+             195:  193(bvec4) GroupNonUniformQuadBroadcast 35 194 34
+             197:   20(ivec4) Select 195 196 192
+             198:     73(ptr) AccessChain 27(data) 189 39
+                              Store 198 197
+             199:      6(int) Load 8(invocation)
+             200:     31(ptr) AccessChain 27(data) 29 29 30
+             201:   17(float) Load 200
+             202:   17(float) GroupNonUniformQuadSwap 35 201 30
+             203:     31(ptr) AccessChain 27(data) 199 29 30
+                              Store 203 202
+             204:      6(int) Load 8(invocation)
+             205:     41(ptr) AccessChain 27(data) 39 29
+             206:   18(fvec4) Load 205
+             207:   40(fvec2) VectorShuffle 206 206 0 1
+             208:   40(fvec2) GroupNonUniformQuadSwap 35 207 30
+             209:     41(ptr) AccessChain 27(data) 204 29
+             210:   18(fvec4) Load 209
+             211:   18(fvec4) VectorShuffle 210 208 4 5 2 3
+                              Store 209 211
+             212:      6(int) Load 8(invocation)
+             213:     41(ptr) AccessChain 27(data) 50 29
+             214:   18(fvec4) Load 213
+             215:   51(fvec3) VectorShuffle 214 214 0 1 2
+             216:   51(fvec3) GroupNonUniformQuadSwap 35 215 30
+             217:     41(ptr) AccessChain 27(data) 212 29
+             218:   18(fvec4) Load 217
+             219:   18(fvec4) VectorShuffle 218 216 4 5 6 3
+                              Store 217 219
+             220:      6(int) Load 8(invocation)
+             221:     41(ptr) AccessChain 27(data) 60 29
+             222:   18(fvec4) Load 221
+             223:   18(fvec4) GroupNonUniformQuadSwap 35 222 30
+             224:     41(ptr) AccessChain 27(data) 220 29
+                              Store 224 223
+             225:      6(int) Load 8(invocation)
+             226:     66(ptr) AccessChain 27(data) 29 39 30
+             227:     19(int) Load 226
+             228:     19(int) GroupNonUniformQuadSwap 35 227 30
+             229:     66(ptr) AccessChain 27(data) 225 39 30
+                              Store 229 228
+             230:      6(int) Load 8(invocation)
+             231:     73(ptr) AccessChain 27(data) 39 39
+             232:   20(ivec4) Load 231
+             233:   72(ivec2) VectorShuffle 232 232 0 1
+             234:   72(ivec2) GroupNonUniformQuadSwap 35 233 30
+             235:     73(ptr) AccessChain 27(data) 230 39
+             236:   20(ivec4) Load 235
+             237:   20(ivec4) VectorShuffle 236 234 4 5 2 3
+                              Store 235 237
+             238:      6(int) Load 8(invocation)
+             239:     73(ptr) AccessChain 27(data) 50 39
+             240:   20(ivec4) Load 239
+             241:   82(ivec3) VectorShuffle 240 240 0 1 2
+             242:   82(ivec3) GroupNonUniformQuadSwap 35 241 30
+             243:     73(ptr) AccessChain 27(data) 238 39
+             244:   20(ivec4) Load 243
+             245:   20(ivec4) VectorShuffle 244 242 4 5 6 3
+                              Store 243 245
+             246:      6(int) Load 8(invocation)
+             247:     73(ptr) AccessChain 27(data) 60 39
+             248:   20(ivec4) Load 247
+             249:   20(ivec4) GroupNonUniformQuadSwap 35 248 30
+             250:     73(ptr) AccessChain 27(data) 246 39
+                              Store 250 249
+             251:      6(int) Load 8(invocation)
+             252:     96(ptr) AccessChain 27(data) 29 50 30
+             253:      6(int) Load 252
+             254:      6(int) GroupNonUniformQuadSwap 35 253 30
+             255:     96(ptr) AccessChain 27(data) 251 50 30
+                              Store 255 254
+             256:      6(int) Load 8(invocation)
+             257:    103(ptr) AccessChain 27(data) 39 50
+             258:   21(ivec4) Load 257
+             259:  102(ivec2) VectorShuffle 258 258 0 1
+             260:  102(ivec2) GroupNonUniformQuadSwap 35 259 30
+             261:    103(ptr) AccessChain 27(data) 256 50
+             262:   21(ivec4) Load 261
+             263:   21(ivec4) VectorShuffle 262 260 4 5 2 3
+                              Store 261 263
+             264:      6(int) Load 8(invocation)
+             265:    103(ptr) AccessChain 27(data) 50 50
+             266:   21(ivec4) Load 265
+             267:  112(ivec3) VectorShuffle 266 266 0 1 2
+             268:  112(ivec3) GroupNonUniformQuadSwap 35 267 30
+             269:    103(ptr) AccessChain 27(data) 264 50
+             270:   21(ivec4) Load 269
+             271:   21(ivec4) VectorShuffle 270 268 4 5 6 3
+                              Store 269 271
+             272:      6(int) Load 8(invocation)
+             273:    103(ptr) AccessChain 27(data) 60 50
+             274:   21(ivec4) Load 273
+             275:   21(ivec4) GroupNonUniformQuadSwap 35 274 30
+             276:    103(ptr) AccessChain 27(data) 272 50
+                              Store 276 275
+             277:      6(int) Load 8(invocation)
+             278:    126(ptr) AccessChain 27(data) 29 60 30
+             279:   22(float) Load 278
+             280:   22(float) GroupNonUniformQuadSwap 35 279 30
+             281:    126(ptr) AccessChain 27(data) 277 60 30
+                              Store 281 280
+             282:      6(int) Load 8(invocation)
+             283:    133(ptr) AccessChain 27(data) 39 60
+             284:   23(fvec4) Load 283
+             285:  132(fvec2) VectorShuffle 284 284 0 1
+             286:  132(fvec2) GroupNonUniformQuadSwap 35 285 30
+             287:    133(ptr) AccessChain 27(data) 282 60
+             288:   23(fvec4) Load 287
+             289:   23(fvec4) VectorShuffle 288 286 4 5 2 3
+                              Store 287 289
+             290:      6(int) Load 8(invocation)
+             291:    133(ptr) AccessChain 27(data) 50 60
+             292:   23(fvec4) Load 291
+             293:  142(fvec3) VectorShuffle 292 292 0 1 2
+             294:  142(fvec3) GroupNonUniformQuadSwap 35 293 30
+             295:    133(ptr) AccessChain 27(data) 290 60
+             296:   23(fvec4) Load 295
+             297:   23(fvec4) VectorShuffle 296 294 4 5 6 3
+                              Store 295 297
+             298:      6(int) Load 8(invocation)
+             299:    133(ptr) AccessChain 27(data) 60 60
+             300:   23(fvec4) Load 299
+             301:   23(fvec4) GroupNonUniformQuadSwap 35 300 30
+             302:    133(ptr) AccessChain 27(data) 298 60
+                              Store 302 301
+             303:      6(int) Load 8(invocation)
+             304:     66(ptr) AccessChain 27(data) 29 39 30
+             305:     19(int) Load 304
+             306:   158(bool) SLessThan 305 29
+             307:   158(bool) GroupNonUniformQuadSwap 35 306 30
+             308:     19(int) Select 307 39 29
+             309:     66(ptr) AccessChain 27(data) 303 39 30
+                              Store 309 308
+             310:      6(int) Load 8(invocation)
+             311:     73(ptr) AccessChain 27(data) 39 39
+             312:   20(ivec4) Load 311
+             313:   72(ivec2) VectorShuffle 312 312 0 1
+             314:  168(bvec2) SLessThan 313 167
+             315:  168(bvec2) GroupNonUniformQuadSwap 35 314 30
+             316:   72(ivec2) Select 315 171 167
+             317:     73(ptr) AccessChain 27(data) 310 39
+             318:   20(ivec4) Load 317
+             319:   20(ivec4) VectorShuffle 318 316 4 5 2 3
+                              Store 317 319
+             320:      6(int) Load 8(invocation)
+             321:     73(ptr) AccessChain 27(data) 39 39
+             322:   20(ivec4) Load 321
+             323:   82(ivec3) VectorShuffle 322 322 0 1 2
+             324:  181(bvec3) SLessThan 323 180
+             325:  181(bvec3) GroupNonUniformQuadSwap 35 324 30
+             326:   82(ivec3) Select 325 184 180
+             327:     73(ptr) AccessChain 27(data) 320 39
+             328:   20(ivec4) Load 327
+             329:   20(ivec4) VectorShuffle 328 326 4 5 6 3
+                              Store 327 329
+             330:      6(int) Load 8(invocation)
+             331:     73(ptr) AccessChain 27(data) 39 39
+             332:   20(ivec4) Load 331
+             333:  193(bvec4) SLessThan 332 192
+             334:  193(bvec4) GroupNonUniformQuadSwap 35 333 30
+             335:   20(ivec4) Select 334 196 192
+             336:     73(ptr) AccessChain 27(data) 330 39
+                              Store 336 335
+             337:      6(int) Load 8(invocation)
+             338:     31(ptr) AccessChain 27(data) 29 29 30
+             339:   17(float) Load 338
+             340:   17(float) GroupNonUniformQuadSwap 35 339 34
+             341:     31(ptr) AccessChain 27(data) 337 29 30
+                              Store 341 340
+             342:      6(int) Load 8(invocation)
+             343:     41(ptr) AccessChain 27(data) 39 29
+             344:   18(fvec4) Load 343
+             345:   40(fvec2) VectorShuffle 344 344 0 1
+             346:   40(fvec2) GroupNonUniformQuadSwap 35 345 34
+             347:     41(ptr) AccessChain 27(data) 342 29
+             348:   18(fvec4) Load 347
+             349:   18(fvec4) VectorShuffle 348 346 4 5 2 3
+                              Store 347 349
+             350:      6(int) Load 8(invocation)
+             351:     41(ptr) AccessChain 27(data) 50 29
+             352:   18(fvec4) Load 351
+             353:   51(fvec3) VectorShuffle 352 352 0 1 2
+             354:   51(fvec3) GroupNonUniformQuadSwap 35 353 34
+             355:     41(ptr) AccessChain 27(data) 350 29
+             356:   18(fvec4) Load 355
+             357:   18(fvec4) VectorShuffle 356 354 4 5 6 3
+                              Store 355 357
+             358:      6(int) Load 8(invocation)
+             359:     41(ptr) AccessChain 27(data) 60 29
+             360:   18(fvec4) Load 359
+             361:   18(fvec4) GroupNonUniformQuadSwap 35 360 34
+             362:     41(ptr) AccessChain 27(data) 358 29
+                              Store 362 361
+             363:      6(int) Load 8(invocation)
+             364:     66(ptr) AccessChain 27(data) 29 39 30
+             365:     19(int) Load 364
+             366:     19(int) GroupNonUniformQuadSwap 35 365 34
+             367:     66(ptr) AccessChain 27(data) 363 39 30
+                              Store 367 366
+             368:      6(int) Load 8(invocation)
+             369:     73(ptr) AccessChain 27(data) 39 39
+             370:   20(ivec4) Load 369
+             371:   72(ivec2) VectorShuffle 370 370 0 1
+             372:   72(ivec2) GroupNonUniformQuadSwap 35 371 34
+             373:     73(ptr) AccessChain 27(data) 368 39
+             374:   20(ivec4) Load 373
+             375:   20(ivec4) VectorShuffle 374 372 4 5 2 3
+                              Store 373 375
+             376:      6(int) Load 8(invocation)
+             377:     73(ptr) AccessChain 27(data) 50 39
+             378:   20(ivec4) Load 377
+             379:   82(ivec3) VectorShuffle 378 378 0 1 2
+             380:   82(ivec3) GroupNonUniformQuadSwap 35 379 34
+             381:     73(ptr) AccessChain 27(data) 376 39
+             382:   20(ivec4) Load 381
+             383:   20(ivec4) VectorShuffle 382 380 4 5 6 3
+                              Store 381 383
+             384:      6(int) Load 8(invocation)
+             385:     73(ptr) AccessChain 27(data) 60 39
+             386:   20(ivec4) Load 385
+             387:   20(ivec4) GroupNonUniformQuadSwap 35 386 34
+             388:     73(ptr) AccessChain 27(data) 384 39
+                              Store 388 387
+             389:      6(int) Load 8(invocation)
+             390:     96(ptr) AccessChain 27(data) 29 50 30
+             391:      6(int) Load 390
+             392:      6(int) GroupNonUniformQuadSwap 35 391 34
+             393:     96(ptr) AccessChain 27(data) 389 50 30
+                              Store 393 392
+             394:      6(int) Load 8(invocation)
+             395:    103(ptr) AccessChain 27(data) 39 50
+             396:   21(ivec4) Load 395
+             397:  102(ivec2) VectorShuffle 396 396 0 1
+             398:  102(ivec2) GroupNonUniformQuadSwap 35 397 34
+             399:    103(ptr) AccessChain 27(data) 394 50
+             400:   21(ivec4) Load 399
+             401:   21(ivec4) VectorShuffle 400 398 4 5 2 3
+                              Store 399 401
+             402:      6(int) Load 8(invocation)
+             403:    103(ptr) AccessChain 27(data) 50 50
+             404:   21(ivec4) Load 403
+             405:  112(ivec3) VectorShuffle 404 404 0 1 2
+             406:  112(ivec3) GroupNonUniformQuadSwap 35 405 34
+             407:    103(ptr) AccessChain 27(data) 402 50
+             408:   21(ivec4) Load 407
+             409:   21(ivec4) VectorShuffle 408 406 4 5 6 3
+                              Store 407 409
+             410:      6(int) Load 8(invocation)
+             411:    103(ptr) AccessChain 27(data) 60 50
+             412:   21(ivec4) Load 411
+             413:   21(ivec4) GroupNonUniformQuadSwap 35 412 34
+             414:    103(ptr) AccessChain 27(data) 410 50
+                              Store 414 413
+             415:      6(int) Load 8(invocation)
+             416:    126(ptr) AccessChain 27(data) 29 60 30
+             417:   22(float) Load 416
+             418:   22(float) GroupNonUniformQuadSwap 35 417 34
+             419:    126(ptr) AccessChain 27(data) 415 60 30
+                              Store 419 418
+             420:      6(int) Load 8(invocation)
+             421:    133(ptr) AccessChain 27(data) 39 60
+             422:   23(fvec4) Load 421
+             423:  132(fvec2) VectorShuffle 422 422 0 1
+             424:  132(fvec2) GroupNonUniformQuadSwap 35 423 34
+             425:    133(ptr) AccessChain 27(data) 420 60
+             426:   23(fvec4) Load 425
+             427:   23(fvec4) VectorShuffle 426 424 4 5 2 3
+                              Store 425 427
+             428:      6(int) Load 8(invocation)
+             429:    133(ptr) AccessChain 27(data) 50 60
+             430:   23(fvec4) Load 429
+             431:  142(fvec3) VectorShuffle 430 430 0 1 2
+             432:  142(fvec3) GroupNonUniformQuadSwap 35 431 34
+             433:    133(ptr) AccessChain 27(data) 428 60
+             434:   23(fvec4) Load 433
+             435:   23(fvec4) VectorShuffle 434 432 4 5 6 3
+                              Store 433 435
+             436:      6(int) Load 8(invocation)
+             437:    133(ptr) AccessChain 27(data) 60 60
+             438:   23(fvec4) Load 437
+             439:   23(fvec4) GroupNonUniformQuadSwap 35 438 34
+             440:    133(ptr) AccessChain 27(data) 436 60
+                              Store 440 439
+             441:      6(int) Load 8(invocation)
+             442:     66(ptr) AccessChain 27(data) 29 39 30
+             443:     19(int) Load 442
+             444:   158(bool) SLessThan 443 29
+             445:   158(bool) GroupNonUniformQuadSwap 35 444 34
+             446:     19(int) Select 445 39 29
+             447:     66(ptr) AccessChain 27(data) 441 39 30
+                              Store 447 446
+             448:      6(int) Load 8(invocation)
+             449:     73(ptr) AccessChain 27(data) 39 39
+             450:   20(ivec4) Load 449
+             451:   72(ivec2) VectorShuffle 450 450 0 1
+             452:  168(bvec2) SLessThan 451 167
+             453:  168(bvec2) GroupNonUniformQuadSwap 35 452 34
+             454:   72(ivec2) Select 453 171 167
+             455:     73(ptr) AccessChain 27(data) 448 39
+             456:   20(ivec4) Load 455
+             457:   20(ivec4) VectorShuffle 456 454 4 5 2 3
+                              Store 455 457
+             458:      6(int) Load 8(invocation)
+             459:     73(ptr) AccessChain 27(data) 39 39
+             460:   20(ivec4) Load 459
+             461:   82(ivec3) VectorShuffle 460 460 0 1 2
+             462:  181(bvec3) SLessThan 461 180
+             463:  181(bvec3) GroupNonUniformQuadSwap 35 462 34
+             464:   82(ivec3) Select 463 184 180
+             465:     73(ptr) AccessChain 27(data) 458 39
+             466:   20(ivec4) Load 465
+             467:   20(ivec4) VectorShuffle 466 464 4 5 6 3
+                              Store 465 467
+             468:      6(int) Load 8(invocation)
+             469:     73(ptr) AccessChain 27(data) 39 39
+             470:   20(ivec4) Load 469
+             471:  193(bvec4) SLessThan 470 192
+             472:  193(bvec4) GroupNonUniformQuadSwap 35 471 34
+             473:   20(ivec4) Select 472 196 192
+             474:     73(ptr) AccessChain 27(data) 468 39
+                              Store 474 473
+             475:      6(int) Load 8(invocation)
+             476:     31(ptr) AccessChain 27(data) 29 29 30
+             477:   17(float) Load 476
+             479:   17(float) GroupNonUniformQuadSwap 35 477 478
+             480:     31(ptr) AccessChain 27(data) 475 29 30
+                              Store 480 479
+             481:      6(int) Load 8(invocation)
+             482:     41(ptr) AccessChain 27(data) 39 29
+             483:   18(fvec4) Load 482
+             484:   40(fvec2) VectorShuffle 483 483 0 1
+             485:   40(fvec2) GroupNonUniformQuadSwap 35 484 478
+             486:     41(ptr) AccessChain 27(data) 481 29
+             487:   18(fvec4) Load 486
+             488:   18(fvec4) VectorShuffle 487 485 4 5 2 3
+                              Store 486 488
+             489:      6(int) Load 8(invocation)
+             490:     41(ptr) AccessChain 27(data) 50 29
+             491:   18(fvec4) Load 490
+             492:   51(fvec3) VectorShuffle 491 491 0 1 2
+             493:   51(fvec3) GroupNonUniformQuadSwap 35 492 478
+             494:     41(ptr) AccessChain 27(data) 489 29
+             495:   18(fvec4) Load 494
+             496:   18(fvec4) VectorShuffle 495 493 4 5 6 3
+                              Store 494 496
+             497:      6(int) Load 8(invocation)
+             498:     41(ptr) AccessChain 27(data) 60 29
+             499:   18(fvec4) Load 498
+             500:   18(fvec4) GroupNonUniformQuadSwap 35 499 478
+             501:     41(ptr) AccessChain 27(data) 497 29
+                              Store 501 500
+             502:      6(int) Load 8(invocation)
+             503:     66(ptr) AccessChain 27(data) 29 39 30
+             504:     19(int) Load 503
+             505:     19(int) GroupNonUniformQuadSwap 35 504 478
+             506:     66(ptr) AccessChain 27(data) 502 39 30
+                              Store 506 505
+             507:      6(int) Load 8(invocation)
+             508:     73(ptr) AccessChain 27(data) 39 39
+             509:   20(ivec4) Load 508
+             510:   72(ivec2) VectorShuffle 509 509 0 1
+             511:   72(ivec2) GroupNonUniformQuadSwap 35 510 478
+             512:     73(ptr) AccessChain 27(data) 507 39
+             513:   20(ivec4) Load 512
+             514:   20(ivec4) VectorShuffle 513 511 4 5 2 3
+                              Store 512 514
+             515:      6(int) Load 8(invocation)
+             516:     73(ptr) AccessChain 27(data) 50 39
+             517:   20(ivec4) Load 516
+             518:   82(ivec3) VectorShuffle 517 517 0 1 2
+             519:   82(ivec3) GroupNonUniformQuadSwap 35 518 478
+             520:     73(ptr) AccessChain 27(data) 515 39
+             521:   20(ivec4) Load 520
+             522:   20(ivec4) VectorShuffle 521 519 4 5 6 3
+                              Store 520 522
+             523:      6(int) Load 8(invocation)
+             524:     73(ptr) AccessChain 27(data) 60 39
+             525:   20(ivec4) Load 524
+             526:   20(ivec4) GroupNonUniformQuadSwap 35 525 478
+             527:     73(ptr) AccessChain 27(data) 523 39
+                              Store 527 526
+             528:      6(int) Load 8(invocation)
+             529:     96(ptr) AccessChain 27(data) 29 50 30
+             530:      6(int) Load 529
+             531:      6(int) GroupNonUniformQuadSwap 35 530 478
+             532:     96(ptr) AccessChain 27(data) 528 50 30
+                              Store 532 531
+             533:      6(int) Load 8(invocation)
+             534:    103(ptr) AccessChain 27(data) 39 50
+             535:   21(ivec4) Load 534
+             536:  102(ivec2) VectorShuffle 535 535 0 1
+             537:  102(ivec2) GroupNonUniformQuadSwap 35 536 478
+             538:    103(ptr) AccessChain 27(data) 533 50
+             539:   21(ivec4) Load 538
+             540:   21(ivec4) VectorShuffle 539 537 4 5 2 3
+                              Store 538 540
+             541:      6(int) Load 8(invocation)
+             542:    103(ptr) AccessChain 27(data) 50 50
+             543:   21(ivec4) Load 542
+             544:  112(ivec3) VectorShuffle 543 543 0 1 2
+             545:  112(ivec3) GroupNonUniformQuadSwap 35 544 478
+             546:    103(ptr) AccessChain 27(data) 541 50
+             547:   21(ivec4) Load 546
+             548:   21(ivec4) VectorShuffle 547 545 4 5 6 3
+                              Store 546 548
+             549:      6(int) Load 8(invocation)
+             550:    103(ptr) AccessChain 27(data) 60 50
+             551:   21(ivec4) Load 550
+             552:   21(ivec4) GroupNonUniformQuadSwap 35 551 478
+             553:    103(ptr) AccessChain 27(data) 549 50
+                              Store 553 552
+             554:      6(int) Load 8(invocation)
+             555:    126(ptr) AccessChain 27(data) 29 60 30
+             556:   22(float) Load 555
+             557:   22(float) GroupNonUniformQuadSwap 35 556 478
+             558:    126(ptr) AccessChain 27(data) 554 60 30
+                              Store 558 557
+             559:      6(int) Load 8(invocation)
+             560:    133(ptr) AccessChain 27(data) 39 60
+             561:   23(fvec4) Load 560
+             562:  132(fvec2) VectorShuffle 561 561 0 1
+             563:  132(fvec2) GroupNonUniformQuadSwap 35 562 478
+             564:    133(ptr) AccessChain 27(data) 559 60
+             565:   23(fvec4) Load 564
+             566:   23(fvec4) VectorShuffle 565 563 4 5 2 3
+                              Store 564 566
+             567:      6(int) Load 8(invocation)
+             568:    133(ptr) AccessChain 27(data) 50 60
+             569:   23(fvec4) Load 568
+             570:  142(fvec3) VectorShuffle 569 569 0 1 2
+             571:  142(fvec3) GroupNonUniformQuadSwap 35 570 478
+             572:    133(ptr) AccessChain 27(data) 567 60
+             573:   23(fvec4) Load 572
+             574:   23(fvec4) VectorShuffle 573 571 4 5 6 3
+                              Store 572 574
+             575:      6(int) Load 8(invocation)
+             576:    133(ptr) AccessChain 27(data) 60 60
+             577:   23(fvec4) Load 576
+             578:   23(fvec4) GroupNonUniformQuadSwap 35 577 478
+             579:    133(ptr) AccessChain 27(data) 575 60
+                              Store 579 578
+             580:      6(int) Load 8(invocation)
+             581:     66(ptr) AccessChain 27(data) 29 39 30
+             582:     19(int) Load 581
+             583:   158(bool) SLessThan 582 29
+             584:   158(bool) GroupNonUniformQuadSwap 35 583 478
+             585:     19(int) Select 584 39 29
+             586:     66(ptr) AccessChain 27(data) 580 39 30
+                              Store 586 585
+             587:      6(int) Load 8(invocation)
+             588:     73(ptr) AccessChain 27(data) 39 39
+             589:   20(ivec4) Load 588
+             590:   72(ivec2) VectorShuffle 589 589 0 1
+             591:  168(bvec2) SLessThan 590 167
+             592:  168(bvec2) GroupNonUniformQuadSwap 35 591 478
+             593:   72(ivec2) Select 592 171 167
+             594:     73(ptr) AccessChain 27(data) 587 39
+             595:   20(ivec4) Load 594
+             596:   20(ivec4) VectorShuffle 595 593 4 5 2 3
+                              Store 594 596
+             597:      6(int) Load 8(invocation)
+             598:     73(ptr) AccessChain 27(data) 39 39
+             599:   20(ivec4) Load 598
+             600:   82(ivec3) VectorShuffle 599 599 0 1 2
+             601:  181(bvec3) SLessThan 600 180
+             602:  181(bvec3) GroupNonUniformQuadSwap 35 601 478
+             603:   82(ivec3) Select 602 184 180
+             604:     73(ptr) AccessChain 27(data) 597 39
+             605:   20(ivec4) Load 604
+             606:   20(ivec4) VectorShuffle 605 603 4 5 6 3
+                              Store 604 606
+             607:      6(int) Load 8(invocation)
+             608:     73(ptr) AccessChain 27(data) 39 39
+             609:   20(ivec4) Load 608
+             610:  193(bvec4) SLessThan 609 192
+             611:  193(bvec4) GroupNonUniformQuadSwap 35 610 478
+             612:   20(ivec4) Select 611 196 192
+             613:     73(ptr) AccessChain 27(data) 607 39
+                              Store 613 612
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroupShuffle.comp.out b/Test/baseResults/spv.subgroupShuffle.comp.out
new file mode 100644
index 0000000..04bc200
--- /dev/null
+++ b/Test/baseResults/spv.subgroupShuffle.comp.out
@@ -0,0 +1,462 @@
+spv.subgroupShuffle.comp
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 379
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformShuffle
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main" 10 12
+                              ExecutionMode 4 LocalSize 8 8 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              SourceExtension  "GL_KHR_shader_subgroup_shuffle"
+                              Name 4  "main"
+                              Name 8  "invocation"
+                              Name 10  "gl_SubgroupInvocationID"
+                              Name 12  "gl_SubgroupSize"
+                              Name 24  "Buffers"
+                              MemberName 24(Buffers) 0  "f4"
+                              MemberName 24(Buffers) 1  "i4"
+                              MemberName 24(Buffers) 2  "u4"
+                              MemberName 24(Buffers) 3  "d4"
+                              Name 27  "data"
+                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 11 RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 13 RelaxedPrecision
+                              Decorate 14 RelaxedPrecision
+                              Decorate 16 RelaxedPrecision
+                              MemberDecorate 24(Buffers) 0 Offset 0
+                              MemberDecorate 24(Buffers) 1 Offset 16
+                              MemberDecorate 24(Buffers) 2 Offset 32
+                              MemberDecorate 24(Buffers) 3 Offset 64
+                              Decorate 24(Buffers) BufferBlock
+                              Decorate 27(data) DescriptorSet 0
+                              Decorate 27(data) Binding 0
+                              Decorate 378 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypePointer Input 6(int)
+10(gl_SubgroupInvocationID):      9(ptr) Variable Input
+12(gl_SubgroupSize):      9(ptr) Variable Input
+              15:      6(int) Constant 4
+              17:             TypeFloat 32
+              18:             TypeVector 17(float) 4
+              19:             TypeInt 32 1
+              20:             TypeVector 19(int) 4
+              21:             TypeVector 6(int) 4
+              22:             TypeFloat 64
+              23:             TypeVector 22(float) 4
+     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(fvec4)
+              25:             TypeArray 24(Buffers) 15
+              26:             TypePointer Uniform 25
+        27(data):     26(ptr) Variable Uniform
+              29:     19(int) Constant 0
+              30:      6(int) Constant 0
+              31:             TypePointer Uniform 17(float)
+              35:      6(int) Constant 3
+              39:     19(int) Constant 1
+              40:             TypeVector 17(float) 2
+              41:             TypePointer Uniform 18(fvec4)
+              51:     19(int) Constant 2
+              52:             TypeVector 17(float) 3
+              62:     19(int) Constant 3
+              69:             TypePointer Uniform 19(int)
+              76:             TypeVector 19(int) 2
+              77:             TypePointer Uniform 20(ivec4)
+              87:             TypeVector 19(int) 3
+             103:             TypePointer Uniform 6(int)
+             110:             TypeVector 6(int) 2
+             111:             TypePointer Uniform 21(ivec4)
+             121:             TypeVector 6(int) 3
+             137:             TypePointer Uniform 22(float)
+             144:             TypeVector 22(float) 2
+             145:             TypePointer Uniform 23(fvec4)
+             155:             TypeVector 22(float) 3
+             173:             TypeBool
+             183:   76(ivec2) ConstantComposite 29 29
+             184:             TypeVector 173(bool) 2
+             188:   76(ivec2) ConstantComposite 39 39
+             197:   87(ivec3) ConstantComposite 29 29 29
+             198:             TypeVector 173(bool) 3
+             202:   87(ivec3) ConstantComposite 39 39 39
+             210:   20(ivec4) ConstantComposite 29 29 29 29
+             211:             TypeVector 173(bool) 4
+             215:   20(ivec4) ConstantComposite 39 39 39 39
+             376:      6(int) Constant 8
+             377:      6(int) Constant 1
+             378:  121(ivec3) ConstantComposite 376 376 377
+         4(main):           2 Function None 3
+               5:             Label
+   8(invocation):      7(ptr) Variable Function
+              11:      6(int) Load 10(gl_SubgroupInvocationID)
+              13:      6(int) Load 12(gl_SubgroupSize)
+              14:      6(int) IAdd 11 13
+              16:      6(int) UMod 14 15
+                              Store 8(invocation) 16
+              28:      6(int) Load 8(invocation)
+              32:     31(ptr) AccessChain 27(data) 29 29 30
+              33:   17(float) Load 32
+              34:      6(int) Load 8(invocation)
+              36:   17(float) GroupNonUniformShuffle 35 33 34
+              37:     31(ptr) AccessChain 27(data) 28 29 30
+                              Store 37 36
+              38:      6(int) Load 8(invocation)
+              42:     41(ptr) AccessChain 27(data) 39 29
+              43:   18(fvec4) Load 42
+              44:   40(fvec2) VectorShuffle 43 43 0 1
+              45:      6(int) Load 8(invocation)
+              46:   40(fvec2) GroupNonUniformShuffle 35 44 45
+              47:     41(ptr) AccessChain 27(data) 38 29
+              48:   18(fvec4) Load 47
+              49:   18(fvec4) VectorShuffle 48 46 4 5 2 3
+                              Store 47 49
+              50:      6(int) Load 8(invocation)
+              53:     41(ptr) AccessChain 27(data) 51 29
+              54:   18(fvec4) Load 53
+              55:   52(fvec3) VectorShuffle 54 54 0 1 2
+              56:      6(int) Load 8(invocation)
+              57:   52(fvec3) GroupNonUniformShuffle 35 55 56
+              58:     41(ptr) AccessChain 27(data) 50 29
+              59:   18(fvec4) Load 58
+              60:   18(fvec4) VectorShuffle 59 57 4 5 6 3
+                              Store 58 60
+              61:      6(int) Load 8(invocation)
+              63:     41(ptr) AccessChain 27(data) 62 29
+              64:   18(fvec4) Load 63
+              65:      6(int) Load 8(invocation)
+              66:   18(fvec4) GroupNonUniformShuffle 35 64 65
+              67:     41(ptr) AccessChain 27(data) 61 29
+                              Store 67 66
+              68:      6(int) Load 8(invocation)
+              70:     69(ptr) AccessChain 27(data) 29 39 30
+              71:     19(int) Load 70
+              72:      6(int) Load 8(invocation)
+              73:     19(int) GroupNonUniformShuffle 35 71 72
+              74:     69(ptr) AccessChain 27(data) 68 39 30
+                              Store 74 73
+              75:      6(int) Load 8(invocation)
+              78:     77(ptr) AccessChain 27(data) 39 39
+              79:   20(ivec4) Load 78
+              80:   76(ivec2) VectorShuffle 79 79 0 1
+              81:      6(int) Load 8(invocation)
+              82:   76(ivec2) GroupNonUniformShuffle 35 80 81
+              83:     77(ptr) AccessChain 27(data) 75 39
+              84:   20(ivec4) Load 83
+              85:   20(ivec4) VectorShuffle 84 82 4 5 2 3
+                              Store 83 85
+              86:      6(int) Load 8(invocation)
+              88:     77(ptr) AccessChain 27(data) 51 39
+              89:   20(ivec4) Load 88
+              90:   87(ivec3) VectorShuffle 89 89 0 1 2
+              91:      6(int) Load 8(invocation)
+              92:   87(ivec3) GroupNonUniformShuffle 35 90 91
+              93:     77(ptr) AccessChain 27(data) 86 39
+              94:   20(ivec4) Load 93
+              95:   20(ivec4) VectorShuffle 94 92 4 5 6 3
+                              Store 93 95
+              96:      6(int) Load 8(invocation)
+              97:     77(ptr) AccessChain 27(data) 62 39
+              98:   20(ivec4) Load 97
+              99:      6(int) Load 8(invocation)
+             100:   20(ivec4) GroupNonUniformShuffle 35 98 99
+             101:     77(ptr) AccessChain 27(data) 96 39
+                              Store 101 100
+             102:      6(int) Load 8(invocation)
+             104:    103(ptr) AccessChain 27(data) 29 51 30
+             105:      6(int) Load 104
+             106:      6(int) Load 8(invocation)
+             107:      6(int) GroupNonUniformShuffle 35 105 106
+             108:    103(ptr) AccessChain 27(data) 102 51 30
+                              Store 108 107
+             109:      6(int) Load 8(invocation)
+             112:    111(ptr) AccessChain 27(data) 39 51
+             113:   21(ivec4) Load 112
+             114:  110(ivec2) VectorShuffle 113 113 0 1
+             115:      6(int) Load 8(invocation)
+             116:  110(ivec2) GroupNonUniformShuffle 35 114 115
+             117:    111(ptr) AccessChain 27(data) 109 51
+             118:   21(ivec4) Load 117
+             119:   21(ivec4) VectorShuffle 118 116 4 5 2 3
+                              Store 117 119
+             120:      6(int) Load 8(invocation)
+             122:    111(ptr) AccessChain 27(data) 51 51
+             123:   21(ivec4) Load 122
+             124:  121(ivec3) VectorShuffle 123 123 0 1 2
+             125:      6(int) Load 8(invocation)
+             126:  121(ivec3) GroupNonUniformShuffle 35 124 125
+             127:    111(ptr) AccessChain 27(data) 120 51
+             128:   21(ivec4) Load 127
+             129:   21(ivec4) VectorShuffle 128 126 4 5 6 3
+                              Store 127 129
+             130:      6(int) Load 8(invocation)
+             131:    111(ptr) AccessChain 27(data) 62 51
+             132:   21(ivec4) Load 131
+             133:      6(int) Load 8(invocation)
+             134:   21(ivec4) GroupNonUniformShuffle 35 132 133
+             135:    111(ptr) AccessChain 27(data) 130 51
+                              Store 135 134
+             136:      6(int) Load 8(invocation)
+             138:    137(ptr) AccessChain 27(data) 29 62 30
+             139:   22(float) Load 138
+             140:      6(int) Load 8(invocation)
+             141:   22(float) GroupNonUniformShuffle 35 139 140
+             142:    137(ptr) AccessChain 27(data) 136 62 30
+                              Store 142 141
+             143:      6(int) Load 8(invocation)
+             146:    145(ptr) AccessChain 27(data) 39 62
+             147:   23(fvec4) Load 146
+             148:  144(fvec2) VectorShuffle 147 147 0 1
+             149:      6(int) Load 8(invocation)
+             150:  144(fvec2) GroupNonUniformShuffle 35 148 149
+             151:    145(ptr) AccessChain 27(data) 143 62
+             152:   23(fvec4) Load 151
+             153:   23(fvec4) VectorShuffle 152 150 4 5 2 3
+                              Store 151 153
+             154:      6(int) Load 8(invocation)
+             156:    145(ptr) AccessChain 27(data) 51 62
+             157:   23(fvec4) Load 156
+             158:  155(fvec3) VectorShuffle 157 157 0 1 2
+             159:      6(int) Load 8(invocation)
+             160:  155(fvec3) GroupNonUniformShuffle 35 158 159
+             161:    145(ptr) AccessChain 27(data) 154 62
+             162:   23(fvec4) Load 161
+             163:   23(fvec4) VectorShuffle 162 160 4 5 6 3
+                              Store 161 163
+             164:      6(int) Load 8(invocation)
+             165:    145(ptr) AccessChain 27(data) 62 62
+             166:   23(fvec4) Load 165
+             167:      6(int) Load 8(invocation)
+             168:   23(fvec4) GroupNonUniformShuffle 35 166 167
+             169:    145(ptr) AccessChain 27(data) 164 62
+                              Store 169 168
+             170:      6(int) Load 8(invocation)
+             171:     69(ptr) AccessChain 27(data) 29 39 30
+             172:     19(int) Load 171
+             174:   173(bool) SLessThan 172 29
+             175:      6(int) Load 8(invocation)
+             176:   173(bool) GroupNonUniformShuffle 35 174 175
+             177:     19(int) Select 176 39 29
+             178:     69(ptr) AccessChain 27(data) 170 39 30
+                              Store 178 177
+             179:      6(int) Load 8(invocation)
+             180:     77(ptr) AccessChain 27(data) 39 39
+             181:   20(ivec4) Load 180
+             182:   76(ivec2) VectorShuffle 181 181 0 1
+             185:  184(bvec2) SLessThan 182 183
+             186:      6(int) Load 8(invocation)
+             187:  184(bvec2) GroupNonUniformShuffle 35 185 186
+             189:   76(ivec2) Select 187 188 183
+             190:     77(ptr) AccessChain 27(data) 179 39
+             191:   20(ivec4) Load 190
+             192:   20(ivec4) VectorShuffle 191 189 4 5 2 3
+                              Store 190 192
+             193:      6(int) Load 8(invocation)
+             194:     77(ptr) AccessChain 27(data) 39 39
+             195:   20(ivec4) Load 194
+             196:   87(ivec3) VectorShuffle 195 195 0 1 2
+             199:  198(bvec3) SLessThan 196 197
+             200:      6(int) Load 8(invocation)
+             201:  198(bvec3) GroupNonUniformShuffle 35 199 200
+             203:   87(ivec3) Select 201 202 197
+             204:     77(ptr) AccessChain 27(data) 193 39
+             205:   20(ivec4) Load 204
+             206:   20(ivec4) VectorShuffle 205 203 4 5 6 3
+                              Store 204 206
+             207:      6(int) Load 8(invocation)
+             208:     77(ptr) AccessChain 27(data) 39 39
+             209:   20(ivec4) Load 208
+             212:  211(bvec4) SLessThan 209 210
+             213:      6(int) Load 8(invocation)
+             214:  211(bvec4) GroupNonUniformShuffle 35 212 213
+             216:   20(ivec4) Select 214 215 210
+             217:     77(ptr) AccessChain 27(data) 207 39
+                              Store 217 216
+             218:      6(int) Load 8(invocation)
+             219:     31(ptr) AccessChain 27(data) 29 29 30
+             220:   17(float) Load 219
+             221:      6(int) Load 8(invocation)
+             222:   17(float) GroupNonUniformShuffleXor 35 220 221
+             223:     31(ptr) AccessChain 27(data) 218 29 30
+                              Store 223 222
+             224:      6(int) Load 8(invocation)
+             225:     41(ptr) AccessChain 27(data) 39 29
+             226:   18(fvec4) Load 225
+             227:   40(fvec2) VectorShuffle 226 226 0 1
+             228:      6(int) Load 8(invocation)
+             229:   40(fvec2) GroupNonUniformShuffleXor 35 227 228
+             230:     41(ptr) AccessChain 27(data) 224 29
+             231:   18(fvec4) Load 230
+             232:   18(fvec4) VectorShuffle 231 229 4 5 2 3
+                              Store 230 232
+             233:      6(int) Load 8(invocation)
+             234:     41(ptr) AccessChain 27(data) 51 29
+             235:   18(fvec4) Load 234
+             236:   52(fvec3) VectorShuffle 235 235 0 1 2
+             237:      6(int) Load 8(invocation)
+             238:   52(fvec3) GroupNonUniformShuffleXor 35 236 237
+             239:     41(ptr) AccessChain 27(data) 233 29
+             240:   18(fvec4) Load 239
+             241:   18(fvec4) VectorShuffle 240 238 4 5 6 3
+                              Store 239 241
+             242:      6(int) Load 8(invocation)
+             243:     41(ptr) AccessChain 27(data) 62 29
+             244:   18(fvec4) Load 243
+             245:      6(int) Load 8(invocation)
+             246:   18(fvec4) GroupNonUniformShuffleXor 35 244 245
+             247:     41(ptr) AccessChain 27(data) 242 29
+                              Store 247 246
+             248:      6(int) Load 8(invocation)
+             249:     69(ptr) AccessChain 27(data) 29 39 30
+             250:     19(int) Load 249
+             251:      6(int) Load 8(invocation)
+             252:     19(int) GroupNonUniformShuffleXor 35 250 251
+             253:     69(ptr) AccessChain 27(data) 248 39 30
+                              Store 253 252
+             254:      6(int) Load 8(invocation)
+             255:     77(ptr) AccessChain 27(data) 39 39
+             256:   20(ivec4) Load 255
+             257:   76(ivec2) VectorShuffle 256 256 0 1
+             258:      6(int) Load 8(invocation)
+             259:   76(ivec2) GroupNonUniformShuffleXor 35 257 258
+             260:     77(ptr) AccessChain 27(data) 254 39
+             261:   20(ivec4) Load 260
+             262:   20(ivec4) VectorShuffle 261 259 4 5 2 3
+                              Store 260 262
+             263:      6(int) Load 8(invocation)
+             264:     77(ptr) AccessChain 27(data) 51 39
+             265:   20(ivec4) Load 264
+             266:   87(ivec3) VectorShuffle 265 265 0 1 2
+             267:      6(int) Load 8(invocation)
+             268:   87(ivec3) GroupNonUniformShuffleXor 35 266 267
+             269:     77(ptr) AccessChain 27(data) 263 39
+             270:   20(ivec4) Load 269
+             271:   20(ivec4) VectorShuffle 270 268 4 5 6 3
+                              Store 269 271
+             272:      6(int) Load 8(invocation)
+             273:     77(ptr) AccessChain 27(data) 62 39
+             274:   20(ivec4) Load 273
+             275:      6(int) Load 8(invocation)
+             276:   20(ivec4) GroupNonUniformShuffleXor 35 274 275
+             277:     77(ptr) AccessChain 27(data) 272 39
+                              Store 277 276
+             278:      6(int) Load 8(invocation)
+             279:    103(ptr) AccessChain 27(data) 29 51 30
+             280:      6(int) Load 279
+             281:      6(int) Load 8(invocation)
+             282:      6(int) GroupNonUniformShuffleXor 35 280 281
+             283:    103(ptr) AccessChain 27(data) 278 51 30
+                              Store 283 282
+             284:      6(int) Load 8(invocation)
+             285:    111(ptr) AccessChain 27(data) 39 51
+             286:   21(ivec4) Load 285
+             287:  110(ivec2) VectorShuffle 286 286 0 1
+             288:      6(int) Load 8(invocation)
+             289:  110(ivec2) GroupNonUniformShuffleXor 35 287 288
+             290:    111(ptr) AccessChain 27(data) 284 51
+             291:   21(ivec4) Load 290
+             292:   21(ivec4) VectorShuffle 291 289 4 5 2 3
+                              Store 290 292
+             293:      6(int) Load 8(invocation)
+             294:    111(ptr) AccessChain 27(data) 51 51
+             295:   21(ivec4) Load 294
+             296:  121(ivec3) VectorShuffle 295 295 0 1 2
+             297:      6(int) Load 8(invocation)
+             298:  121(ivec3) GroupNonUniformShuffleXor 35 296 297
+             299:    111(ptr) AccessChain 27(data) 293 51
+             300:   21(ivec4) Load 299
+             301:   21(ivec4) VectorShuffle 300 298 4 5 6 3
+                              Store 299 301
+             302:      6(int) Load 8(invocation)
+             303:    111(ptr) AccessChain 27(data) 62 51
+             304:   21(ivec4) Load 303
+             305:      6(int) Load 8(invocation)
+             306:   21(ivec4) GroupNonUniformShuffleXor 35 304 305
+             307:    111(ptr) AccessChain 27(data) 302 51
+                              Store 307 306
+             308:      6(int) Load 8(invocation)
+             309:    137(ptr) AccessChain 27(data) 29 62 30
+             310:   22(float) Load 309
+             311:      6(int) Load 8(invocation)
+             312:   22(float) GroupNonUniformShuffleXor 35 310 311
+             313:    137(ptr) AccessChain 27(data) 308 62 30
+                              Store 313 312
+             314:      6(int) Load 8(invocation)
+             315:    145(ptr) AccessChain 27(data) 39 62
+             316:   23(fvec4) Load 315
+             317:  144(fvec2) VectorShuffle 316 316 0 1
+             318:      6(int) Load 8(invocation)
+             319:  144(fvec2) GroupNonUniformShuffleXor 35 317 318
+             320:    145(ptr) AccessChain 27(data) 314 62
+             321:   23(fvec4) Load 320
+             322:   23(fvec4) VectorShuffle 321 319 4 5 2 3
+                              Store 320 322
+             323:      6(int) Load 8(invocation)
+             324:    145(ptr) AccessChain 27(data) 51 62
+             325:   23(fvec4) Load 324
+             326:  155(fvec3) VectorShuffle 325 325 0 1 2
+             327:      6(int) Load 8(invocation)
+             328:  155(fvec3) GroupNonUniformShuffleXor 35 326 327
+             329:    145(ptr) AccessChain 27(data) 323 62
+             330:   23(fvec4) Load 329
+             331:   23(fvec4) VectorShuffle 330 328 4 5 6 3
+                              Store 329 331
+             332:      6(int) Load 8(invocation)
+             333:    145(ptr) AccessChain 27(data) 62 62
+             334:   23(fvec4) Load 333
+             335:      6(int) Load 8(invocation)
+             336:   23(fvec4) GroupNonUniformShuffleXor 35 334 335
+             337:    145(ptr) AccessChain 27(data) 332 62
+                              Store 337 336
+             338:      6(int) Load 8(invocation)
+             339:     69(ptr) AccessChain 27(data) 29 39 30
+             340:     19(int) Load 339
+             341:   173(bool) SLessThan 340 29
+             342:      6(int) Load 8(invocation)
+             343:   173(bool) GroupNonUniformShuffleXor 35 341 342
+             344:     19(int) Select 343 39 29
+             345:     69(ptr) AccessChain 27(data) 338 39 30
+                              Store 345 344
+             346:      6(int) Load 8(invocation)
+             347:     77(ptr) AccessChain 27(data) 39 39
+             348:   20(ivec4) Load 347
+             349:   76(ivec2) VectorShuffle 348 348 0 1
+             350:  184(bvec2) SLessThan 349 183
+             351:      6(int) Load 8(invocation)
+             352:  184(bvec2) GroupNonUniformShuffleXor 35 350 351
+             353:   76(ivec2) Select 352 188 183
+             354:     77(ptr) AccessChain 27(data) 346 39
+             355:   20(ivec4) Load 354
+             356:   20(ivec4) VectorShuffle 355 353 4 5 2 3
+                              Store 354 356
+             357:      6(int) Load 8(invocation)
+             358:     77(ptr) AccessChain 27(data) 39 39
+             359:   20(ivec4) Load 358
+             360:   87(ivec3) VectorShuffle 359 359 0 1 2
+             361:  198(bvec3) SLessThan 360 197
+             362:      6(int) Load 8(invocation)
+             363:  198(bvec3) GroupNonUniformShuffleXor 35 361 362
+             364:   87(ivec3) Select 363 202 197
+             365:     77(ptr) AccessChain 27(data) 357 39
+             366:   20(ivec4) Load 365
+             367:   20(ivec4) VectorShuffle 366 364 4 5 6 3
+                              Store 365 367
+             368:      6(int) Load 8(invocation)
+             369:     77(ptr) AccessChain 27(data) 39 39
+             370:   20(ivec4) Load 369
+             371:  211(bvec4) SLessThan 370 210
+             372:      6(int) Load 8(invocation)
+             373:  211(bvec4) GroupNonUniformShuffleXor 35 371 372
+             374:   20(ivec4) Select 373 215 210
+             375:     77(ptr) AccessChain 27(data) 368 39
+                              Store 375 374
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroupShuffleRelative.comp.out b/Test/baseResults/spv.subgroupShuffleRelative.comp.out
new file mode 100644
index 0000000..bba49e7
--- /dev/null
+++ b/Test/baseResults/spv.subgroupShuffleRelative.comp.out
@@ -0,0 +1,462 @@
+spv.subgroupShuffleRelative.comp
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 379
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformShuffleRelative
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main" 10 12
+                              ExecutionMode 4 LocalSize 8 8 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              SourceExtension  "GL_KHR_shader_subgroup_shuffle_relative"
+                              Name 4  "main"
+                              Name 8  "invocation"
+                              Name 10  "gl_SubgroupInvocationID"
+                              Name 12  "gl_SubgroupSize"
+                              Name 24  "Buffers"
+                              MemberName 24(Buffers) 0  "f4"
+                              MemberName 24(Buffers) 1  "i4"
+                              MemberName 24(Buffers) 2  "u4"
+                              MemberName 24(Buffers) 3  "d4"
+                              Name 27  "data"
+                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 11 RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 13 RelaxedPrecision
+                              Decorate 14 RelaxedPrecision
+                              Decorate 16 RelaxedPrecision
+                              MemberDecorate 24(Buffers) 0 Offset 0
+                              MemberDecorate 24(Buffers) 1 Offset 16
+                              MemberDecorate 24(Buffers) 2 Offset 32
+                              MemberDecorate 24(Buffers) 3 Offset 64
+                              Decorate 24(Buffers) BufferBlock
+                              Decorate 27(data) DescriptorSet 0
+                              Decorate 27(data) Binding 0
+                              Decorate 378 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypePointer Input 6(int)
+10(gl_SubgroupInvocationID):      9(ptr) Variable Input
+12(gl_SubgroupSize):      9(ptr) Variable Input
+              15:      6(int) Constant 4
+              17:             TypeFloat 32
+              18:             TypeVector 17(float) 4
+              19:             TypeInt 32 1
+              20:             TypeVector 19(int) 4
+              21:             TypeVector 6(int) 4
+              22:             TypeFloat 64
+              23:             TypeVector 22(float) 4
+     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(fvec4)
+              25:             TypeArray 24(Buffers) 15
+              26:             TypePointer Uniform 25
+        27(data):     26(ptr) Variable Uniform
+              29:     19(int) Constant 0
+              30:      6(int) Constant 0
+              31:             TypePointer Uniform 17(float)
+              35:      6(int) Constant 3
+              39:     19(int) Constant 1
+              40:             TypeVector 17(float) 2
+              41:             TypePointer Uniform 18(fvec4)
+              51:     19(int) Constant 2
+              52:             TypeVector 17(float) 3
+              62:     19(int) Constant 3
+              69:             TypePointer Uniform 19(int)
+              76:             TypeVector 19(int) 2
+              77:             TypePointer Uniform 20(ivec4)
+              87:             TypeVector 19(int) 3
+             103:             TypePointer Uniform 6(int)
+             110:             TypeVector 6(int) 2
+             111:             TypePointer Uniform 21(ivec4)
+             121:             TypeVector 6(int) 3
+             137:             TypePointer Uniform 22(float)
+             144:             TypeVector 22(float) 2
+             145:             TypePointer Uniform 23(fvec4)
+             155:             TypeVector 22(float) 3
+             173:             TypeBool
+             183:   76(ivec2) ConstantComposite 29 29
+             184:             TypeVector 173(bool) 2
+             188:   76(ivec2) ConstantComposite 39 39
+             197:   87(ivec3) ConstantComposite 29 29 29
+             198:             TypeVector 173(bool) 3
+             202:   87(ivec3) ConstantComposite 39 39 39
+             210:   20(ivec4) ConstantComposite 29 29 29 29
+             211:             TypeVector 173(bool) 4
+             215:   20(ivec4) ConstantComposite 39 39 39 39
+             376:      6(int) Constant 8
+             377:      6(int) Constant 1
+             378:  121(ivec3) ConstantComposite 376 376 377
+         4(main):           2 Function None 3
+               5:             Label
+   8(invocation):      7(ptr) Variable Function
+              11:      6(int) Load 10(gl_SubgroupInvocationID)
+              13:      6(int) Load 12(gl_SubgroupSize)
+              14:      6(int) IAdd 11 13
+              16:      6(int) UMod 14 15
+                              Store 8(invocation) 16
+              28:      6(int) Load 8(invocation)
+              32:     31(ptr) AccessChain 27(data) 29 29 30
+              33:   17(float) Load 32
+              34:      6(int) Load 8(invocation)
+              36:   17(float) GroupNonUniformShuffleUp 35 33 34
+              37:     31(ptr) AccessChain 27(data) 28 29 30
+                              Store 37 36
+              38:      6(int) Load 8(invocation)
+              42:     41(ptr) AccessChain 27(data) 39 29
+              43:   18(fvec4) Load 42
+              44:   40(fvec2) VectorShuffle 43 43 0 1
+              45:      6(int) Load 8(invocation)
+              46:   40(fvec2) GroupNonUniformShuffleUp 35 44 45
+              47:     41(ptr) AccessChain 27(data) 38 29
+              48:   18(fvec4) Load 47
+              49:   18(fvec4) VectorShuffle 48 46 4 5 2 3
+                              Store 47 49
+              50:      6(int) Load 8(invocation)
+              53:     41(ptr) AccessChain 27(data) 51 29
+              54:   18(fvec4) Load 53
+              55:   52(fvec3) VectorShuffle 54 54 0 1 2
+              56:      6(int) Load 8(invocation)
+              57:   52(fvec3) GroupNonUniformShuffleUp 35 55 56
+              58:     41(ptr) AccessChain 27(data) 50 29
+              59:   18(fvec4) Load 58
+              60:   18(fvec4) VectorShuffle 59 57 4 5 6 3
+                              Store 58 60
+              61:      6(int) Load 8(invocation)
+              63:     41(ptr) AccessChain 27(data) 62 29
+              64:   18(fvec4) Load 63
+              65:      6(int) Load 8(invocation)
+              66:   18(fvec4) GroupNonUniformShuffleUp 35 64 65
+              67:     41(ptr) AccessChain 27(data) 61 29
+                              Store 67 66
+              68:      6(int) Load 8(invocation)
+              70:     69(ptr) AccessChain 27(data) 29 39 30
+              71:     19(int) Load 70
+              72:      6(int) Load 8(invocation)
+              73:     19(int) GroupNonUniformShuffleUp 35 71 72
+              74:     69(ptr) AccessChain 27(data) 68 39 30
+                              Store 74 73
+              75:      6(int) Load 8(invocation)
+              78:     77(ptr) AccessChain 27(data) 39 39
+              79:   20(ivec4) Load 78
+              80:   76(ivec2) VectorShuffle 79 79 0 1
+              81:      6(int) Load 8(invocation)
+              82:   76(ivec2) GroupNonUniformShuffleUp 35 80 81
+              83:     77(ptr) AccessChain 27(data) 75 39
+              84:   20(ivec4) Load 83
+              85:   20(ivec4) VectorShuffle 84 82 4 5 2 3
+                              Store 83 85
+              86:      6(int) Load 8(invocation)
+              88:     77(ptr) AccessChain 27(data) 51 39
+              89:   20(ivec4) Load 88
+              90:   87(ivec3) VectorShuffle 89 89 0 1 2
+              91:      6(int) Load 8(invocation)
+              92:   87(ivec3) GroupNonUniformShuffleUp 35 90 91
+              93:     77(ptr) AccessChain 27(data) 86 39
+              94:   20(ivec4) Load 93
+              95:   20(ivec4) VectorShuffle 94 92 4 5 6 3
+                              Store 93 95
+              96:      6(int) Load 8(invocation)
+              97:     77(ptr) AccessChain 27(data) 62 39
+              98:   20(ivec4) Load 97
+              99:      6(int) Load 8(invocation)
+             100:   20(ivec4) GroupNonUniformShuffleUp 35 98 99
+             101:     77(ptr) AccessChain 27(data) 96 39
+                              Store 101 100
+             102:      6(int) Load 8(invocation)
+             104:    103(ptr) AccessChain 27(data) 29 51 30
+             105:      6(int) Load 104
+             106:      6(int) Load 8(invocation)
+             107:      6(int) GroupNonUniformShuffleUp 35 105 106
+             108:    103(ptr) AccessChain 27(data) 102 51 30
+                              Store 108 107
+             109:      6(int) Load 8(invocation)
+             112:    111(ptr) AccessChain 27(data) 39 51
+             113:   21(ivec4) Load 112
+             114:  110(ivec2) VectorShuffle 113 113 0 1
+             115:      6(int) Load 8(invocation)
+             116:  110(ivec2) GroupNonUniformShuffleUp 35 114 115
+             117:    111(ptr) AccessChain 27(data) 109 51
+             118:   21(ivec4) Load 117
+             119:   21(ivec4) VectorShuffle 118 116 4 5 2 3
+                              Store 117 119
+             120:      6(int) Load 8(invocation)
+             122:    111(ptr) AccessChain 27(data) 51 51
+             123:   21(ivec4) Load 122
+             124:  121(ivec3) VectorShuffle 123 123 0 1 2
+             125:      6(int) Load 8(invocation)
+             126:  121(ivec3) GroupNonUniformShuffleUp 35 124 125
+             127:    111(ptr) AccessChain 27(data) 120 51
+             128:   21(ivec4) Load 127
+             129:   21(ivec4) VectorShuffle 128 126 4 5 6 3
+                              Store 127 129
+             130:      6(int) Load 8(invocation)
+             131:    111(ptr) AccessChain 27(data) 62 51
+             132:   21(ivec4) Load 131
+             133:      6(int) Load 8(invocation)
+             134:   21(ivec4) GroupNonUniformShuffleUp 35 132 133
+             135:    111(ptr) AccessChain 27(data) 130 51
+                              Store 135 134
+             136:      6(int) Load 8(invocation)
+             138:    137(ptr) AccessChain 27(data) 29 62 30
+             139:   22(float) Load 138
+             140:      6(int) Load 8(invocation)
+             141:   22(float) GroupNonUniformShuffleUp 35 139 140
+             142:    137(ptr) AccessChain 27(data) 136 62 30
+                              Store 142 141
+             143:      6(int) Load 8(invocation)
+             146:    145(ptr) AccessChain 27(data) 39 62
+             147:   23(fvec4) Load 146
+             148:  144(fvec2) VectorShuffle 147 147 0 1
+             149:      6(int) Load 8(invocation)
+             150:  144(fvec2) GroupNonUniformShuffleUp 35 148 149
+             151:    145(ptr) AccessChain 27(data) 143 62
+             152:   23(fvec4) Load 151
+             153:   23(fvec4) VectorShuffle 152 150 4 5 2 3
+                              Store 151 153
+             154:      6(int) Load 8(invocation)
+             156:    145(ptr) AccessChain 27(data) 51 62
+             157:   23(fvec4) Load 156
+             158:  155(fvec3) VectorShuffle 157 157 0 1 2
+             159:      6(int) Load 8(invocation)
+             160:  155(fvec3) GroupNonUniformShuffleUp 35 158 159
+             161:    145(ptr) AccessChain 27(data) 154 62
+             162:   23(fvec4) Load 161
+             163:   23(fvec4) VectorShuffle 162 160 4 5 6 3
+                              Store 161 163
+             164:      6(int) Load 8(invocation)
+             165:    145(ptr) AccessChain 27(data) 62 62
+             166:   23(fvec4) Load 165
+             167:      6(int) Load 8(invocation)
+             168:   23(fvec4) GroupNonUniformShuffleUp 35 166 167
+             169:    145(ptr) AccessChain 27(data) 164 62
+                              Store 169 168
+             170:      6(int) Load 8(invocation)
+             171:     69(ptr) AccessChain 27(data) 29 39 30
+             172:     19(int) Load 171
+             174:   173(bool) SLessThan 172 29
+             175:      6(int) Load 8(invocation)
+             176:   173(bool) GroupNonUniformShuffleUp 35 174 175
+             177:     19(int) Select 176 39 29
+             178:     69(ptr) AccessChain 27(data) 170 39 30
+                              Store 178 177
+             179:      6(int) Load 8(invocation)
+             180:     77(ptr) AccessChain 27(data) 39 39
+             181:   20(ivec4) Load 180
+             182:   76(ivec2) VectorShuffle 181 181 0 1
+             185:  184(bvec2) SLessThan 182 183
+             186:      6(int) Load 8(invocation)
+             187:  184(bvec2) GroupNonUniformShuffleUp 35 185 186
+             189:   76(ivec2) Select 187 188 183
+             190:     77(ptr) AccessChain 27(data) 179 39
+             191:   20(ivec4) Load 190
+             192:   20(ivec4) VectorShuffle 191 189 4 5 2 3
+                              Store 190 192
+             193:      6(int) Load 8(invocation)
+             194:     77(ptr) AccessChain 27(data) 39 39
+             195:   20(ivec4) Load 194
+             196:   87(ivec3) VectorShuffle 195 195 0 1 2
+             199:  198(bvec3) SLessThan 196 197
+             200:      6(int) Load 8(invocation)
+             201:  198(bvec3) GroupNonUniformShuffleUp 35 199 200
+             203:   87(ivec3) Select 201 202 197
+             204:     77(ptr) AccessChain 27(data) 193 39
+             205:   20(ivec4) Load 204
+             206:   20(ivec4) VectorShuffle 205 203 4 5 6 3
+                              Store 204 206
+             207:      6(int) Load 8(invocation)
+             208:     77(ptr) AccessChain 27(data) 39 39
+             209:   20(ivec4) Load 208
+             212:  211(bvec4) SLessThan 209 210
+             213:      6(int) Load 8(invocation)
+             214:  211(bvec4) GroupNonUniformShuffleUp 35 212 213
+             216:   20(ivec4) Select 214 215 210
+             217:     77(ptr) AccessChain 27(data) 207 39
+                              Store 217 216
+             218:      6(int) Load 8(invocation)
+             219:     31(ptr) AccessChain 27(data) 29 29 30
+             220:   17(float) Load 219
+             221:      6(int) Load 8(invocation)
+             222:   17(float) GroupNonUniformShuffleDown 35 220 221
+             223:     31(ptr) AccessChain 27(data) 218 29 30
+                              Store 223 222
+             224:      6(int) Load 8(invocation)
+             225:     41(ptr) AccessChain 27(data) 39 29
+             226:   18(fvec4) Load 225
+             227:   40(fvec2) VectorShuffle 226 226 0 1
+             228:      6(int) Load 8(invocation)
+             229:   40(fvec2) GroupNonUniformShuffleDown 35 227 228
+             230:     41(ptr) AccessChain 27(data) 224 29
+             231:   18(fvec4) Load 230
+             232:   18(fvec4) VectorShuffle 231 229 4 5 2 3
+                              Store 230 232
+             233:      6(int) Load 8(invocation)
+             234:     41(ptr) AccessChain 27(data) 51 29
+             235:   18(fvec4) Load 234
+             236:   52(fvec3) VectorShuffle 235 235 0 1 2
+             237:      6(int) Load 8(invocation)
+             238:   52(fvec3) GroupNonUniformShuffleDown 35 236 237
+             239:     41(ptr) AccessChain 27(data) 233 29
+             240:   18(fvec4) Load 239
+             241:   18(fvec4) VectorShuffle 240 238 4 5 6 3
+                              Store 239 241
+             242:      6(int) Load 8(invocation)
+             243:     41(ptr) AccessChain 27(data) 62 29
+             244:   18(fvec4) Load 243
+             245:      6(int) Load 8(invocation)
+             246:   18(fvec4) GroupNonUniformShuffleDown 35 244 245
+             247:     41(ptr) AccessChain 27(data) 242 29
+                              Store 247 246
+             248:      6(int) Load 8(invocation)
+             249:     69(ptr) AccessChain 27(data) 29 39 30
+             250:     19(int) Load 249
+             251:      6(int) Load 8(invocation)
+             252:     19(int) GroupNonUniformShuffleDown 35 250 251
+             253:     69(ptr) AccessChain 27(data) 248 39 30
+                              Store 253 252
+             254:      6(int) Load 8(invocation)
+             255:     77(ptr) AccessChain 27(data) 39 39
+             256:   20(ivec4) Load 255
+             257:   76(ivec2) VectorShuffle 256 256 0 1
+             258:      6(int) Load 8(invocation)
+             259:   76(ivec2) GroupNonUniformShuffleDown 35 257 258
+             260:     77(ptr) AccessChain 27(data) 254 39
+             261:   20(ivec4) Load 260
+             262:   20(ivec4) VectorShuffle 261 259 4 5 2 3
+                              Store 260 262
+             263:      6(int) Load 8(invocation)
+             264:     77(ptr) AccessChain 27(data) 51 39
+             265:   20(ivec4) Load 264
+             266:   87(ivec3) VectorShuffle 265 265 0 1 2
+             267:      6(int) Load 8(invocation)
+             268:   87(ivec3) GroupNonUniformShuffleDown 35 266 267
+             269:     77(ptr) AccessChain 27(data) 263 39
+             270:   20(ivec4) Load 269
+             271:   20(ivec4) VectorShuffle 270 268 4 5 6 3
+                              Store 269 271
+             272:      6(int) Load 8(invocation)
+             273:     77(ptr) AccessChain 27(data) 62 39
+             274:   20(ivec4) Load 273
+             275:      6(int) Load 8(invocation)
+             276:   20(ivec4) GroupNonUniformShuffleDown 35 274 275
+             277:     77(ptr) AccessChain 27(data) 272 39
+                              Store 277 276
+             278:      6(int) Load 8(invocation)
+             279:    103(ptr) AccessChain 27(data) 29 51 30
+             280:      6(int) Load 279
+             281:      6(int) Load 8(invocation)
+             282:      6(int) GroupNonUniformShuffleDown 35 280 281
+             283:    103(ptr) AccessChain 27(data) 278 51 30
+                              Store 283 282
+             284:      6(int) Load 8(invocation)
+             285:    111(ptr) AccessChain 27(data) 39 51
+             286:   21(ivec4) Load 285
+             287:  110(ivec2) VectorShuffle 286 286 0 1
+             288:      6(int) Load 8(invocation)
+             289:  110(ivec2) GroupNonUniformShuffleDown 35 287 288
+             290:    111(ptr) AccessChain 27(data) 284 51
+             291:   21(ivec4) Load 290
+             292:   21(ivec4) VectorShuffle 291 289 4 5 2 3
+                              Store 290 292
+             293:      6(int) Load 8(invocation)
+             294:    111(ptr) AccessChain 27(data) 51 51
+             295:   21(ivec4) Load 294
+             296:  121(ivec3) VectorShuffle 295 295 0 1 2
+             297:      6(int) Load 8(invocation)
+             298:  121(ivec3) GroupNonUniformShuffleDown 35 296 297
+             299:    111(ptr) AccessChain 27(data) 293 51
+             300:   21(ivec4) Load 299
+             301:   21(ivec4) VectorShuffle 300 298 4 5 6 3
+                              Store 299 301
+             302:      6(int) Load 8(invocation)
+             303:    111(ptr) AccessChain 27(data) 62 51
+             304:   21(ivec4) Load 303
+             305:      6(int) Load 8(invocation)
+             306:   21(ivec4) GroupNonUniformShuffleDown 35 304 305
+             307:    111(ptr) AccessChain 27(data) 302 51
+                              Store 307 306
+             308:      6(int) Load 8(invocation)
+             309:    137(ptr) AccessChain 27(data) 29 62 30
+             310:   22(float) Load 309
+             311:      6(int) Load 8(invocation)
+             312:   22(float) GroupNonUniformShuffleDown 35 310 311
+             313:    137(ptr) AccessChain 27(data) 308 62 30
+                              Store 313 312
+             314:      6(int) Load 8(invocation)
+             315:    145(ptr) AccessChain 27(data) 39 62
+             316:   23(fvec4) Load 315
+             317:  144(fvec2) VectorShuffle 316 316 0 1
+             318:      6(int) Load 8(invocation)
+             319:  144(fvec2) GroupNonUniformShuffleDown 35 317 318
+             320:    145(ptr) AccessChain 27(data) 314 62
+             321:   23(fvec4) Load 320
+             322:   23(fvec4) VectorShuffle 321 319 4 5 2 3
+                              Store 320 322
+             323:      6(int) Load 8(invocation)
+             324:    145(ptr) AccessChain 27(data) 51 62
+             325:   23(fvec4) Load 324
+             326:  155(fvec3) VectorShuffle 325 325 0 1 2
+             327:      6(int) Load 8(invocation)
+             328:  155(fvec3) GroupNonUniformShuffleDown 35 326 327
+             329:    145(ptr) AccessChain 27(data) 323 62
+             330:   23(fvec4) Load 329
+             331:   23(fvec4) VectorShuffle 330 328 4 5 6 3
+                              Store 329 331
+             332:      6(int) Load 8(invocation)
+             333:    145(ptr) AccessChain 27(data) 62 62
+             334:   23(fvec4) Load 333
+             335:      6(int) Load 8(invocation)
+             336:   23(fvec4) GroupNonUniformShuffleDown 35 334 335
+             337:    145(ptr) AccessChain 27(data) 332 62
+                              Store 337 336
+             338:      6(int) Load 8(invocation)
+             339:     69(ptr) AccessChain 27(data) 29 39 30
+             340:     19(int) Load 339
+             341:   173(bool) SLessThan 340 29
+             342:      6(int) Load 8(invocation)
+             343:   173(bool) GroupNonUniformShuffleDown 35 341 342
+             344:     19(int) Select 343 39 29
+             345:     69(ptr) AccessChain 27(data) 338 39 30
+                              Store 345 344
+             346:      6(int) Load 8(invocation)
+             347:     77(ptr) AccessChain 27(data) 39 39
+             348:   20(ivec4) Load 347
+             349:   76(ivec2) VectorShuffle 348 348 0 1
+             350:  184(bvec2) SLessThan 349 183
+             351:      6(int) Load 8(invocation)
+             352:  184(bvec2) GroupNonUniformShuffleDown 35 350 351
+             353:   76(ivec2) Select 352 188 183
+             354:     77(ptr) AccessChain 27(data) 346 39
+             355:   20(ivec4) Load 354
+             356:   20(ivec4) VectorShuffle 355 353 4 5 2 3
+                              Store 354 356
+             357:      6(int) Load 8(invocation)
+             358:     77(ptr) AccessChain 27(data) 39 39
+             359:   20(ivec4) Load 358
+             360:   87(ivec3) VectorShuffle 359 359 0 1 2
+             361:  198(bvec3) SLessThan 360 197
+             362:      6(int) Load 8(invocation)
+             363:  198(bvec3) GroupNonUniformShuffleDown 35 361 362
+             364:   87(ivec3) Select 363 202 197
+             365:     77(ptr) AccessChain 27(data) 357 39
+             366:   20(ivec4) Load 365
+             367:   20(ivec4) VectorShuffle 366 364 4 5 6 3
+                              Store 365 367
+             368:      6(int) Load 8(invocation)
+             369:     77(ptr) AccessChain 27(data) 39 39
+             370:   20(ivec4) Load 369
+             371:  211(bvec4) SLessThan 370 210
+             372:      6(int) Load 8(invocation)
+             373:  211(bvec4) GroupNonUniformShuffleDown 35 371 372
+             374:   20(ivec4) Select 373 215 210
+             375:     77(ptr) AccessChain 27(data) 368 39
+                              Store 375 374
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.subgroupVote.comp.out b/Test/baseResults/spv.subgroupVote.comp.out
new file mode 100644
index 0000000..831e8fa
--- /dev/null
+++ b/Test/baseResults/spv.subgroupVote.comp.out
@@ -0,0 +1,288 @@
+spv.subgroupVote.comp
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 216
+
+                              Capability Shader
+                              Capability Float64
+                              Capability GroupNonUniform
+                              Capability GroupNonUniformVote
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main" 10 12
+                              ExecutionMode 4 LocalSize 8 8 1
+                              Source GLSL 450
+                              SourceExtension  "GL_KHR_shader_subgroup_basic"
+                              SourceExtension  "GL_KHR_shader_subgroup_vote"
+                              Name 4  "main"
+                              Name 8  "invocation"
+                              Name 10  "gl_SubgroupInvocationID"
+                              Name 12  "gl_SubgroupSize"
+                              Name 24  "Buffers"
+                              MemberName 24(Buffers) 0  "f4"
+                              MemberName 24(Buffers) 1  "i4"
+                              MemberName 24(Buffers) 2  "u4"
+                              MemberName 24(Buffers) 3  "d4"
+                              MemberName 24(Buffers) 4  "r"
+                              Name 27  "data"
+                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
+                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
+                              Decorate 11 RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
+                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
+                              Decorate 13 RelaxedPrecision
+                              Decorate 14 RelaxedPrecision
+                              Decorate 16 RelaxedPrecision
+                              MemberDecorate 24(Buffers) 0 Offset 0
+                              MemberDecorate 24(Buffers) 1 Offset 16
+                              MemberDecorate 24(Buffers) 2 Offset 32
+                              MemberDecorate 24(Buffers) 3 Offset 64
+                              MemberDecorate 24(Buffers) 4 Offset 96
+                              Decorate 24(Buffers) BufferBlock
+                              Decorate 27(data) DescriptorSet 0
+                              Decorate 27(data) Binding 0
+                              Decorate 215 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypePointer Input 6(int)
+10(gl_SubgroupInvocationID):      9(ptr) Variable Input
+12(gl_SubgroupSize):      9(ptr) Variable Input
+              15:      6(int) Constant 4
+              17:             TypeFloat 32
+              18:             TypeVector 17(float) 4
+              19:             TypeInt 32 1
+              20:             TypeVector 19(int) 4
+              21:             TypeVector 6(int) 4
+              22:             TypeFloat 64
+              23:             TypeVector 22(float) 4
+     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(fvec4) 19(int)
+              25:             TypeArray 24(Buffers) 15
+              26:             TypePointer Uniform 25
+        27(data):     26(ptr) Variable Uniform
+              29:     19(int) Constant 4
+              30:             TypePointer Uniform 19(int)
+              33:     19(int) Constant 0
+              34:             TypeBool
+              36:      6(int) Constant 3
+              41:      6(int) Constant 0
+              42:             TypePointer Uniform 17(float)
+              46:     19(int) Constant 1
+              50:             TypeVector 17(float) 2
+              51:             TypePointer Uniform 18(fvec4)
+              59:     19(int) Constant 2
+              60:             TypeVector 17(float) 3
+              68:     19(int) Constant 3
+              81:             TypeVector 19(int) 2
+              82:             TypePointer Uniform 20(ivec4)
+              90:             TypeVector 19(int) 3
+             104:             TypePointer Uniform 6(int)
+             111:             TypeVector 6(int) 2
+             112:             TypePointer Uniform 21(ivec4)
+             120:             TypeVector 6(int) 3
+             142:             TypePointer Uniform 22(float)
+             149:             TypeVector 22(float) 2
+             150:             TypePointer Uniform 23(fvec4)
+             158:             TypeVector 22(float) 3
+             182:   81(ivec2) ConstantComposite 33 33
+             183:             TypeVector 34(bool) 2
+             194:   90(ivec3) ConstantComposite 33 33 33
+             195:             TypeVector 34(bool) 3
+             205:   20(ivec4) ConstantComposite 33 33 33 33
+             206:             TypeVector 34(bool) 4
+             213:      6(int) Constant 8
+             214:      6(int) Constant 1
+             215:  120(ivec3) ConstantComposite 213 213 214
+         4(main):           2 Function None 3
+               5:             Label
+   8(invocation):      7(ptr) Variable Function
+              11:      6(int) Load 10(gl_SubgroupInvocationID)
+              13:      6(int) Load 12(gl_SubgroupSize)
+              14:      6(int) IAdd 11 13
+              16:      6(int) UMod 14 15
+                              Store 8(invocation) 16
+              28:      6(int) Load 8(invocation)
+              31:     30(ptr) AccessChain 27(data) 28 29
+              32:     19(int) Load 31
+              35:    34(bool) SLessThan 32 33
+              37:    34(bool) GroupNonUniformAll 36 35
+                              SelectionMerge 39 None
+                              BranchConditional 37 38 133
+              38:               Label
+              40:      6(int)   Load 8(invocation)
+              43:     42(ptr)   AccessChain 27(data) 33 33 41
+              44:   17(float)   Load 43
+              45:    34(bool)   GroupNonUniformAllEqual 36 44
+              47:     19(int)   Select 45 46 33
+              48:     30(ptr)   AccessChain 27(data) 40 29
+                                Store 48 47
+              49:      6(int)   Load 8(invocation)
+              52:     51(ptr)   AccessChain 27(data) 46 33
+              53:   18(fvec4)   Load 52
+              54:   50(fvec2)   VectorShuffle 53 53 0 1
+              55:    34(bool)   GroupNonUniformAllEqual 36 54
+              56:     19(int)   Select 55 46 33
+              57:     30(ptr)   AccessChain 27(data) 49 29
+                                Store 57 56
+              58:      6(int)   Load 8(invocation)
+              61:     51(ptr)   AccessChain 27(data) 59 33
+              62:   18(fvec4)   Load 61
+              63:   60(fvec3)   VectorShuffle 62 62 0 1 2
+              64:    34(bool)   GroupNonUniformAllEqual 36 63
+              65:     19(int)   Select 64 46 33
+              66:     30(ptr)   AccessChain 27(data) 58 29
+                                Store 66 65
+              67:      6(int)   Load 8(invocation)
+              69:     51(ptr)   AccessChain 27(data) 68 33
+              70:   18(fvec4)   Load 69
+              71:    34(bool)   GroupNonUniformAllEqual 36 70
+              72:     19(int)   Select 71 46 33
+              73:     30(ptr)   AccessChain 27(data) 67 29
+                                Store 73 72
+              74:      6(int)   Load 8(invocation)
+              75:     30(ptr)   AccessChain 27(data) 33 46 41
+              76:     19(int)   Load 75
+              77:    34(bool)   GroupNonUniformAllEqual 36 76
+              78:     19(int)   Select 77 46 33
+              79:     30(ptr)   AccessChain 27(data) 74 29
+                                Store 79 78
+              80:      6(int)   Load 8(invocation)
+              83:     82(ptr)   AccessChain 27(data) 46 46
+              84:   20(ivec4)   Load 83
+              85:   81(ivec2)   VectorShuffle 84 84 0 1
+              86:    34(bool)   GroupNonUniformAllEqual 36 85
+              87:     19(int)   Select 86 46 33
+              88:     30(ptr)   AccessChain 27(data) 80 29
+                                Store 88 87
+              89:      6(int)   Load 8(invocation)
+              91:     82(ptr)   AccessChain 27(data) 59 46
+              92:   20(ivec4)   Load 91
+              93:   90(ivec3)   VectorShuffle 92 92 0 1 2
+              94:    34(bool)   GroupNonUniformAllEqual 36 93
+              95:     19(int)   Select 94 46 33
+              96:     30(ptr)   AccessChain 27(data) 89 29
+                                Store 96 95
+              97:      6(int)   Load 8(invocation)
+              98:     82(ptr)   AccessChain 27(data) 68 46
+              99:   20(ivec4)   Load 98
+             100:    34(bool)   GroupNonUniformAllEqual 36 99
+             101:     19(int)   Select 100 46 33
+             102:     30(ptr)   AccessChain 27(data) 97 29
+                                Store 102 101
+             103:      6(int)   Load 8(invocation)
+             105:    104(ptr)   AccessChain 27(data) 33 59 41
+             106:      6(int)   Load 105
+             107:    34(bool)   GroupNonUniformAllEqual 36 106
+             108:     19(int)   Select 107 46 33
+             109:     30(ptr)   AccessChain 27(data) 103 29
+                                Store 109 108
+             110:      6(int)   Load 8(invocation)
+             113:    112(ptr)   AccessChain 27(data) 46 59
+             114:   21(ivec4)   Load 113
+             115:  111(ivec2)   VectorShuffle 114 114 0 1
+             116:    34(bool)   GroupNonUniformAllEqual 36 115
+             117:     19(int)   Select 116 46 33
+             118:     30(ptr)   AccessChain 27(data) 110 29
+                                Store 118 117
+             119:      6(int)   Load 8(invocation)
+             121:    112(ptr)   AccessChain 27(data) 59 59
+             122:   21(ivec4)   Load 121
+             123:  120(ivec3)   VectorShuffle 122 122 0 1 2
+             124:    34(bool)   GroupNonUniformAllEqual 36 123
+             125:     19(int)   Select 124 46 33
+             126:     30(ptr)   AccessChain 27(data) 119 29
+                                Store 126 125
+             127:      6(int)   Load 8(invocation)
+             128:    112(ptr)   AccessChain 27(data) 68 59
+             129:   21(ivec4)   Load 128
+             130:    34(bool)   GroupNonUniformAllEqual 36 129
+             131:     19(int)   Select 130 46 33
+             132:     30(ptr)   AccessChain 27(data) 127 29
+                                Store 132 131
+                                Branch 39
+             133:               Label
+             134:      6(int)   Load 8(invocation)
+             135:     30(ptr)   AccessChain 27(data) 134 29
+             136:     19(int)   Load 135
+             137:    34(bool)   SLessThan 136 33
+             138:    34(bool)   GroupNonUniformAny 36 137
+                                SelectionMerge 140 None
+                                BranchConditional 138 139 140
+             139:                 Label
+             141:      6(int)     Load 8(invocation)
+             143:    142(ptr)     AccessChain 27(data) 33 68 41
+             144:   22(float)     Load 143
+             145:    34(bool)     GroupNonUniformAllEqual 36 144
+             146:     19(int)     Select 145 46 33
+             147:     30(ptr)     AccessChain 27(data) 141 29
+                                  Store 147 146
+             148:      6(int)     Load 8(invocation)
+             151:    150(ptr)     AccessChain 27(data) 46 68
+             152:   23(fvec4)     Load 151
+             153:  149(fvec2)     VectorShuffle 152 152 0 1
+             154:    34(bool)     GroupNonUniformAllEqual 36 153
+             155:     19(int)     Select 154 46 33
+             156:     30(ptr)     AccessChain 27(data) 148 29
+                                  Store 156 155
+             157:      6(int)     Load 8(invocation)
+             159:    150(ptr)     AccessChain 27(data) 59 68
+             160:   23(fvec4)     Load 159
+             161:  158(fvec3)     VectorShuffle 160 160 0 1 2
+             162:    34(bool)     GroupNonUniformAllEqual 36 161
+             163:     19(int)     Select 162 46 33
+             164:     30(ptr)     AccessChain 27(data) 157 29
+                                  Store 164 163
+             165:      6(int)     Load 8(invocation)
+             166:    150(ptr)     AccessChain 27(data) 68 68
+             167:   23(fvec4)     Load 166
+             168:    34(bool)     GroupNonUniformAllEqual 36 167
+             169:     19(int)     Select 168 46 33
+             170:     30(ptr)     AccessChain 27(data) 165 29
+                                  Store 170 169
+             171:      6(int)     Load 8(invocation)
+             172:     30(ptr)     AccessChain 27(data) 33 46 41
+             173:     19(int)     Load 172
+             174:    34(bool)     SLessThan 173 33
+             175:    34(bool)     GroupNonUniformAllEqual 36 174
+             176:     19(int)     Select 175 46 33
+             177:     30(ptr)     AccessChain 27(data) 171 29
+                                  Store 177 176
+             178:      6(int)     Load 8(invocation)
+             179:     82(ptr)     AccessChain 27(data) 46 46
+             180:   20(ivec4)     Load 179
+             181:   81(ivec2)     VectorShuffle 180 180 0 1
+             184:  183(bvec2)     SLessThan 181 182
+             185:    34(bool)     GroupNonUniformAllEqual 36 184
+             186:     19(int)     Select 185 46 33
+             187:   81(ivec2)     CompositeConstruct 186 186
+             188:     19(int)     CompositeExtract 187 0
+             189:     30(ptr)     AccessChain 27(data) 178 29
+                                  Store 189 188
+             190:      6(int)     Load 8(invocation)
+             191:     82(ptr)     AccessChain 27(data) 46 46
+             192:   20(ivec4)     Load 191
+             193:   90(ivec3)     VectorShuffle 192 192 0 1 2
+             196:  195(bvec3)     SLessThan 193 194
+             197:    34(bool)     GroupNonUniformAllEqual 36 196
+             198:     19(int)     Select 197 46 33
+             199:   90(ivec3)     CompositeConstruct 198 198 198
+             200:     19(int)     CompositeExtract 199 0
+             201:     30(ptr)     AccessChain 27(data) 190 29
+                                  Store 201 200
+             202:      6(int)     Load 8(invocation)
+             203:     82(ptr)     AccessChain 27(data) 46 46
+             204:   20(ivec4)     Load 203
+             207:  206(bvec4)     SLessThan 204 205
+             208:    34(bool)     GroupNonUniformAllEqual 36 207
+             209:     19(int)     Select 208 46 33
+             210:   20(ivec4)     CompositeConstruct 209 209 209 209
+             211:     19(int)     CompositeExtract 210 0
+             212:     30(ptr)     AccessChain 27(data) 202 29
+                                  Store 212 211
+                                  Branch 140
+             140:               Label
+                                Branch 39
+              39:             Label
+                              Return
+                              FunctionEnd
diff --git a/Test/findFunction.frag b/Test/findFunction.frag
new file mode 100644
index 0000000..7e18065
--- /dev/null
+++ b/Test/findFunction.frag
@@ -0,0 +1,46 @@
+#version 450
+
+#extension GL_KHX_shader_explicit_arithmetic_types: enable
+
+int64_t func(int8_t a, int16_t b, int16_t c)
+{
+    return int64_t(a | b + c);
+}
+
+int64_t func(int8_t a, int16_t b, int32_t c)
+{
+    return int64_t(a | b - c);
+}
+
+int64_t func(int32_t a, int32_t b, int32_t c)
+{
+    return int64_t(a / b + c);
+}
+
+int64_t func(float16_t a, float16_t b, float32_t c)
+{
+    return int64_t(a - b * c);
+}
+
+int64_t func(float16_t a, int16_t b, float32_t c)
+{
+    return int64_t(a - b * c);
+}
+
+void main()
+{
+    int8_t  x;
+    int16_t y;
+    int32_t z;
+    int64_t w;
+    float16_t f16;
+    float64_t f64;
+    int64_t b1 = func(x, y, z);
+    int64_t b2 = func(y, y, z); // tie
+    int64_t b3 = func(y, y, w); // No match
+    int64_t b4 = func(y, z, f16); // No match
+    int64_t b5 = func(y, y, f16);
+    int64_t b7 = func(f16, f16, y);
+    int64_t b8 = func(f16, f16, f64); // No match
+    int64_t b9 = func(f16, x, f16); // tie
+}
diff --git a/Test/hlsl.boolConv.vert b/Test/hlsl.boolConv.vert
index 7efe20b..6182b29 100755
--- a/Test/hlsl.boolConv.vert
+++ b/Test/hlsl.boolConv.vert
@@ -1,20 +1,20 @@
-static bool a, b = true;
-float4 main() : SV_Position
-{
-    int r = 0;
-
-    r += a + b;
-    r += a - b;
-    r += a * b;
-    r += a / b;
-    r += a % b;
-
-    r += a & b;
-    r += a | b;
-    r += a ^ b;
-
-    r += a << b;
-    r += a >> b;
-
-    return r;
-}
\ No newline at end of file
+static bool a, b = true;
+float4 main() : SV_Position
+{
+    int r = 0;
+
+    r += a + b;
+    r += a - b;
+    r += a * b;
+    r += a / b;
+    r += a % b;
+
+    r += a & b;
+    r += a | b;
+    r += a ^ b;
+
+    r += a << b;
+    r += a >> b;
+
+    return r;
+}
diff --git a/Test/hlsl.wavebroadcast.comp b/Test/hlsl.wavebroadcast.comp
new file mode 100644
index 0000000..f6bae36
--- /dev/null
+++ b/Test/hlsl.wavebroadcast.comp
@@ -0,0 +1,53 @@
+struct Types
+{
+	uint4 u;
+	int4 i;
+	float4 f;
+	double4 d;
+};
+
+RWStructuredBuffer<Types> data;
+
+[numthreads(32, 16, 1)]
+void CSMain(uint3 dti : SV_DispatchThreadID)
+{
+	data[dti.x].u = WaveReadLaneAt(data[dti.x].u, 13);
+	data[dti.x].u.x = WaveReadLaneAt(data[dti.x].u.x, 13);
+	data[dti.x].u.xy = WaveReadLaneAt(data[dti.x].u.xy, 13);
+	data[dti.x].u.xyz = WaveReadLaneAt(data[dti.x].u.xyz, 13);
+
+	data[dti.x].i = WaveReadLaneAt(data[dti.x].i, 13);
+	data[dti.x].i.x = WaveReadLaneAt(data[dti.x].i.x, 13);
+	data[dti.x].i.xy = WaveReadLaneAt(data[dti.x].i.xy, 13);
+	data[dti.x].i.xyz = WaveReadLaneAt(data[dti.x].i.xyz, 13);
+
+	data[dti.x].f = WaveReadLaneAt(data[dti.x].f, 13);
+	data[dti.x].f.x = WaveReadLaneAt(data[dti.x].f.x, 13);
+	data[dti.x].f.xy = WaveReadLaneAt(data[dti.x].f.xy, 13);
+	data[dti.x].f.xyz = WaveReadLaneAt(data[dti.x].f.xyz, 13);
+
+	data[dti.x].d = WaveReadFirstLane(data[dti.x].d);
+	data[dti.x].d.x = WaveReadFirstLane(data[dti.x].d.x);
+	data[dti.x].d.xy = WaveReadFirstLane(data[dti.x].d.xy);
+	data[dti.x].d.xyz = WaveReadFirstLane(data[dti.x].d.xyz);
+
+	data[dti.x].u = WaveReadFirstLane(data[dti.x].u);
+	data[dti.x].u.x = WaveReadFirstLane(data[dti.x].u.x);
+	data[dti.x].u.xy = WaveReadFirstLane(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WaveReadFirstLane(data[dti.x].u.xyz);
+
+	data[dti.x].i = WaveReadFirstLane(data[dti.x].i);
+	data[dti.x].i.x = WaveReadFirstLane(data[dti.x].i.x);
+	data[dti.x].i.xy = WaveReadFirstLane(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WaveReadFirstLane(data[dti.x].i.xyz);
+
+	data[dti.x].f = WaveReadFirstLane(data[dti.x].f);
+	data[dti.x].f.x = WaveReadFirstLane(data[dti.x].f.x);
+	data[dti.x].f.xy = WaveReadFirstLane(data[dti.x].f.xy);
+	data[dti.x].f.xyz = WaveReadFirstLane(data[dti.x].f.xyz);
+
+	data[dti.x].d = WaveReadFirstLane(data[dti.x].d);
+	data[dti.x].d.x = WaveReadFirstLane(data[dti.x].d.x);
+	data[dti.x].d.xy = WaveReadFirstLane(data[dti.x].d.xy);
+	data[dti.x].d.xyz = WaveReadFirstLane(data[dti.x].d.xyz);
+}
diff --git a/Test/hlsl.waveordered.comp b/Test/hlsl.waveordered.comp
new file mode 100644
index 0000000..032c8da
--- /dev/null
+++ b/Test/hlsl.waveordered.comp
@@ -0,0 +1,7 @@
+RWStructuredBuffer<uint> data;
+
+[numthreads(32, 16, 1)]
+void CSMain()
+{
+	data[WaveGetOrderedIndex()] = 1;
+}
diff --git a/Test/hlsl.waveordered.frag b/Test/hlsl.waveordered.frag
new file mode 100644
index 0000000..e384948
--- /dev/null
+++ b/Test/hlsl.waveordered.frag
@@ -0,0 +1,11 @@
+float4 PixelShaderFunction() : COLOR0
+{
+    if (0 == WaveGetOrderedIndex())
+    {
+        return float4(1, 2, 3, 4);
+    }
+    else
+    {
+        return float4(4, 3, 2, 1);
+    }
+}
diff --git a/Test/hlsl.waveordered2.comp b/Test/hlsl.waveordered2.comp
new file mode 100644
index 0000000..30ae01c
--- /dev/null
+++ b/Test/hlsl.waveordered2.comp
@@ -0,0 +1,8 @@
+RWStructuredBuffer<uint> data;
+
+[numthreads(32, 16, 1)]
+void CSMain()
+{
+	uint i = 42;
+	data[GlobalOrderedCountIncrement(i)] = 1;
+}
diff --git a/Test/hlsl.waveordered2.frag b/Test/hlsl.waveordered2.frag
new file mode 100644
index 0000000..6b00b41
--- /dev/null
+++ b/Test/hlsl.waveordered2.frag
@@ -0,0 +1,12 @@
+float4 PixelShaderFunction() : COLOR0
+{
+	uint i = 42;
+    if (0 == GlobalOrderedCountIncrement(i))
+    {
+        return float4(1, 2, 3, 4);
+    }
+    else
+    {
+        return float4(4, 3, 2, 1);
+    }
+}
diff --git a/Test/hlsl.waveprefix.comp b/Test/hlsl.waveprefix.comp
new file mode 100644
index 0000000..514cffd
--- /dev/null
+++ b/Test/hlsl.waveprefix.comp
@@ -0,0 +1,53 @@
+struct Types
+{
+	uint4 u;
+	int4 i;
+	float4 f;
+	double4 d;
+};
+
+RWStructuredBuffer<Types> data;
+
+[numthreads(32, 16, 1)]
+void CSMain(uint3 dti : SV_DispatchThreadID)
+{
+	data[dti.x].u = WavePrefixSum(data[dti.x].u);
+	data[dti.x].u.x = WavePrefixSum(data[dti.x].u.x);
+	data[dti.x].u.xy = WavePrefixSum(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WavePrefixSum(data[dti.x].u.xyz);
+
+	data[dti.x].i = WavePrefixSum(data[dti.x].i);
+	data[dti.x].i.x = WavePrefixSum(data[dti.x].i.x);
+	data[dti.x].i.xy = WavePrefixSum(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WavePrefixSum(data[dti.x].i.xyz);
+
+	data[dti.x].f = WavePrefixSum(data[dti.x].f);
+	data[dti.x].f.x = WavePrefixSum(data[dti.x].f.x);
+	data[dti.x].f.xy = WavePrefixSum(data[dti.x].f.xy);
+	data[dti.x].f.xyz = WavePrefixSum(data[dti.x].f.xyz);
+
+	data[dti.x].d = WavePrefixSum(data[dti.x].d);
+	data[dti.x].d.x = WavePrefixSum(data[dti.x].d.x);
+	data[dti.x].d.xy = WavePrefixSum(data[dti.x].d.xy);
+	data[dti.x].d.xyz = WavePrefixSum(data[dti.x].d.xyz);
+
+	data[dti.x].u = WavePrefixProduct(data[dti.x].u);
+	data[dti.x].u.x = WavePrefixProduct(data[dti.x].u.x);
+	data[dti.x].u.xy = WavePrefixProduct(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WavePrefixProduct(data[dti.x].u.xyz);
+
+	data[dti.x].i = WavePrefixProduct(data[dti.x].i);
+	data[dti.x].i.x = WavePrefixProduct(data[dti.x].i.x);
+	data[dti.x].i.xy = WavePrefixProduct(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WavePrefixProduct(data[dti.x].i.xyz);
+
+	data[dti.x].f = WavePrefixProduct(data[dti.x].f);
+	data[dti.x].f.x = WavePrefixProduct(data[dti.x].f.x);
+	data[dti.x].f.xy = WavePrefixProduct(data[dti.x].f.xy);
+	data[dti.x].f.xyz = WavePrefixProduct(data[dti.x].f.xyz);
+
+	data[dti.x].d = WavePrefixProduct(data[dti.x].d);
+	data[dti.x].d.x = WavePrefixProduct(data[dti.x].d.x);
+	data[dti.x].d.xy = WavePrefixProduct(data[dti.x].d.xy);
+	data[dti.x].d.xyz = WavePrefixProduct(data[dti.x].d.xyz);
+}
diff --git a/Test/hlsl.wavequad.comp b/Test/hlsl.wavequad.comp
new file mode 100644
index 0000000..801ba89
--- /dev/null
+++ b/Test/hlsl.wavequad.comp
@@ -0,0 +1,133 @@
+struct Types
+{
+	uint4 u;
+	int4 i;
+	float4 f;
+	double4 d;
+};
+
+RWStructuredBuffer<Types> data;
+
+[numthreads(32, 16, 1)]
+void CSMain(uint3 dti : SV_DispatchThreadID)
+{
+	data[dti.x].u = QuadReadLaneAt(data[dti.x].u, 0);
+	data[dti.x].u.x = QuadReadLaneAt(data[dti.x].u.x, 0);
+	data[dti.x].u.xy = QuadReadLaneAt(data[dti.x].u.xy, 0);
+	data[dti.x].u.xyz = QuadReadLaneAt(data[dti.x].u.xyz, 0);
+
+	data[dti.x].i = QuadReadLaneAt(data[dti.x].i, 0);
+	data[dti.x].i.x = QuadReadLaneAt(data[dti.x].i.x, 0);
+	data[dti.x].i.xy = QuadReadLaneAt(data[dti.x].i.xy, 0);
+	data[dti.x].i.xyz = QuadReadLaneAt(data[dti.x].i.xyz, 0);
+
+	data[dti.x].f = QuadReadLaneAt(data[dti.x].f, 0);
+	data[dti.x].f.x = QuadReadLaneAt(data[dti.x].f.x, 0);
+	data[dti.x].f.xy = QuadReadLaneAt(data[dti.x].f.xy, 0);
+	data[dti.x].f.xyz = QuadReadLaneAt(data[dti.x].f.xyz, 0);
+
+	data[dti.x].d = QuadReadLaneAt(data[dti.x].d, 0);
+	data[dti.x].d.x = QuadReadLaneAt(data[dti.x].d.x, 0);
+	data[dti.x].d.xy = QuadReadLaneAt(data[dti.x].d.xy, 0);
+	data[dti.x].d.xyz = QuadReadLaneAt(data[dti.x].d.xyz, 0);
+
+	data[dti.x].u = QuadReadLaneAt(data[dti.x].u, 1);
+	data[dti.x].u.x = QuadReadLaneAt(data[dti.x].u.x, 1);
+	data[dti.x].u.xy = QuadReadLaneAt(data[dti.x].u.xy, 1);
+	data[dti.x].u.xyz = QuadReadLaneAt(data[dti.x].u.xyz, 1);
+
+	data[dti.x].i = QuadReadLaneAt(data[dti.x].i, 1);
+	data[dti.x].i.x = QuadReadLaneAt(data[dti.x].i.x, 1);
+	data[dti.x].i.xy = QuadReadLaneAt(data[dti.x].i.xy, 1);
+	data[dti.x].i.xyz = QuadReadLaneAt(data[dti.x].i.xyz, 1);
+
+	data[dti.x].f = QuadReadLaneAt(data[dti.x].f, 1);
+	data[dti.x].f.x = QuadReadLaneAt(data[dti.x].f.x, 1);
+	data[dti.x].f.xy = QuadReadLaneAt(data[dti.x].f.xy, 1);
+	data[dti.x].f.xyz = QuadReadLaneAt(data[dti.x].f.xyz, 1);
+
+	data[dti.x].d = QuadReadLaneAt(data[dti.x].d, 1);
+	data[dti.x].d.x = QuadReadLaneAt(data[dti.x].d.x, 1);
+	data[dti.x].d.xy = QuadReadLaneAt(data[dti.x].d.xy, 1);
+	data[dti.x].d.xyz = QuadReadLaneAt(data[dti.x].d.xyz, 1);
+
+	data[dti.x].u = QuadReadLaneAt(data[dti.x].u, 2);
+	data[dti.x].u.x = QuadReadLaneAt(data[dti.x].u.x, 2);
+	data[dti.x].u.xy = QuadReadLaneAt(data[dti.x].u.xy, 2);
+	data[dti.x].u.xyz = QuadReadLaneAt(data[dti.x].u.xyz, 2);
+
+	data[dti.x].i = QuadReadLaneAt(data[dti.x].i, 2);
+	data[dti.x].i.x = QuadReadLaneAt(data[dti.x].i.x, 2);
+	data[dti.x].i.xy = QuadReadLaneAt(data[dti.x].i.xy, 2);
+	data[dti.x].i.xyz = QuadReadLaneAt(data[dti.x].i.xyz, 2);
+
+	data[dti.x].f = QuadReadLaneAt(data[dti.x].f, 2);
+	data[dti.x].f.x = QuadReadLaneAt(data[dti.x].f.x, 2);
+	data[dti.x].f.xy = QuadReadLaneAt(data[dti.x].f.xy, 2);
+	data[dti.x].f.xyz = QuadReadLaneAt(data[dti.x].f.xyz, 2);
+
+	data[dti.x].d = QuadReadLaneAt(data[dti.x].d, 2);
+	data[dti.x].d.x = QuadReadLaneAt(data[dti.x].d.x, 2);
+	data[dti.x].d.xy = QuadReadLaneAt(data[dti.x].d.xy, 2);
+	data[dti.x].d.xyz = QuadReadLaneAt(data[dti.x].d.xyz, 2);
+
+	data[dti.x].u = QuadReadLaneAt(data[dti.x].u, 3);
+	data[dti.x].u.x = QuadReadLaneAt(data[dti.x].u.x, 3);
+	data[dti.x].u.xy = QuadReadLaneAt(data[dti.x].u.xy, 3);
+	data[dti.x].u.xyz = QuadReadLaneAt(data[dti.x].u.xyz, 3);
+
+	data[dti.x].i = QuadReadLaneAt(data[dti.x].i, 3);
+	data[dti.x].i.x = QuadReadLaneAt(data[dti.x].i.x, 3);
+	data[dti.x].i.xy = QuadReadLaneAt(data[dti.x].i.xy, 3);
+	data[dti.x].i.xyz = QuadReadLaneAt(data[dti.x].i.xyz, 3);
+
+	data[dti.x].f = QuadReadLaneAt(data[dti.x].f, 3);
+	data[dti.x].f.x = QuadReadLaneAt(data[dti.x].f.x, 3);
+	data[dti.x].f.xy = QuadReadLaneAt(data[dti.x].f.xy, 3);
+	data[dti.x].f.xyz = QuadReadLaneAt(data[dti.x].f.xyz, 3);
+
+	data[dti.x].d = QuadReadLaneAt(data[dti.x].d, 3);
+	data[dti.x].d.x = QuadReadLaneAt(data[dti.x].d.x, 3);
+	data[dti.x].d.xy = QuadReadLaneAt(data[dti.x].d.xy, 3);
+	data[dti.x].d.xyz = QuadReadLaneAt(data[dti.x].d.xyz, 3);
+
+	data[dti.x].u = QuadSwapX(data[dti.x].u);
+	data[dti.x].u.x = QuadSwapX(data[dti.x].u.x);
+	data[dti.x].u.xy = QuadSwapX(data[dti.x].u.xy);
+	data[dti.x].u.xyz = QuadSwapX(data[dti.x].u.xyz);
+
+	data[dti.x].i = QuadSwapX(data[dti.x].i);
+	data[dti.x].i.x = QuadSwapX(data[dti.x].i.x);
+	data[dti.x].i.xy = QuadSwapX(data[dti.x].i.xy);
+	data[dti.x].i.xyz = QuadSwapX(data[dti.x].i.xyz);
+
+	data[dti.x].f = QuadSwapX(data[dti.x].f);
+	data[dti.x].f.x = QuadSwapX(data[dti.x].f.x);
+	data[dti.x].f.xy = QuadSwapX(data[dti.x].f.xy);
+	data[dti.x].f.xyz = QuadSwapX(data[dti.x].f.xyz);
+
+	data[dti.x].d = QuadSwapX(data[dti.x].d);
+	data[dti.x].d.x = QuadSwapX(data[dti.x].d.x);
+	data[dti.x].d.xy = QuadSwapX(data[dti.x].d.xy);
+	data[dti.x].d.xyz = QuadSwapX(data[dti.x].d.xyz);
+
+	data[dti.x].u = QuadSwapY(data[dti.x].u);
+	data[dti.x].u.x = QuadSwapY(data[dti.x].u.x);
+	data[dti.x].u.xy = QuadSwapY(data[dti.x].u.xy);
+	data[dti.x].u.xyz = QuadSwapY(data[dti.x].u.xyz);
+
+	data[dti.x].i = QuadSwapY(data[dti.x].i);
+	data[dti.x].i.x = QuadSwapY(data[dti.x].i.x);
+	data[dti.x].i.xy = QuadSwapY(data[dti.x].i.xy);
+	data[dti.x].i.xyz = QuadSwapY(data[dti.x].i.xyz);
+
+	data[dti.x].f = QuadSwapY(data[dti.x].f);
+	data[dti.x].f.x = QuadSwapY(data[dti.x].f.x);
+	data[dti.x].f.xy = QuadSwapY(data[dti.x].f.xy);
+	data[dti.x].f.xyz = QuadSwapY(data[dti.x].f.xyz);
+
+	data[dti.x].d = QuadSwapY(data[dti.x].d);
+	data[dti.x].d.x = QuadSwapY(data[dti.x].d.x);
+	data[dti.x].d.xy = QuadSwapY(data[dti.x].d.xy);
+	data[dti.x].d.xyz = QuadSwapY(data[dti.x].d.xyz);
+}
diff --git a/Test/hlsl.wavequery.comp b/Test/hlsl.wavequery.comp
new file mode 100644
index 0000000..6170e25
--- /dev/null
+++ b/Test/hlsl.wavequery.comp
@@ -0,0 +1,7 @@
+RWStructuredBuffer<uint> data;
+
+[numthreads(32, 16, 1)]
+void CSMain()
+{
+    data[WaveGetLaneIndex()] = (WaveOnce()) ? WaveGetLaneCount() : 0;
+}
diff --git a/Test/hlsl.wavequery.frag b/Test/hlsl.wavequery.frag
new file mode 100644
index 0000000..e99a943
--- /dev/null
+++ b/Test/hlsl.wavequery.frag
@@ -0,0 +1,11 @@
+float4 PixelShaderFunction() : COLOR0
+{
+    if (WaveIsHelperLane())
+    {
+        return float4(1, 2, 3, 4);
+    }
+    else
+    {
+        return float4(4, 3, 2, 1);
+    }
+}
diff --git a/Test/hlsl.wavereduction.comp b/Test/hlsl.wavereduction.comp
new file mode 100644
index 0000000..3b8ca1e
--- /dev/null
+++ b/Test/hlsl.wavereduction.comp
@@ -0,0 +1,123 @@
+struct Types
+{
+	uint4 u;
+	int4 i;
+	float4 f;
+	double4 d;
+};
+
+RWStructuredBuffer<Types> data;
+
+[numthreads(32, 16, 1)]
+void CSMain(uint3 dti : SV_DispatchThreadID)
+{
+	data[dti.x].u = WaveAllSum(data[dti.x].u);
+	data[dti.x].u.x = WaveAllSum(data[dti.x].u.x);
+	data[dti.x].u.xy = WaveAllSum(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WaveAllSum(data[dti.x].u.xyz);
+
+	data[dti.x].i = WaveAllSum(data[dti.x].i);
+	data[dti.x].i.x = WaveAllSum(data[dti.x].i.x);
+	data[dti.x].i.xy = WaveAllSum(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WaveAllSum(data[dti.x].i.xyz);
+
+	data[dti.x].f = WaveAllSum(data[dti.x].f);
+	data[dti.x].f.x = WaveAllSum(data[dti.x].f.x);
+	data[dti.x].f.xy = WaveAllSum(data[dti.x].f.xy);
+	data[dti.x].f.xyz = WaveAllSum(data[dti.x].f.xyz);
+
+	data[dti.x].d = WaveAllSum(data[dti.x].d);
+	data[dti.x].d.x = WaveAllSum(data[dti.x].d.x);
+	data[dti.x].d.xy = WaveAllSum(data[dti.x].d.xy);
+	data[dti.x].d.xyz = WaveAllSum(data[dti.x].d.xyz);
+
+	data[dti.x].u = WaveAllProduct(data[dti.x].u);
+	data[dti.x].u.x = WaveAllProduct(data[dti.x].u.x);
+	data[dti.x].u.xy = WaveAllProduct(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WaveAllProduct(data[dti.x].u.xyz);
+
+	data[dti.x].i = WaveAllProduct(data[dti.x].i);
+	data[dti.x].i.x = WaveAllProduct(data[dti.x].i.x);
+	data[dti.x].i.xy = WaveAllProduct(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WaveAllProduct(data[dti.x].i.xyz);
+
+	data[dti.x].f = WaveAllProduct(data[dti.x].f);
+	data[dti.x].f.x = WaveAllProduct(data[dti.x].f.x);
+	data[dti.x].f.xy = WaveAllProduct(data[dti.x].f.xy);
+	data[dti.x].f.xyz = WaveAllProduct(data[dti.x].f.xyz);
+
+	data[dti.x].d = WaveAllProduct(data[dti.x].d);
+	data[dti.x].d.x = WaveAllProduct(data[dti.x].d.x);
+	data[dti.x].d.xy = WaveAllProduct(data[dti.x].d.xy);
+	data[dti.x].d.xyz = WaveAllProduct(data[dti.x].d.xyz);
+
+	data[dti.x].u = WaveAllMin(data[dti.x].u);
+	data[dti.x].u.x = WaveAllMin(data[dti.x].u.x);
+	data[dti.x].u.xy = WaveAllMin(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WaveAllMin(data[dti.x].u.xyz);
+
+	data[dti.x].i = WaveAllMin(data[dti.x].i);
+	data[dti.x].i.x = WaveAllMin(data[dti.x].i.x);
+	data[dti.x].i.xy = WaveAllMin(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WaveAllMin(data[dti.x].i.xyz);
+
+	data[dti.x].f = WaveAllMin(data[dti.x].f);
+	data[dti.x].f.x = WaveAllMin(data[dti.x].f.x);
+	data[dti.x].f.xy = WaveAllMin(data[dti.x].f.xy);
+	data[dti.x].f.xyz = WaveAllMin(data[dti.x].f.xyz);
+
+	data[dti.x].d = WaveAllMin(data[dti.x].d);
+	data[dti.x].d.x = WaveAllMin(data[dti.x].d.x);
+	data[dti.x].d.xy = WaveAllMin(data[dti.x].d.xy);
+	data[dti.x].d.xyz = WaveAllMin(data[dti.x].d.xyz);
+
+	data[dti.x].u = WaveAllMax(data[dti.x].u);
+	data[dti.x].u.x = WaveAllMax(data[dti.x].u.x);
+	data[dti.x].u.xy = WaveAllMax(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WaveAllMax(data[dti.x].u.xyz);
+
+	data[dti.x].i = WaveAllMax(data[dti.x].i);
+	data[dti.x].i.x = WaveAllMax(data[dti.x].i.x);
+	data[dti.x].i.xy = WaveAllMax(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WaveAllMax(data[dti.x].i.xyz);
+
+	data[dti.x].f = WaveAllMax(data[dti.x].f);
+	data[dti.x].f.x = WaveAllMax(data[dti.x].f.x);
+	data[dti.x].f.xy = WaveAllMax(data[dti.x].f.xy);
+	data[dti.x].f.xyz = WaveAllMax(data[dti.x].f.xyz);
+
+	data[dti.x].d = WaveAllMax(data[dti.x].d);
+	data[dti.x].d.x = WaveAllMax(data[dti.x].d.x);
+	data[dti.x].d.xy = WaveAllMax(data[dti.x].d.xy);
+	data[dti.x].d.xyz = WaveAllMax(data[dti.x].d.xyz);
+
+	data[dti.x].u = WaveAllBitAnd(data[dti.x].u);
+	data[dti.x].u.x = WaveAllBitAnd(data[dti.x].u.x);
+	data[dti.x].u.xy = WaveAllBitAnd(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WaveAllBitAnd(data[dti.x].u.xyz);
+
+	data[dti.x].i = WaveAllBitAnd(data[dti.x].i);
+	data[dti.x].i.x = WaveAllBitAnd(data[dti.x].i.x);
+	data[dti.x].i.xy = WaveAllBitAnd(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WaveAllBitAnd(data[dti.x].i.xyz);
+
+	data[dti.x].u = WaveAllBitOr(data[dti.x].u);
+	data[dti.x].u.x = WaveAllBitOr(data[dti.x].u.x);
+	data[dti.x].u.xy = WaveAllBitOr(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WaveAllBitOr(data[dti.x].u.xyz);
+
+	data[dti.x].i = WaveAllBitOr(data[dti.x].i);
+	data[dti.x].i.x = WaveAllBitOr(data[dti.x].i.x);
+	data[dti.x].i.xy = WaveAllBitOr(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WaveAllBitOr(data[dti.x].i.xyz);
+
+	data[dti.x].u = WaveAllBitXor(data[dti.x].u);
+	data[dti.x].u.x = WaveAllBitXor(data[dti.x].u.x);
+	data[dti.x].u.xy = WaveAllBitXor(data[dti.x].u.xy);
+	data[dti.x].u.xyz = WaveAllBitXor(data[dti.x].u.xyz);
+
+	data[dti.x].i = WaveAllBitXor(data[dti.x].i);
+	data[dti.x].i.x = WaveAllBitXor(data[dti.x].i.x);
+	data[dti.x].i.xy = WaveAllBitXor(data[dti.x].i.xy);
+	data[dti.x].i.xyz = WaveAllBitXor(data[dti.x].i.xyz);
+}
diff --git a/Test/hlsl.wavevote.comp b/Test/hlsl.wavevote.comp
new file mode 100644
index 0000000..8f8369a
--- /dev/null
+++ b/Test/hlsl.wavevote.comp
@@ -0,0 +1,9 @@
+RWStructuredBuffer<uint64_t> data;
+
+[numthreads(32, 16, 1)]
+void CSMain(uint3 dti : SV_DispatchThreadID)
+{
+	data[dti.x] = WaveBallot(WaveAnyTrue(dti.x == 0));
+	data[dti.y] = WaveBallot(WaveAllTrue(dti.y == 0));
+	data[dti.z] = WaveBallot(WaveAllEqual(dti.z == 0));
+}
diff --git a/Test/runtests b/Test/runtests
index acba825..24d4004 100755
--- a/Test/runtests
+++ b/Test/runtests
@@ -122,6 +122,9 @@
 $EXE -g --relaxed-errors --suppress-warnings --aml --hlsl-offsets --nsf \
      -G -H spv.debugInfo.frag --rsb frag 3 > $TARGETDIR/spv.debugInfo.frag.out
 diff -b $BASEDIR/spv.debugInfo.frag.out $TARGETDIR/spv.debugInfo.frag.out || HASERROR=1
+$EXE -g --target-env vulkan1.1 --relaxed-errors --suppress-warnings --aml --hlsl-offsets --nsf \
+     -G -H spv.debugInfo.frag --rsb frag 3 > $TARGETDIR/spv.debugInfo.1.1.frag.out
+diff -b $BASEDIR/spv.debugInfo.1.1.frag.out $TARGETDIR/spv.debugInfo.1.1.frag.out || HASERROR=1
 $EXE -g -D -e newMain -g --amb --aml --fua --hlsl-iomap --nsf --sib 1 --ssb 2 --sbb 3 --stb 4 --suavb 5 --sub 6 \
      --sep origMain -H -Od spv.hlslDebugInfo.vert --rsb vert t0 0 0 > $TARGETDIR/spv.hlslDebugInfo.frag.out
 diff -b $BASEDIR/spv.hlslDebugInfo.frag.out $TARGETDIR/spv.hlslDebugInfo.frag.out || HASERROR=1
@@ -155,6 +158,7 @@
 $EXE --client vulkan100      spv.targetVulkan.vert || HASERROR=1
 $EXE --client opengl100      spv.targetOpenGL.vert || HASERROR=1
 $EXE --target-env vulkan1.0  spv.targetVulkan.vert || HASERROR=1
+$EXE --target-env vulkan1.1  spv.targetVulkan.vert || HASERROR=1
 $EXE --target-env opengl     spv.targetOpenGL.vert || HASERROR=1
 $EXE -V100                   spv.targetVulkan.vert || HASERROR=1
 $EXE -G100                   spv.targetOpenGL.vert || HASERROR=1
diff --git a/Test/spv.explicittypes.frag b/Test/spv.explicittypes.frag
new file mode 100644
index 0000000..18c070a
--- /dev/null
+++ b/Test/spv.explicittypes.frag
@@ -0,0 +1,334 @@
+#version 450
+
+#extension GL_KHX_shader_explicit_arithmetic_types: enable
+#extension GL_KHX_shader_explicit_arithmetic_types_int8: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int64: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float64: require
+
+layout(binding = 0) uniform Uniforms
+{
+    uint index;
+};
+
+layout(std140, binding = 1) uniform Block
+{
+    int16_t   i16;
+    i16vec2   i16v2;
+    i16vec3   i16v3;
+    i16vec4   i16v4;
+    uint16_t  u16;
+    u16vec2   u16v2;
+    u16vec3   u16v3;
+    u16vec4   u16v4;
+
+    int32_t   i32;
+    i32vec2   i32v2;
+    i32vec3   i32v3;
+    i32vec4   i32v4;
+    uint32_t  u32;
+    u32vec2   u32v2;
+    u32vec3   u32v3;
+    u32vec4   u32v4;
+} block;
+
+void main()
+{
+}
+
+void literal()
+{
+    const int64_t i64Const[3] =
+    {
+        -0x1111111111111111l,   // Hex
+        -1l,                    // Dec
+        040000000000l,          // Oct
+    };
+
+    int64_t i64 = i64Const[index];
+
+    const uint64_t u64Const[] =
+    {
+        0xFFFFFFFFFFFFFFFFul,   // Hex
+        4294967296UL,           // Dec
+        077777777777ul,         // Oct
+    };
+
+    uint64_t u64 = u64Const[index];
+
+    const int32_t i32Const[3] =
+    {
+        -0x11111111,           // Hex
+        -1,                    // Dec
+        04000000000,           // Oct
+    };
+
+    int32_t i32 = i32Const[index];
+
+    const uint32_t u32Const[] =
+    {
+        0xFFFFFFFF,             // Hex
+        4294967295,             // Dec
+        017777777777,           // Oct
+    };
+
+    uint32_t u32 = u32Const[index];
+
+    const int16_t i16Const[3] =
+    {
+        int16_t(-0x1111),           // Hex
+        int16_t(-1),                // Dec
+        int16_t(040000),            // Oct
+    };
+
+    int16_t i16 = i16Const[index];
+
+    const uint16_t u16Const[] =
+    {
+        uint16_t(0xFFFF),             // Hex
+        uint16_t(65535),              // Dec
+        uint16_t(077777),             // Oct
+    };
+
+    uint16_t u16 = u16Const[index];
+
+    const int8_t i8Const[3] =
+    {
+        int8_t(-0x11),           // Hex
+        int8_t(-1),              // Dec
+        int8_t(0400),            // Oct
+    };
+
+    int8_t i8 = i8Const[index];
+
+    const uint8_t u8Const[] =
+    {
+        uint8_t(0xFF),             // Hex
+        uint8_t(255),              // Dec
+        uint8_t(0177),             // Oct
+    };
+
+    uint8_t u8 = u8Const[index];
+}
+
+void typeCast8()
+{
+    i8vec2 i8v;
+    u8vec2 u8v;
+    i16vec2 i16v;
+    u16vec2 u16v;
+    i32vec2 i32v;
+    u32vec2 u32v;
+    i64vec2 i64v;
+    u64vec2 u64v;
+    f16vec2 f16v;
+    f32vec2 f32v;
+    f64vec2 f64v;
+    bvec2   bv;
+
+    u8v = i8v;      // int8_t  ->  uint8_t
+    i16v = i8v;     // int8_t  ->   int16_t
+    i16v = u8v;     // uint8_t ->   int16_t
+    i32v = i8v;     // int8_t  ->   int32_t
+    i32v = u8v;     // uint8_t ->   int32_t
+    u32v = i8v;     // int8_t  ->  uint32_t
+    i64v = i8v;     // int8_t  ->   int64_t
+    u64v = i8v;     // int8_t  ->  uint64_t
+    u32v = u8v;     // uint8_t ->  uint32_t
+    i64v = u8v;     // uint8_t ->   int64_t
+    u64v = u8v;     // uint8_t ->  uint64_t
+    f16v = i8v;     // int8_t  ->  float16_t
+    f32v = i8v;     // int8_t  ->  float32_t
+    f64v = i8v;     // int8_t  ->  float64_t
+    f16v = u8v;     // uint8_t ->  float16_t
+    f32v = u8v;     // uint8_t ->  float32_t
+    f64v = u8v;     // uint8_t ->  float64_t
+
+    i8v =  i8vec2(u8v);       // uint8_t  ->   int8_t
+    i16v = i16vec2(i8v);      // int8_t   ->   int16_t
+    i16v = i16vec2(u8v);      // uint8_t  ->   int16_t
+    i32v = i32vec2(i8v);      // int8_t   ->   int32_t
+    i32v = i32vec2(u8v);      // uint8_t  ->   int32_t
+    i64v = i64vec2(i8v);      // int8_t   ->   int64_t
+    u64v = i64vec2(i8v);      // int8_t   ->  uint64_t
+    u16v = u16vec2(i8v);      // int8_t   ->  uint16_t
+    u16v = u16vec2(u8v);      // uint8_t  ->  uint16_t
+    u32v = u32vec2(u8v);      // uint8_t  ->  uint32_t
+    i64v = i64vec2(u8v);      // uint8_t  ->   int64_t
+    u64v = i64vec2(u8v);      // uint8_t  ->  uint64_t
+    f16v = f16vec2(i8v);      // int8_t   ->  float16_t
+    f32v = f32vec2(i8v);      // int8_t   ->  float32_t
+    f64v = f64vec2(i8v);      // int8_t   ->  float64_t
+    f16v = f16vec2(u8v);      // uint8_t  ->  float16_t
+    f32v = f32vec2(u8v);      // uint8_t  ->  float32_t
+    f64v = f64vec2(u8v);      // uint8_t  ->  float64_t
+
+    i8v = i8vec2(bv);       // bool     ->   int8
+    u8v = u8vec2(bv);       // bool     ->   uint8
+    bv  = bvec2(i8v);       // int8    ->   bool
+    bv  = bvec2(u8v);       // uint8   ->   bool
+}
+
+void typeCast16()
+{
+    i8vec2 i8v;
+    u8vec2 u8v;
+    i16vec2 i16v;
+    u16vec2 u16v;
+    i32vec2 i32v;
+    u32vec2 u32v;
+    i64vec2 i64v;
+    u64vec2 u64v;
+    f16vec2 f16v;
+    f32vec2 f32v;
+    f64vec2 f64v;
+    bvec2   bv;
+
+    i32v = i16v;     // int16_t  ->   int32_t
+    i32v = u16v;     // uint16_t ->   int32_t
+    u16v = i16v;     // int16_t  ->  uint16_t
+    u32v = i16v;     // int16_t  ->  uint32_t
+    i64v = i16v;     // int16_t  ->   int64_t
+    u64v = i16v;     // int16_t  ->  uint64_t
+    u32v = u16v;     // uint16_t ->  uint32_t
+    i64v = u16v;     // uint16_t ->   int64_t
+    u64v = u16v;     // uint16_t ->  uint64_t
+    f16v = i16v;     // int16_t  ->  float16_t
+    f32v = i16v;     // int16_t  ->  float32_t
+    f64v = i16v;     // int16_t  ->  float64_t
+    f16v = u16v;     // uint16_t ->  float16_t
+    f32v = u16v;     // uint16_t ->  float32_t
+    f64v = u16v;     // uint16_t ->  float64_t
+
+    i32v = i32vec2(i16v);     // int16_t  ->   int32_t
+    i32v = i32vec2(u16v);     // uint16_t ->   int32_t
+    u16v = u16vec2(i16v);     // int16_t  ->  uint16_t
+    u32v = u32vec2(i16v);     // int16_t  ->  uint32_t
+    i64v = i64vec2(i16v);     // int16_t  ->   int64_t
+    u64v = i64vec2(i16v);     // int16_t  ->  uint64_t
+    u32v = u32vec2(u16v);     // uint16_t ->  uint32_t
+    i64v = i64vec2(u16v);     // uint16_t ->   int64_t
+    u64v = i64vec2(u16v);     // uint16_t ->  uint64_t
+    f16v = f16vec2(i16v);     // int16_t  ->  float16_t
+    f32v = f32vec2(i16v);     // int16_t  ->  float32_t
+    f64v = f64vec2(i16v);     // int16_t  ->  float64_t
+    f16v = f16vec2(u16v);     // uint16_t ->  float16_t
+    f32v = f32vec2(u16v);     // uint16_t ->  float32_t
+    f64v = f64vec2(u16v);     // uint16_t ->  float64_t
+
+    i8v  = i8vec2(i16v);      // int16_t  ->   int8_t
+    i8v  = i8vec2(u16v);      // uint16_t ->   int8_t
+    u8v  = u8vec2(i16v);      // int16_t  ->  uint8_t
+    u8v  = u8vec2(u16v);      // uint16_t ->  uint8_t
+    i16v = u8vec2(u16v);      // uint16_t ->   int16_t
+    i16v = i16vec2(bv);       // bool     ->   int16
+    u16v = u16vec2(bv);       // bool     ->   uint16
+    bv   = bvec2(i16v);       // int16    ->   bool
+    bv   = bvec2(u16v);       // uint16   ->   bool
+}
+
+void typeCast32()
+{
+    i8vec2 i8v;
+    u8vec2 u8v;
+    i16vec2 i16v;
+    u16vec2 u16v;
+    i32vec2 i32v;
+    u32vec2 u32v;
+    i64vec2 i64v;
+    u64vec2 u64v;
+    f16vec2 f16v;
+    f32vec2 f32v;
+    f64vec2 f64v;
+    bvec2   bv;
+
+    u32v = i32v;     // int32_t  ->  uint32_t
+    i64v = i32v;     // int32_t  ->   int64_t
+    u64v = i32v;     // int32_t  ->  uint64_t
+    i64v = u32v;     // uint32_t ->   int64_t
+    u64v = u32v;     // uint32_t ->  uint64_t
+    f32v = i32v;     // int32_t  ->  float32_t
+    f64v = i32v;     // int32_t  ->  float64_t
+    f32v = u32v;     // uint32_t ->  float32_t
+    f64v = u32v;     // uint32_t ->  float64_t
+
+    i8v =  i8vec2(i32v);       // int32_t   ->   int8_t
+    i8v =  i8vec2(u32v);       // uint32_t  ->   int8_t
+    i16v = i16vec2(i32v);      // int32_t   ->   int16_t
+    i16v = i16vec2(u32v);      // uint32_t  ->   int16_t
+    i32v = i32vec2(i32v);      // int32_t   ->   int32_t
+    i32v = i32vec2(u32v);      // uint32_t  ->   int32_t
+    i64v = i64vec2(i32v);      // int32_t   ->   int64_t
+	i64v = i64vec2(u32v);      // uint32_t  ->   int64_t
+	u8v =  u8vec2(i32v);       // int32_t   ->   uint8_t
+    u8v =  u8vec2(u32v);       // uint32_t  ->   uint8_t
+    u16v = u16vec2(i32v);      // int32_t   ->   uint16_t
+    u16v = u16vec2(u32v);      // uint32_t  ->   uint16_t
+    u32v = u32vec2(i32v);      // int32_t   ->   uint32_t
+    u32v = u32vec2(u32v);      // uint32_t  ->   uint32_t
+    u64v = u64vec2(i32v);      // int32_t   ->   uint64_t
+    u64v = u64vec2(u32v);      // uint32_t  ->   uint64_t
+
+    f16v = f16vec2(i32v);      // int32_t   ->  float16_t
+    f32v = f32vec2(i32v);      // int32_t   ->  float32_t
+    f64v = f64vec2(i32v);      // int32_t   ->  float64_t
+    f16v = f16vec2(u32v);      // uint32_t  ->  float16_t
+    f32v = f32vec2(u32v);      // uint32_t  ->  float32_t
+    f64v = f64vec2(u32v);      // uint32_t  ->  float64_t
+
+    i32v = i32vec2(bv);       // bool     ->   int32
+    u32v = u32vec2(bv);       // bool     ->   uint32
+    bv   = bvec2(i32v);       // int32    ->   bool
+    bv   = bvec2(u32v);       // uint32   ->   bool
+}
+
+void typeCast64()
+{
+    i8vec2 i8v;
+    u8vec2 u8v;
+    i16vec2 i16v;
+    u16vec2 u16v;
+    i32vec2 i32v;
+    u32vec2 u32v;
+    i64vec2 i64v;
+    u64vec2 u64v;
+    f16vec2 f16v;
+    f32vec2 f32v;
+    f64vec2 f64v;
+    bvec2   bv;
+
+    u64v = i64v;     // int64_t  ->  uint64_t
+    f64v = i64v;     // int64_t  ->  float64_t
+    f64v = u64v;     // uint64_t ->  float64_t
+
+    i8v =  i8vec2(i64v);       // int64_t   ->   int8_t
+    i8v =  i8vec2(u64v);       // uint64_t  ->   int8_t
+    i16v = i16vec2(i64v);      // int64_t   ->   int16_t
+    i16v = i16vec2(u64v);      // uint64_t  ->   int16_t
+    i32v = i32vec2(i64v);      // int64_t   ->   int32_t
+    i32v = i32vec2(u64v);      // uint64_t  ->   int32_t
+	i64v = i64vec2(u64v);      // uint64_t  ->   int64_t
+	u8v =  u8vec2(i64v);       // int64_t   ->   uint8_t
+    u8v =  u8vec2(u64v);       // uint64_t  ->   uint8_t
+    u16v = u16vec2(i64v);      // int64_t   ->   uint16_t
+    u16v = u16vec2(u64v);      // uint64_t  ->   uint16_t
+    u32v = u32vec2(i64v);      // int64_t   ->   uint32_t
+    u32v = u32vec2(u64v);      // uint64_t  ->   uint32_t
+    u64v = u64vec2(i64v);      // int64_t   ->   uint64_t
+    u64v = u64vec2(u64v);      // uint64_t  ->   uint64_t
+
+    f16v = f16vec2(i64v);      // int64_t   ->  float16_t
+    f32v = f32vec2(i64v);      // int64_t   ->  float32_t
+    f64v = f64vec2(i64v);      // int64_t   ->  float64_t
+    f16v = f16vec2(u64v);      // uint64_t  ->  float16_t
+    f32v = f32vec2(u64v);      // uint64_t  ->  float32_t
+    f64v = f64vec2(u64v);      // uint64_t  ->  float64_t
+
+    i64v = i64vec2(bv);       // bool     ->   int64
+    u64v = u64vec2(bv);       // bool     ->   uint64
+    bv   = bvec2(i64v);       // int64    ->   bool
+    bv   = bvec2(u64v);       // uint64   ->   bool
+}
diff --git a/Test/spv.float32.frag b/Test/spv.float32.frag
new file mode 100644
index 0000000..471f6b3
--- /dev/null
+++ b/Test/spv.float32.frag
@@ -0,0 +1,277 @@
+#version 450
+
+#extension GL_KHX_shader_explicit_arithmetic_types: enable
+#extension GL_KHX_shader_explicit_arithmetic_types_int8: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int64: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float64: require
+
+void main()
+{
+}
+
+// Single float literals
+void literal()
+{
+    const float32_t f32c  = 0.000001f;
+    const f32vec2   f32cv = f32vec2(-0.25F, 0.03f);
+
+    f32vec2 f32v;
+    f32v.x  = f32c;
+    f32v   += f32cv;
+}
+
+// Block memory layout
+struct S
+{
+    float32_t  x;
+    f32vec2    y;
+    f32vec3    z;
+};
+
+layout(column_major, std140) uniform B1
+{
+    float32_t  a;
+    f32vec2    b;
+    f32vec3    c;
+    float32_t  d[2];
+    f32mat2x3  e;
+    f32mat2x3  f[2];
+    S          g;
+    S          h[2];
+};
+
+// Specialization constant
+layout(constant_id = 100) const float16_t sf16 = 0.125hf;
+layout(constant_id = 101) const float32_t sf   = 0.25;
+layout(constant_id = 102) const float64_t sd   = 0.5lf;
+
+const float  f16_to_f = float(sf16);
+const double f16_to_d = float(sf16);
+
+const float16_t f_to_f16 = float16_t(sf);
+const float16_t d_to_f16 = float16_t(sd);
+
+void operators()
+{
+    float32_t f32;
+    f32vec2   f32v;
+    f32mat2x2 f32m;
+    bool      b;
+
+    // Arithmetic
+    f32v += f32v;
+    f32v -= f32v;
+    f32v *= f32v;
+    f32v /= f32v;
+    f32v++;
+    f32v--;
+    ++f32m;
+    --f32m;
+    f32v = -f32v;
+    f32m = -f32m;
+
+    f32 = f32v.x + f32v.y;
+    f32 = f32v.x - f32v.y;
+    f32 = f32v.x * f32v.y;
+    f32 = f32v.x / f32v.y;
+
+    // Relational
+    b = (f32v.x != f32);
+    b = (f32v.y == f32);
+    b = (f32v.x >  f32);
+    b = (f32v.y <  f32);
+    b = (f32v.x >= f32);
+    b = (f32v.y <= f32);
+
+    // Vector/matrix operations
+    f32v = f32v * f32;
+    f32m = f32m * f32;
+    f32v = f32m * f32v;
+    f32v = f32v * f32m;
+    f32m = f32m * f32m;
+}
+
+void typeCast()
+{
+    bvec3   bv;
+    f32vec3   f32v;
+    f64vec3   f64v;
+    i8vec3    i8v;
+    u8vec3    u8v;
+    i16vec3   i16v;
+    u16vec3   u16v;
+    i32vec3   i32v;
+    u32vec3   u32v;
+    i64vec3   i64v;
+    u64vec3   u64v;
+    f16vec3   f16v;
+
+    f64v = f32v;            // float32_t -> float64_t
+
+    f32v = f32vec3(bv);     // bool -> float32
+    bv   = bvec3(f32v);     // float32 -> bool
+
+    f32v = f32vec3(f64v);   // double -> float32
+    f64v = f64vec3(f32v);   // float32 -> double
+
+    f32v = f32vec3(f16v);   // float16 -> float32
+    f16v = f16vec3(f32v);   // float32 -> float16
+
+    i8v  = i8vec3(f32v);    //  float32 -> int8
+    i16v = i16vec3(f32v);    // float32 -> int16
+    i32v = i32vec3(f32v);    // float32 -> int32
+    i64v = i64vec3(f32v);    // float32 -> int64
+
+    u8v  = u8vec3(f32v);    //  float32 -> uint8
+    u16v = u16vec3(f32v);    // float32 -> uint16
+    u32v = u32vec3(f32v);    // float32 -> uint32
+    u64v = u64vec3(f32v);    // float32 -> uint64
+}
+
+void builtinAngleTrigFuncs()
+{
+    f32vec4 f32v1, f32v2;
+
+    f32v2 = radians(f32v1);
+    f32v2 = degrees(f32v1);
+    f32v2 = sin(f32v1);
+    f32v2 = cos(f32v1);
+    f32v2 = tan(f32v1);
+    f32v2 = asin(f32v1);
+    f32v2 = acos(f32v1);
+    f32v2 = atan(f32v1, f32v2);
+    f32v2 = atan(f32v1);
+    f32v2 = sinh(f32v1);
+    f32v2 = cosh(f32v1);
+    f32v2 = tanh(f32v1);
+    f32v2 = asinh(f32v1);
+    f32v2 = acosh(f32v1);
+    f32v2 = atanh(f32v1);
+}
+
+void builtinExpFuncs()
+{
+    f32vec2 f32v1, f32v2;
+
+    f32v2 = pow(f32v1, f32v2);
+    f32v2 = exp(f32v1);
+    f32v2 = log(f32v1);
+    f32v2 = exp2(f32v1);
+    f32v2 = log2(f32v1);
+    f32v2 = sqrt(f32v1);
+    f32v2 = inversesqrt(f32v1);
+}
+
+void builtinCommonFuncs()
+{
+    f32vec3   f32v1, f32v2, f32v3;
+    float32_t f32;
+    bool  b;
+    bvec3 bv;
+    ivec3 iv;
+
+    f32v2 = abs(f32v1);
+    f32v2 = sign(f32v1);
+    f32v2 = floor(f32v1);
+    f32v2 = trunc(f32v1);
+    f32v2 = round(f32v1);
+    f32v2 = roundEven(f32v1);
+    f32v2 = ceil(f32v1);
+    f32v2 = fract(f32v1);
+    f32v2 = mod(f32v1, f32v2);
+    f32v2 = mod(f32v1, f32);
+    f32v3 = modf(f32v1, f32v2);
+    f32v3 = min(f32v1, f32v2);
+    f32v3 = min(f32v1, f32);
+    f32v3 = max(f32v1, f32v2);
+    f32v3 = max(f32v1, f32);
+    f32v3 = clamp(f32v1, f32, f32v2.x);
+    f32v3 = clamp(f32v1, f32v2, f32vec3(f32));
+    f32v3 = mix(f32v1, f32v2, f32);
+    f32v3 = mix(f32v1, f32v2, f32v3);
+    f32v3 = mix(f32v1, f32v2, bv);
+    f32v3 = step(f32v1, f32v2);
+    f32v3 = step(f32, f32v3);
+    f32v3 = smoothstep(f32v1, f32v2, f32v3);
+    f32v3 = smoothstep(f32, f32v1.x, f32v2);
+    b     = isnan(f32);
+    bv    = isinf(f32v1);
+    f32v3 = fma(f32v1, f32v2, f32v3);
+    f32v2 = frexp(f32v1, iv);
+    f32v2 = ldexp(f32v1, iv);
+}
+
+void builtinGeometryFuncs()
+{
+    float32_t f32;
+    f32vec3   f32v1, f32v2, f32v3;
+
+    f32   = length(f32v1);
+    f32   = distance(f32v1, f32v2);
+    f32   = dot(f32v1, f32v2);
+    f32v3 = cross(f32v1, f32v2);
+    f32v2 = normalize(f32v1);
+    f32v3 = faceforward(f32v1, f32v2, f32v3);
+    f32v3 = reflect(f32v1, f32v2);
+    f32v3 = refract(f32v1, f32v2, f32);
+}
+
+void builtinMatrixFuncs()
+{
+    f32mat2x3 f32m1, f32m2, f32m3;
+    f32mat3x2 f32m4;
+    f32mat3   f32m5;
+    f32mat4   f32m6, f32m7;
+
+    f32vec3 f32v1;
+    f32vec2 f32v2;
+
+    float32_t f32;
+
+    f32m3 = matrixCompMult(f32m1, f32m2);
+    f32m1 = outerProduct(f32v1, f32v2);
+    f32m4 = transpose(f32m1);
+    f32   = determinant(f32m5);
+    f32m6 = inverse(f32m7);
+}
+
+void builtinVecRelFuncs()
+{
+    f32vec3 f32v1, f32v2;
+    bvec3   bv;
+
+    bv = lessThan(f32v1, f32v2);
+    bv = lessThanEqual(f32v1, f32v2);
+    bv = greaterThan(f32v1, f32v2);
+    bv = greaterThanEqual(f32v1, f32v2);
+    bv = equal(f32v1, f32v2);
+    bv = notEqual(f32v1, f32v2);
+}
+
+in f32vec3 if32v;
+
+void builtinFragProcFuncs()
+{
+    f32vec3 f32v;
+
+    // Derivative
+    f32v.x  = dFdx(if32v.x);
+    f32v.y  = dFdy(if32v.y);
+    f32v.xy = dFdxFine(if32v.xy);
+    f32v.xy = dFdyFine(if32v.xy);
+    f32v    = dFdxCoarse(if32v);
+    f32v    = dFdxCoarse(if32v);
+
+    f32v.x  = fwidth(if32v.x);
+    f32v.xy = fwidthFine(if32v.xy);
+    f32v    = fwidthCoarse(if32v);
+
+    // Interpolation
+    f32v.x  = interpolateAtCentroid(if32v.x);
+    f32v.xy = interpolateAtSample(if32v.xy, 1);
+    f32v    = interpolateAtOffset(if32v, f32vec2(0.5f));
+}
diff --git a/Test/spv.float64.frag b/Test/spv.float64.frag
new file mode 100644
index 0000000..efbec77
--- /dev/null
+++ b/Test/spv.float64.frag
@@ -0,0 +1,272 @@
+#version 450
+
+#extension GL_KHX_shader_explicit_arithmetic_types: enable
+#extension GL_KHX_shader_explicit_arithmetic_types_int8: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int64: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float64: require
+
+void main()
+{
+}
+
+// Single float literals
+void literal()
+{
+    const float64_t f64c  = 0.000001LF;
+    const f64vec2   f64cv = f64vec2(-0.25lF, 0.03Lf);
+
+    f64vec2 f64v;
+    f64v.x  = f64c;
+    f64v   += f64cv;
+}
+
+// Block memory layout
+struct S
+{
+    float64_t  x;
+    f64vec2    y;
+    f64vec3    z;
+};
+
+layout(column_major, std140) uniform B1
+{
+    float64_t  a;
+    f64vec2    b;
+    f64vec3    c;
+    float64_t  d[2];
+    f64mat2x3  e;
+    f64mat2x3  f[2];
+    S          g;
+    S          h[2];
+};
+
+// Specialization constant
+layout(constant_id = 100) const float16_t sf16 = 0.125hf;
+layout(constant_id = 101) const float32_t sf   = 0.25;
+layout(constant_id = 102) const float64_t sd   = 0.5lf;
+
+const float  f16_to_f = float(sf16);
+const double f16_to_d = float(sf16);
+
+const float16_t f_to_f16 = float16_t(sf);
+const float16_t d_to_f16 = float16_t(sd);
+
+void operators()
+{
+    float64_t f64;
+    f64vec2   f64v;
+    f64mat2x2 f64m;
+    bool      b;
+
+    // Arithmetic
+    f64v += f64v;
+    f64v -= f64v;
+    f64v *= f64v;
+    f64v /= f64v;
+    f64v++;
+    f64v--;
+    ++f64m;
+    --f64m;
+    f64v = -f64v;
+    f64m = -f64m;
+
+    f64 = f64v.x + f64v.y;
+    f64 = f64v.x - f64v.y;
+    f64 = f64v.x * f64v.y;
+    f64 = f64v.x / f64v.y;
+
+    // Relational
+    b = (f64v.x != f64);
+    b = (f64v.y == f64);
+    b = (f64v.x >  f64);
+    b = (f64v.y <  f64);
+    b = (f64v.x >= f64);
+    b = (f64v.y <= f64);
+
+    // Vector/matrix operations
+    f64v = f64v * f64;
+    f64m = f64m * f64;
+    f64v = f64m * f64v;
+    f64v = f64v * f64m;
+    f64m = f64m * f64m;
+}
+
+void typeCast()
+{
+    bvec3   bv;
+    f32vec3   f32v;
+    f64vec3   f64v;
+    i8vec3    i8v;
+    u8vec3    u8v;
+    i16vec3   i16v;
+    u16vec3   u16v;
+    i32vec3   i32v;
+    u32vec3   u32v;
+    i64vec3   i64v;
+    u64vec3   u64v;
+    f16vec3   f16v;
+
+    f64v = f64vec3(bv);     // bool -> float64
+    bv   = bvec3(f64v);     // float64 -> bool
+
+    f64v = f64vec3(f16v);   // float16 -> float64
+    f16v = f16vec3(f64v);   // float64 -> float16
+
+    i8v  = i8vec3(f64v);    //  float64 -> int8
+    i16v = i16vec3(f64v);    // float64 -> int16
+    i32v = i32vec3(f64v);    // float64 -> int32
+    i64v = i64vec3(f64v);    // float64 -> int64
+
+    u8v  = u8vec3(f64v);    //  float64 -> uint8
+    u16v = u16vec3(f64v);    // float64 -> uint16
+    u32v = u32vec3(f64v);    // float64 -> uint32
+    u64v = u64vec3(f64v);    // float64 -> uint64
+}
+
+void builtinAngleTrigFuncs()
+{
+    f64vec4 f64v1, f64v2;
+
+    f64v2 = radians(f64v1);
+    f64v2 = degrees(f64v1);
+    f64v2 = sin(f64v1);
+    f64v2 = cos(f64v1);
+    f64v2 = tan(f64v1);
+    f64v2 = asin(f64v1);
+    f64v2 = acos(f64v1);
+    f64v2 = atan(f64v1, f64v2);
+    f64v2 = atan(f64v1);
+    f64v2 = sinh(f64v1);
+    f64v2 = cosh(f64v1);
+    f64v2 = tanh(f64v1);
+    f64v2 = asinh(f64v1);
+    f64v2 = acosh(f64v1);
+    f64v2 = atanh(f64v1);
+}
+
+void builtinExpFuncs()
+{
+    f64vec2 f64v1, f64v2;
+
+    f64v2 = pow(f64v1, f64v2);
+    f64v2 = exp(f64v1);
+    f64v2 = log(f64v1);
+    f64v2 = exp2(f64v1);
+    f64v2 = log2(f64v1);
+    f64v2 = sqrt(f64v1);
+    f64v2 = inversesqrt(f64v1);
+}
+
+void builtinCommonFuncs()
+{
+    f64vec3   f64v1, f64v2, f64v3;
+    float64_t f64;
+    bool  b;
+    bvec3 bv;
+    ivec3 iv;
+
+    f64v2 = abs(f64v1);
+    f64v2 = sign(f64v1);
+    f64v2 = floor(f64v1);
+    f64v2 = trunc(f64v1);
+    f64v2 = round(f64v1);
+    f64v2 = roundEven(f64v1);
+    f64v2 = ceil(f64v1);
+    f64v2 = fract(f64v1);
+    f64v2 = mod(f64v1, f64v2);
+    f64v2 = mod(f64v1, f64);
+    f64v3 = modf(f64v1, f64v2);
+    f64v3 = min(f64v1, f64v2);
+    f64v3 = min(f64v1, f64);
+    f64v3 = max(f64v1, f64v2);
+    f64v3 = max(f64v1, f64);
+    f64v3 = clamp(f64v1, f64, f64v2.x);
+    f64v3 = clamp(f64v1, f64v2, f64vec3(f64));
+    f64v3 = mix(f64v1, f64v2, f64);
+    f64v3 = mix(f64v1, f64v2, f64v3);
+    f64v3 = mix(f64v1, f64v2, bv);
+    f64v3 = step(f64v1, f64v2);
+    f64v3 = step(f64, f64v3);
+    f64v3 = smoothstep(f64v1, f64v2, f64v3);
+    f64v3 = smoothstep(f64, f64v1.x, f64v2);
+    b     = isnan(f64);
+    bv    = isinf(f64v1);
+    f64v3 = fma(f64v1, f64v2, f64v3);
+    f64v2 = frexp(f64v1, iv);
+    f64v2 = ldexp(f64v1, iv);
+}
+
+void builtinGeometryFuncs()
+{
+    float64_t f64;
+    f64vec3   f64v1, f64v2, f64v3;
+
+    f64   = length(f64v1);
+    f64   = distance(f64v1, f64v2);
+    f64   = dot(f64v1, f64v2);
+    f64v3 = cross(f64v1, f64v2);
+    f64v2 = normalize(f64v1);
+    f64v3 = faceforward(f64v1, f64v2, f64v3);
+    f64v3 = reflect(f64v1, f64v2);
+    f64v3 = refract(f64v1, f64v2, f64);
+}
+
+void builtinMatrixFuncs()
+{
+    f64mat2x3 f64m1, f64m2, f64m3;
+    f64mat3x2 f64m4;
+    f64mat3   f64m5;
+    f64mat4   f64m6, f64m7;
+
+    f64vec3 f64v1;
+    f64vec2 f64v2;
+
+    float64_t f64;
+
+    f64m3 = matrixCompMult(f64m1, f64m2);
+    f64m1 = outerProduct(f64v1, f64v2);
+    f64m4 = transpose(f64m1);
+    f64   = determinant(f64m5);
+    f64m6 = inverse(f64m7);
+}
+
+void builtinVecRelFuncs()
+{
+    f64vec3 f64v1, f64v2;
+    bvec3   bv;
+
+    bv = lessThan(f64v1, f64v2);
+    bv = lessThanEqual(f64v1, f64v2);
+    bv = greaterThan(f64v1, f64v2);
+    bv = greaterThanEqual(f64v1, f64v2);
+    bv = equal(f64v1, f64v2);
+    bv = notEqual(f64v1, f64v2);
+}
+
+in flat f64vec3 if64v;
+
+void builtinFragProcFuncs()
+{
+    f64vec3 f64v;
+
+    // Derivative
+    f64v.x  = dFdx(if64v.x);
+    f64v.y  = dFdy(if64v.y);
+    f64v.xy = dFdxFine(if64v.xy);
+    f64v.xy = dFdyFine(if64v.xy);
+    f64v    = dFdxCoarse(if64v);
+    f64v    = dFdxCoarse(if64v);
+
+    f64v.x  = fwidth(if64v.x);
+    f64v.xy = fwidthFine(if64v.xy);
+    f64v    = fwidthCoarse(if64v);
+
+    // Interpolation
+    f64v.x  = interpolateAtCentroid(if64v.x);
+    f64v.xy = interpolateAtSample(if64v.xy, 1);
+    f64v    = interpolateAtOffset(if64v, f64vec2(0.5f));
+}
diff --git a/Test/spv.int16.amd.frag b/Test/spv.int16.amd.frag
new file mode 100644
index 0000000..818e6d8
--- /dev/null
+++ b/Test/spv.int16.amd.frag
@@ -0,0 +1,314 @@
+#version 450 core
+
+#extension GL_ARB_gpu_shader_int64: enable
+#extension GL_AMD_gpu_shader_half_float: enable
+#extension GL_AMD_gpu_shader_int16: enable
+
+layout(binding = 0) uniform Uniforms
+{
+    uint i;
+};
+
+// int16/uint16 in block
+layout(std140, binding = 1) uniform Block
+{
+    i16vec3  i16v;
+    uint16_t u16;
+} block;
+
+// int16/uint16 for input
+layout(location = 0) in flat u16vec3 iu16v;
+layout(location = 1) in flat int16_t ii16;
+
+void literal()
+{
+    const int16_t i16c[3] =
+    {
+        0x111S,         // Hex
+        -2s,            // Dec
+        0400s,          // Oct
+    };
+
+    const uint16_t u16c[] =
+    {
+        0xFFFFus,       // Hex
+        65535US,        // Dec
+        0177777us,      // Oct
+    };
+
+    uint16_t u16 = i16c[i] + u16c[i];
+}
+
+void operators()
+{
+    u16vec3  u16v;
+    int16_t  i16;
+    uint16_t u16;
+    int      i;
+    uint     u;
+    bool     b;
+
+    // Unary
+    u16v++;
+    i16--;
+    ++i16;
+    --u16v;
+
+    u16v = ~u16v;
+
+    i16 = +i16;
+    u16v = -u16v;
+
+    // Arithmetic
+    u16  += i16;
+    u16v -= u16v;
+    i16  *= i16;
+    u16v /= u16v;
+    u16v %= i16;
+
+    u16v = u16v + u16v;
+    u16  = i16 - u16;
+    u16v = u16v * i16;
+    i16  = i16 * i16;
+    i16  = i16 % i16;
+
+    // Shift
+    u16v <<= i16;
+    i16  >>= u16v.y;
+
+    i16  = i16 << u16v.z;
+    u16v = u16v << i16;
+
+    // Relational
+    b = (u16v.x != i16);
+    b = (i16 == u16v.x);
+    b = (u16v.x > u16v.y);
+    b = (i16 < u);
+    b = (u16v.y >= u16v.x);
+    b = (i16 <= i);
+
+    // Bitwise
+    u16v |= i16;
+    u16  = i16 | u16;
+    i16  &= i16;
+    u16v = u16v & u16v;
+    u16v ^= i16;
+    u16v = u16v ^ i16;
+}
+
+void typeCast()
+{
+    bvec2 bv;
+    ivec2 iv;
+    uvec2 uv;
+    vec2  fv;
+    dvec2 dv;
+
+    f16vec2 f16v;
+    i64vec2 i64v;
+    u64vec2 u64v;
+    i16vec2 i16v;
+    u16vec2 u16v;
+
+    i16v = i16vec2(bv);   // bool -> int16
+    u16v = u16vec2(bv);   // bool -> uint16
+    bv   = bvec2(i16v);   // int16  -> bool
+    bv   = bvec2(u16v);   // uint16 -> bool
+
+    i16v = i16vec2(iv);   // int -> int16
+    u16v = u16vec2(iv);   // int -> uint16
+    iv   = i16v;          // int16  -> int
+    iv   = ivec2(u16v);   // uint16 -> int
+
+    i16v = i16vec2(uv);   // uint -> int16
+    u16v = u16vec2(uv);   // uint -> uint16
+    uv   = i16v;          // int16  -> uint
+    uv   = u16v;          // uint16 -> uint
+
+    i16v = i16vec2(fv);   // float -> int16
+    u16v = u16vec2(fv);   // float -> uint16
+    fv   = i16v;          // int16  -> float
+    fv   = u16v;          // uint16 -> float
+
+    i16v = i16vec2(dv);   // double -> int16
+    u16v = u16vec2(dv);   // double -> uint16
+    dv   = i16v;          // int16  -> double
+    dv   = u16v;          // uint16 -> double
+
+    i16v = i16vec2(f16v); // float16 -> int16
+    u16v = u16vec2(f16v); // float16 -> uint16
+    f16v = i16v;          // int16  -> float16
+    f16v = u16v;          // uint16 -> float16
+
+    i16v = i16vec2(i64v); // int64 -> int16
+    u16v = u16vec2(i64v); // int64 -> uint16
+    i64v = i16v;          // int16  -> int64
+    i64v = i64vec2(u16v); // uint16 -> int64
+
+    i16v = i16vec2(u64v); // uint64 -> int16
+    u16v = u16vec2(u64v); // uint64 -> uint16
+    u64v = i16v;          // int16  -> uint64
+    u64v = u16v;          // uint16 -> uint64
+
+    i16v = i16vec2(u16v); // uint16 -> int16
+    u16v = i16v;          // int16 -> uint16
+}
+
+void builtinFuncs()
+{
+    i16vec2  i16v;
+    u16vec3  u16v;
+    f16vec3  f16v;
+    bvec3    bv;
+
+    int16_t  i16;
+    uint16_t u16;
+
+    // abs()
+    i16v = abs(i16v);
+
+    // sign()
+    i16v  = sign(i16v);
+
+    // min()
+    i16v = min(i16v, i16);
+    i16v = min(i16v, i16vec2(-1s));
+    u16v = min(u16v, u16);
+    u16v = min(u16v, u16vec3(0us));
+
+    // max()
+    i16v = max(i16v, i16);
+    i16v = max(i16v, i16vec2(-1s));
+    u16v = max(u16v, u16);
+    u16v = max(u16v, u16vec3(0us));
+
+    // clamp()
+    i16v = clamp(i16v, -i16, i16);
+    i16v = clamp(i16v, -i16v, i16v);
+    u16v = clamp(u16v, -u16, u16);
+    u16v = clamp(u16v, -u16v, u16v);
+
+    // mix()
+    i16  = mix(i16v.x, i16v.y, true);
+    i16v = mix(i16vec2(i16), i16vec2(-i16), bvec2(false));
+    u16  = mix(u16v.x, u16v.y, true);
+    u16v = mix(u16vec3(u16), u16vec3(-u16), bvec3(false));
+
+    // frexp()
+    i16vec3 exp;
+    f16v = frexp(f16v, exp);
+
+    // ldexp()
+    f16v = ldexp(f16v, exp);
+
+    // float16BitsToInt16()
+    i16v = float16BitsToInt16(f16v.xy);
+
+    // float16BitsToUint16()
+    u16v.x = float16BitsToUint16(f16v.z);
+
+    // int16BitsToFloat16()
+    f16v.xy = int16BitsToFloat16(i16v);
+
+    // uint16BitsToFloat16()
+    f16v = uint16BitsToFloat16(u16v);
+
+    // packInt2x16()
+    int packi = packInt2x16(i16v);
+
+    // unpackInt2x16()
+    i16v = unpackInt2x16(packi);
+
+    // packUint2x16()
+    uint packu = packUint2x16(u16v.xy);
+
+    // unpackUint2x16()
+    u16v.xy = unpackUint2x16(packu);
+
+    // packInt4x16()
+    int64_t packi64 = packInt4x16(i16vec4(i16));
+
+    // unpackInt4x16()
+    i16v = unpackInt4x16(packi64).xy;
+
+    // packUint4x16()
+    uint64_t packu64 = packUint4x16(u16vec4(u16));
+
+    // unpackUint4x16()
+    u16v = unpackUint4x16(packu64).xyz;
+
+    // lessThan()
+    bv    = lessThan(u16v, u16vec3(u16));
+    bv.xy = lessThan(i16v, i16vec2(i16));
+
+    // lessThanEqual()
+    bv    = lessThanEqual(u16v, u16vec3(u16));
+    bv.xy = lessThanEqual(i16v, i16vec2(i16));
+
+    // greaterThan()
+    bv    = greaterThan(u16v, u16vec3(u16));
+    bv.xy = greaterThan(i16v, i16vec2(i16));
+
+    // greaterThanEqual()
+    bv    = greaterThanEqual(u16v, u16vec3(u16));
+    bv.xy = greaterThanEqual(i16v, i16vec2(i16));
+
+    // equal()
+    bv    = equal(u16v, u16vec3(u16));
+    bv.xy = equal(i16v, i16vec2(i16));
+
+    // notEqual()
+    bv    = notEqual(u16v, u16vec3(u16));
+    bv.xy = notEqual(i16v, i16vec2(i16));
+}
+
+// Type conversion for specialization constant
+layout(constant_id = 100) const int64_t  si64 = -10L;
+layout(constant_id = 101) const uint64_t su64 = 20UL;
+layout(constant_id = 102) const int  si = -5;
+layout(constant_id = 103) const uint su = 4;
+layout(constant_id = 104) const bool sb = true;
+layout(constant_id = 105) const int16_t si16 = -5S;
+layout(constant_id = 106) const uint16_t su16 = 4US;
+
+// bool <-> int16/uint16
+const bool i16_to_b = bool(si16);
+const bool u16_to_b = bool(su16);
+const int16_t  b_to_i16 = int16_t(sb);
+const uint16_t b_to_u16 = uint16_t(sb);
+
+// int <-> int16/uint16
+const int i16_to_i = int(si16);
+const int u16_to_i = int(su16);
+const int16_t  i_to_i16 = int16_t(si);
+const uint16_t i_to_u16 = uint16_t(si);
+
+// uint <-> int16/uint16
+const uint i16_to_u = uint(si16);
+const uint u16_to_u = uint(su16);
+const int16_t  u_to_i16 = int16_t(su);
+const uint16_t u_to_u16 = uint16_t(su);
+
+// int64 <-> int16/uint16
+const int64_t i16_to_i64 = int64_t(si16);
+const int64_t u16_to_i64 = int64_t(su16);
+const int16_t  i64_to_i16 = int16_t(si64);
+const uint16_t i64_to_u16 = uint16_t(si64);
+
+// uint64 <-> int16/uint16
+const uint64_t i16_to_u64 = uint64_t(si16);
+const uint64_t u16_to_u64 = uint64_t(su16);
+const int16_t  u64_to_i16 = int16_t(su64);
+const uint16_t u64_to_u16 = uint16_t(su64);
+
+// int16 <-> uint16
+const uint16_t i16_to_u16 = uint16_t(si16);
+const int16_t  u16_to_i16 = int16_t(su16);
+
+void main()
+{
+    literal();
+    operators();
+    typeCast();
+    builtinFuncs();
+}
diff --git a/Test/spv.int16.frag b/Test/spv.int16.frag
index 9dd9090..d29894b 100644
--- a/Test/spv.int16.frag
+++ b/Test/spv.int16.frag
@@ -1,314 +1,251 @@
-#version 450 core
-
-#extension GL_ARB_gpu_shader_int64: enable
-#extension GL_AMD_gpu_shader_half_float: enable
-#extension GL_AMD_gpu_shader_int16: enable
-
-layout(binding = 0) uniform Uniforms
-{
-    uint i;
-};
-
-// int16/uint16 in block
-layout(std140, binding = 1) uniform Block
-{
-    i16vec3  i16v;
-    uint16_t u16;
-} block;
-
-// int16/uint16 for input
-layout(location = 0) in flat u16vec3 iu16v;
-layout(location = 1) in flat int16_t ii16;
-
-void literal()
-{
-    const int16_t i16c[3] =
-    {
-        0x111S,         // Hex
-        -2s,            // Dec
-        0400s,          // Oct
-    };
-
-    const uint16_t u16c[] =
-    {
-        0xFFFFus,       // Hex
-        65535US,        // Dec
-        0177777us,      // Oct
-    };
-
-    uint16_t u16 = i16c[i] + u16c[i];
-}
-
-void operators()
-{
-    u16vec3  u16v;
-    int16_t  i16;
-    uint16_t u16;
-    int      i;
-    uint     u;
-    bool     b;
-
-    // Unary
-    u16v++;
-    i16--;
-    ++i16;
-    --u16v;
-
-    u16v = ~u16v;
-
-    i16 = +i16;
-    u16v = -u16v;
-
-    // Arithmetic
-    u16  += i16;
-    u16v -= u16v;
-    i16  *= i16;
-    u16v /= u16v;
-    u16v %= i16;
-
-    u16v = u16v + u16v;
-    u16  = i16 - u16;
-    u16v = u16v * i16;
-    i16  = i16 * i16;
-    i16  = i16 % i16;
-
-    // Shift
-    u16v <<= i;
-    i16  >>= u16v.y;
-
-    i16  = i16 << u16v.z;
-    u16v = u16v << i16;
-
-    // Relational
-    b = (u16v.x != i16);
-    b = (i16 == u16v.x);
-    b = (u16v.x > u16v.y);
-    b = (i16 < u);
-    b = (u16v.y >= u16v.x);
-    b = (i16 <= i);
-
-    // Bitwise
-    u16v |= i16;
-    u16  = i16 | u16;
-    i16  &= i16;
-    u16v = u16v & u16v;
-    u16v ^= i16;
-    u16v = u16v ^ i16;
-}
-
-void typeCast()
-{
-    bvec2 bv;
-    ivec2 iv;
-    uvec2 uv;
-    vec2  fv;
-    dvec2 dv;
-
-    f16vec2 f16v;
-    i64vec2 i64v;
-    u64vec2 u64v;
-    i16vec2 i16v;
-    u16vec2 u16v;
-
-    i16v = i16vec2(bv);   // bool -> int16
-    u16v = u16vec2(bv);   // bool -> uint16
-    bv   = bvec2(i16v);   // int16  -> bool
-    bv   = bvec2(u16v);   // uint16 -> bool
-
-    i16v = i16vec2(iv);   // int -> int16
-    u16v = u16vec2(iv);   // int -> uint16
-    iv   = i16v;          // int16  -> int
-    iv   = ivec2(u16v);   // uint16 -> int
-
-    i16v = i16vec2(uv);   // uint -> int16
-    u16v = u16vec2(uv);   // uint -> uint16
-    uv   = i16v;          // int16  -> uint
-    uv   = u16v;          // uint16 -> uint
-
-    i16v = i16vec2(fv);   // float -> int16
-    u16v = u16vec2(fv);   // float -> uint16
-    fv   = i16v;          // int16  -> float
-    fv   = u16v;          // uint16 -> float
-
-    i16v = i16vec2(dv);   // double -> int16
-    u16v = u16vec2(dv);   // double -> uint16
-    dv   = i16v;          // int16  -> double
-    dv   = u16v;          // uint16 -> double
-
-    i16v = i16vec2(f16v); // float16 -> int16
-    u16v = u16vec2(f16v); // float16 -> uint16
-    f16v = i16v;          // int16  -> float16
-    f16v = u16v;          // uint16 -> float16
-
-    i16v = i16vec2(i64v); // int64 -> int16
-    u16v = u16vec2(i64v); // int64 -> uint16
-    i64v = i16v;          // int16  -> int64
-    i64v = i64vec2(u16v); // uint16 -> int64
-
-    i16v = i16vec2(u64v); // uint64 -> int16
-    u16v = u16vec2(u64v); // uint64 -> uint16
-    u64v = i16v;          // int16  -> uint64
-    u64v = u16v;          // uint16 -> uint64
-
-    i16v = i16vec2(u16v); // uint16 -> int16
-    u16v = i16v;          // int16 -> uint16
-}
-
-void builtinFuncs()
-{
-    i16vec2  i16v;
-    u16vec3  u16v;
-    f16vec3  f16v;
-    bvec3    bv;
-
-    int16_t  i16;
-    uint16_t u16;
-
-    // abs()
-    i16v = abs(i16v);
-
-    // sign()
-    i16v  = sign(i16v);
-
-    // min()
-    i16v = min(i16v, i16);
-    i16v = min(i16v, i16vec2(-1s));
-    u16v = min(u16v, u16);
-    u16v = min(u16v, u16vec3(0us));
-
-    // max()
-    i16v = max(i16v, i16);
-    i16v = max(i16v, i16vec2(-1s));
-    u16v = max(u16v, u16);
-    u16v = max(u16v, u16vec3(0us));
-
-    // clamp()
-    i16v = clamp(i16v, -i16, i16);
-    i16v = clamp(i16v, -i16v, i16v);
-    u16v = clamp(u16v, -u16, u16);
-    u16v = clamp(u16v, -u16v, u16v);
-
-    // mix()
-    i16  = mix(i16v.x, i16v.y, true);
-    i16v = mix(i16vec2(i16), i16vec2(-i16), bvec2(false));
-    u16  = mix(u16v.x, u16v.y, true);
-    u16v = mix(u16vec3(u16), u16vec3(-u16), bvec3(false));
-
-    // frexp()
-    i16vec3 exp;
-    f16v = frexp(f16v, exp);
-
-    // ldexp()
-    f16v = ldexp(f16v, exp);
-
-    // float16BitsToInt16()
-    i16v = float16BitsToInt16(f16v.xy);
-
-    // float16BitsToUint16()
-    u16v.x = float16BitsToUint16(f16v.z);
-
-    // int16BitsToFloat16()
-    f16v.xy = int16BitsToFloat16(i16v);
-
-    // uint16BitsToFloat16()
-    f16v = uint16BitsToFloat16(u16v);
-
-    // packInt2x16()
-    int packi = packInt2x16(i16v);
-
-    // unpackInt2x16()
-    i16v = unpackInt2x16(packi);
-
-    // packUint2x16()
-    uint packu = packUint2x16(u16v.xy);
-
-    // unpackUint2x16()
-    u16v.xy = unpackUint2x16(packu);
-
-    // packInt4x16()
-    int64_t packi64 = packInt4x16(i16vec4(i16));
-
-    // unpackInt4x16()
-    i16v = unpackInt4x16(packi64).xy;
-
-    // packUint4x16()
-    uint64_t packu64 = packUint4x16(u16vec4(u16));
-
-    // unpackUint4x16()
-    u16v = unpackUint4x16(packu64).xyz;
-
-    // lessThan()
-    bv    = lessThan(u16v, u16vec3(u16));
-    bv.xy = lessThan(i16v, i16vec2(i16));
-
-    // lessThanEqual()
-    bv    = lessThanEqual(u16v, u16vec3(u16));
-    bv.xy = lessThanEqual(i16v, i16vec2(i16));
-
-    // greaterThan()
-    bv    = greaterThan(u16v, u16vec3(u16));
-    bv.xy = greaterThan(i16v, i16vec2(i16));
-
-    // greaterThanEqual()
-    bv    = greaterThanEqual(u16v, u16vec3(u16));
-    bv.xy = greaterThanEqual(i16v, i16vec2(i16));
-
-    // equal()
-    bv    = equal(u16v, u16vec3(u16));
-    bv.xy = equal(i16v, i16vec2(i16));
-
-    // notEqual()
-    bv    = notEqual(u16v, u16vec3(u16));
-    bv.xy = notEqual(i16v, i16vec2(i16));
-}
-
-// Type conversion for specialization constant
-layout(constant_id = 100) const int64_t  si64 = -10L;
-layout(constant_id = 101) const uint64_t su64 = 20UL;
-layout(constant_id = 102) const int  si = -5;
-layout(constant_id = 103) const uint su = 4;
-layout(constant_id = 104) const bool sb = true;
-layout(constant_id = 105) const int16_t si16 = -5S;
-layout(constant_id = 106) const uint16_t su16 = 4US;
-
-// bool <-> int16/uint16
-const bool i16_to_b = bool(si16);
-const bool u16_to_b = bool(su16);
-const int16_t  b_to_i16 = int16_t(sb);
-const uint16_t b_to_u16 = uint16_t(sb);
-
-// int <-> int16/uint16
-const int i16_to_i = int(si16);
-const int u16_to_i = int(su16);
-const int16_t  i_to_i16 = int16_t(si);
-const uint16_t i_to_u16 = uint16_t(si);
-
-// uint <-> int16/uint16
-const uint i16_to_u = uint(si16);
-const uint u16_to_u = uint(su16);
-const int16_t  u_to_i16 = int16_t(su);
-const uint16_t u_to_u16 = uint16_t(su);
-
-// int64 <-> int16/uint16
-const int64_t i16_to_i64 = int64_t(si16);
-const int64_t u16_to_i64 = int64_t(su16);
-const int16_t  i64_to_i16 = int16_t(si64);
-const uint16_t i64_to_u16 = uint16_t(si64);
-
-// uint64 <-> int16/uint16
-const uint64_t i16_to_u64 = uint64_t(si16);
-const uint64_t u16_to_u64 = uint64_t(su16);
-const int16_t  u64_to_i16 = int16_t(su64);
-const uint16_t u64_to_u16 = uint16_t(su64);
-
-// int16 <-> uint16
-const uint16_t i16_to_u16 = uint16_t(si16);
-const int16_t  u16_to_i16 = int16_t(su16);
-
-void main()
-{
-    literal();
-    operators();
-    typeCast();
-    builtinFuncs();
-}
+#version 450
+
+#extension GL_KHX_shader_explicit_arithmetic_types: enable
+#extension GL_KHX_shader_explicit_arithmetic_types_int8: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int64: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float64: require
+
+layout(binding = 0) uniform Uniforms
+{
+    uint index;
+};
+
+layout(std140, binding = 1) uniform Block
+{
+    int16_t   i16;
+    i16vec2   i16v2;
+    i16vec3   i16v3;
+    i16vec4   i16v4;
+    uint16_t  u16;
+    u16vec2   u16v2;
+    u16vec3   u16v3;
+    u16vec4   u16v4;
+} block;
+
+void main()
+{
+}
+
+void literal()
+{
+    const int16_t i16Const[3] =
+    {
+        int16_t(-0x1111),           // Hex
+        int16_t(-1),                // Dec
+        int16_t(040000),            // Oct
+    };
+
+    int16_t i16 = i16Const[index];
+
+    const uint16_t u16Const[] =
+    {
+        uint16_t(0xFFFF),             // Hex
+        uint16_t(65535),              // Dec
+        uint16_t(077777),             // Oct
+    };
+
+    uint16_t u16 = u16Const[index];
+}
+
+void typeCast16()
+{
+    i8vec2 i8v;
+    u8vec2 u8v;
+    i16vec2 i16v;
+    u16vec2 u16v;
+    i32vec2 i32v;
+    u32vec2 u32v;
+    i64vec2 i64v;
+    u64vec2 u64v;
+    f16vec2 f16v;
+    f32vec2 f32v;
+    f64vec2 f64v;
+    bvec2   bv;
+
+    i32v = i16v;     // int16_t  ->   int32_t
+    i32v = u16v;     // uint16_t ->   int32_t
+    u16v = i16v;     // int16_t  ->  uint16_t
+    u32v = i16v;     // int16_t  ->  uint32_t
+    i64v = i16v;     // int16_t  ->   int64_t
+    u64v = i16v;     // int16_t  ->  uint64_t
+    u32v = u16v;     // uint16_t ->  uint32_t
+    i64v = u16v;     // uint16_t ->   int64_t
+    u64v = u16v;     // uint16_t ->  uint64_t
+    f16v = i16v;     // int16_t  ->  float16_t
+    f32v = i16v;     // int16_t  ->  float32_t
+    f64v = i16v;     // int16_t  ->  float64_t
+    f16v = u16v;     // uint16_t ->  float16_t
+    f32v = u16v;     // uint16_t ->  float32_t
+    f64v = u16v;     // uint16_t ->  float64_t
+
+    i32v = i32vec2(i16v);     // int16_t  ->   int32_t
+    i32v = i32vec2(u16v);     // uint16_t ->   int32_t
+    u16v = u16vec2(i16v);     // int16_t  ->  uint16_t
+    u32v = u32vec2(i16v);     // int16_t  ->  uint32_t
+    i64v = i64vec2(i16v);     // int16_t  ->   int64_t
+    u64v = i64vec2(i16v);     // int16_t  ->  uint64_t
+    u32v = u32vec2(u16v);     // uint16_t ->  uint32_t
+    i64v = i64vec2(u16v);     // uint16_t ->   int64_t
+    u64v = i64vec2(u16v);     // uint16_t ->  uint64_t
+    f16v = f16vec2(i16v);     // int16_t  ->  float16_t
+    f32v = f32vec2(i16v);     // int16_t  ->  float32_t
+    f64v = f64vec2(i16v);     // int16_t  ->  float64_t
+    f16v = f16vec2(u16v);     // uint16_t ->  float16_t
+    f32v = f32vec2(u16v);     // uint16_t ->  float32_t
+    f64v = f64vec2(u16v);     // uint16_t ->  float64_t
+
+    i8v  = i8vec2(i16v);      // int16_t  ->   int8_t
+    i8v  = i8vec2(u16v);      // uint16_t ->   int8_t
+    u8v  = u8vec2(i16v);      // int16_t  ->  uint8_t
+    u8v  = u8vec2(u16v);      // uint16_t ->  uint8_t
+    i16v = u8vec2(u16v);      // uint16_t ->   int16_t
+    i16v = i16vec2(bv);       // bool     ->   int16
+    u16v = u16vec2(bv);       // bool     ->   uint16
+    bv   = bvec2(i16v);       // int16    ->   bool
+    bv   = bvec2(u16v);       // uint16   ->   bool
+}
+void operators()
+{
+    u16vec3 u16v;
+    int16_t i16;
+    uvec3   uv;
+    int32_t i;
+    int64_t i64;
+    bool    b;
+
+    // Unary
+    u16v++;
+    i16--;
+    ++i16;
+    --u16v;
+
+    u16v = ~u16v;
+
+    i16 = +i16;
+    u16v = -u16v;
+
+    // Arithmetic
+    i16  += i16;
+    u16v -= u16v;
+    i  *= i16;
+    uv /= u16v;
+    uv %= i16;
+
+    uv = u16v + uv;
+    i64  = i16 - i64;
+    uv = u16v * uv;
+    i64  = i16 * i64;
+    i  = i16 % i;
+
+    // Shift
+    u16v <<= i16;
+    i16  >>= u16v.y;
+
+    i16  = i16 << u16v.z;
+    uv = u16v << i;
+
+    // Relational
+    b = (u16v.x != i16);
+    b = (i16 == u16v.x);
+    b = (u16v.x > uv.y);
+    b = (i16 < i);
+    b = (u16v.y >= uv.x);
+    b = (i16 <= i);
+
+    // Bitwise
+    uv |= i16;
+    i  = i16 | i;
+    i64  &= i16;
+    uv = u16v & uv;
+    uv ^= i16;
+    u16v = u16v ^ i16;
+}
+
+void builtinFuncs()
+{
+    i16vec2  i16v;
+    i16vec4  i16v4;
+    u16vec3  u16v;
+    u16vec2  u16v2;
+    u16vec4  u16v4;
+    bvec3   bv;
+    int16_t i16;
+    uint16_t u16;
+    int32_t i32;
+    uint32_t u32;
+    int64_t i64;
+    uint64_t u64;
+
+    // abs()
+    i16v = abs(i16v);
+
+    // sign()
+    i16  = sign(i16);
+
+    // min()
+    i16v = min(i16v, i16);
+    i16v = min(i16v, i16vec2(-1));
+    u16v = min(u16v, u16);
+    u16v = min(u16v, u16vec3(0));
+
+    // max()
+    i16v = max(i16v, i16);
+    i16v = max(i16v, i16vec2(-1));
+    u16v = max(u16v, u16);
+    u16v = max(u16v, u16vec3(0));
+
+    // clamp()
+    i16v = clamp(i16v, -i16, i16);
+    i16v = clamp(i16v, -i16v, i16v);
+    u16v = clamp(u16v, -u16, u16);
+    u16v = clamp(u16v, -u16v, u16v);
+
+    // mix()
+    i16  = mix(i16v.x, i16v.y, true);
+    i16v = mix(i16vec2(i16), i16vec2(-i16), bvec2(false));
+    u16  = mix(u16v.x, u16v.y, true);
+    u16v = mix(u16vec3(u16), u16vec3(-u16), bvec3(false));
+
+    //pack
+    i32 = pack32(i16v);
+    i64 = pack64(i16v4);
+    u32 = pack32(u16v2);
+    u64 = pack64(u16v4);
+
+    i16v  = unpack16(i32);
+    i16v4 = unpack16(i64);
+    u16v2 = unpack16(u32);
+    u16v4 = unpack16(u64);
+
+    // lessThan()
+    bv    = lessThan(u16v, u16vec3(u16));
+    bv.xy = lessThan(i16v, i16vec2(i16));
+
+    // lessThanEqual()
+    bv    = lessThanEqual(u16v, u16vec3(u16));
+    bv.xy = lessThanEqual(i16v, i16vec2(i16));
+
+    // greaterThan()
+    bv    = greaterThan(u16v, u16vec3(u16));
+    bv.xy = greaterThan(i16v, i16vec2(i16));
+
+    // greaterThanEqual()
+    bv    = greaterThanEqual(u16v, u16vec3(u16));
+    bv.xy = greaterThanEqual(i16v, i16vec2(i16));
+
+    // equal()
+    bv    = equal(u16v, u16vec3(u16));
+    bv.xy = equal(i16v, i16vec2(i16));
+
+    // notEqual()
+    bv    = notEqual(u16v, u16vec3(u16));
+    bv.xy = notEqual(i16v, i16vec2(i16));
+}
+
+// Type conversion for specialization constant
+layout(constant_id = 100) const int16_t  si16 = int16_t(-10);
+layout(constant_id = 101) const uint16_t su16 = uint16_t(20);
diff --git a/Test/spv.int32.frag b/Test/spv.int32.frag
new file mode 100644
index 0000000..3a33c67
--- /dev/null
+++ b/Test/spv.int32.frag
@@ -0,0 +1,256 @@
+#version 450
+
+#extension GL_KHX_shader_explicit_arithmetic_types: enable
+#extension GL_KHX_shader_explicit_arithmetic_types_int8: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int64: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float64: require
+
+layout(binding = 0) uniform Uniforms
+{
+    uint index;
+};
+
+layout(std140, binding = 1) uniform Block
+{
+    int32_t   i32;
+    i32vec2   i32v2;
+    i32vec3   i32v3;
+    i32vec4   i32v4;
+    uint32_t  u32;
+    u32vec2   u32v2;
+    u32vec3   u32v3;
+    u32vec4   u32v4;
+} block;
+
+void main()
+{
+}
+
+void literal()
+{
+
+    const int32_t i32Const[3] =
+    {
+        -0x11111111,           // Hex
+        -1,                    // Dec
+        04000000000,           // Oct
+    };
+
+    int32_t i32 = i32Const[index];
+
+    const uint32_t u32Const[] =
+    {
+        0xFFFFFFFF,             // Hex
+        4294967295,             // Dec
+        017777777777,           // Oct
+    };
+
+    uint32_t u32 = u32Const[index];
+}
+
+void typeCast32()
+{
+    i8vec2 i8v;
+    u8vec2 u8v;
+    i16vec2 i16v;
+    u16vec2 u16v;
+    i32vec2 i32v;
+    u32vec2 u32v;
+    i64vec2 i64v;
+    u64vec2 u64v;
+    f16vec2 f16v;
+    f32vec2 f32v;
+    f64vec2 f64v;
+    bvec2   bv;
+
+    u32v = i32v;     // int32_t  ->  uint32_t
+    i64v = i32v;     // int32_t  ->   int64_t
+    u64v = i32v;     // int32_t  ->  uint64_t
+    i64v = u32v;     // uint32_t ->   int64_t
+    u64v = u32v;     // uint32_t ->  uint64_t
+    f32v = i32v;     // int32_t  ->  float32_t
+    f64v = i32v;     // int32_t  ->  float64_t
+    f32v = u32v;     // uint32_t ->  float32_t
+    f64v = u32v;     // uint32_t ->  float64_t
+
+    i8v =  i8vec2(i32v);       // int32_t   ->   int8_t
+    i8v =  i8vec2(u32v);       // uint32_t  ->   int8_t
+    i16v = i16vec2(i32v);      // int32_t   ->   int16_t
+    i16v = i16vec2(u32v);      // uint32_t  ->   int16_t
+    i32v = i32vec2(i32v);      // int32_t   ->   int32_t
+    i32v = i32vec2(u32v);      // uint32_t  ->   int32_t
+    i64v = i64vec2(i32v);      // int32_t   ->   int64_t
+	i64v = i64vec2(u32v);      // uint32_t  ->   int64_t
+	u8v =  u8vec2(i32v);       // int32_t   ->   uint8_t
+    u8v =  u8vec2(u32v);       // uint32_t  ->   uint8_t
+    u16v = u16vec2(i32v);      // int32_t   ->   uint16_t
+    u16v = u16vec2(u32v);      // uint32_t  ->   uint16_t
+    u32v = u32vec2(i32v);      // int32_t   ->   uint32_t
+    u32v = u32vec2(u32v);      // uint32_t  ->   uint32_t
+    u64v = u64vec2(i32v);      // int32_t   ->   uint64_t
+    u64v = u64vec2(u32v);      // uint32_t  ->   uint64_t
+
+    f16v = f16vec2(i32v);      // int32_t   ->  float16_t
+    f32v = f32vec2(i32v);      // int32_t   ->  float32_t
+    f64v = f64vec2(i32v);      // int32_t   ->  float64_t
+    f16v = f16vec2(u32v);      // uint32_t  ->  float16_t
+    f32v = f32vec2(u32v);      // uint32_t  ->  float32_t
+    f64v = f64vec2(u32v);      // uint32_t  ->  float64_t
+
+    i32v = i32vec2(bv);       // bool     ->   int32
+    u32v = u32vec2(bv);       // bool     ->   uint32
+    bv   = bvec2(i32v);       // int32    ->   bool
+    bv   = bvec2(u32v);       // uint32   ->   bool
+}
+
+void operators()
+{
+    u32vec3 u32v;
+    int32_t i32;
+    uvec3   uv;
+    int32_t i;
+    int64_t i64;
+    bool    b;
+
+    // Unary
+    u32v++;
+    i32--;
+    ++i32;
+    --u32v;
+
+    u32v = ~u32v;
+
+    i32 = +i32;
+    u32v = -u32v;
+
+    // Arithmetic
+    i32  += i32;
+    u32v -= u32v;
+    i  *= i32;
+    uv /= u32v;
+    uv %= i32;
+
+    uv = u32v + uv;
+    i64  = i32 - i64;
+    uv = u32v * uv;
+    i64  = i32 * i64;
+    i  = i32 % i;
+
+    // Shift
+    u32v <<= i32;
+    i32  >>= u32v.y;
+
+    i64  = i64 << u32v.z;
+    uv = u32v << i;
+
+    // Relational
+    b = (u32v.x != i32);
+    b = (i32 == u32v.x);
+    b = (u32v.x > uv.y);
+    b = (i32 < i);
+    b = (u32v.y >= uv.x);
+    b = (i32 <= i);
+
+    // Bitwise
+    uv |= i32;
+    i  = i32 | i;
+    i64  &= i32;
+    uv = u32v & uv;
+    uv ^= i32;
+    u32v = u32v ^ i32;
+}
+
+void builtinFuncs()
+{
+    i32vec2  i32v;
+    i32vec4  i32v4;
+    u32vec3  u32v;
+    u32vec2  u32v2;
+    u32vec4  u32v4;
+    bvec3   bv;
+    int32_t i32;
+    uint32_t u32;
+    int64_t i64;
+    uint64_t u64;
+    i8vec4  i8v4;
+    u8vec4  u8v4;
+    i16vec2  i16v2;
+    u16vec2  u16v2;
+
+    // abs()
+    i32v = abs(i32v);
+
+    // sign()
+    i32  = sign(i32);
+
+    // min()
+    i32v = min(i32v, i32);
+    i32v = min(i32v, i32vec2(-1));
+    u32v = min(u32v, u32);
+    u32v = min(u32v, u32vec3(0));
+
+    // max()
+    i32v = max(i32v, i32);
+    i32v = max(i32v, i32vec2(-1));
+    u32v = max(u32v, u32);
+    u32v = max(u32v, u32vec3(0));
+
+    // clamp()
+    i32v = clamp(i32v, -i32, i32);
+    i32v = clamp(i32v, -i32v, i32v);
+    u32v = clamp(u32v, -u32, u32);
+    u32v = clamp(u32v, -u32v, u32v);
+
+    // mix()
+    i32  = mix(i32v.x, i32v.y, true);
+    i32v = mix(i32vec2(i32), i32vec2(-i32), bvec2(false));
+    u32  = mix(u32v.x, u32v.y, true);
+    u32v = mix(u32vec3(u32), u32vec3(-u32), bvec3(false));
+
+    //pack
+    i32 = pack32(i8v4);
+    i32 = pack32(i16v2);
+    u32 = pack32(u8v4);
+    u32 = pack32(u16v2);
+
+    i32v  = unpack32(i64);
+    u32v2  = unpack32(u64);
+
+    // lessThan()
+    bv    = lessThan(u32v, u32vec3(u32));
+    bv.xy = lessThan(i32v, i32vec2(i32));
+
+    // lessThanEqual()
+    bv    = lessThanEqual(u32v, u32vec3(u32));
+    bv.xy = lessThanEqual(i32v, i32vec2(i32));
+
+    // greaterThan()
+    bv    = greaterThan(u32v, u32vec3(u32));
+    bv.xy = greaterThan(i32v, i32vec2(i32));
+
+    // greaterThanEqual()
+    bv    = greaterThanEqual(u32v, u32vec3(u32));
+    bv.xy = greaterThanEqual(i32v, i32vec2(i32));
+
+    // equal()
+    bv    = equal(u32v, u32vec3(u32));
+    bv.xy = equal(i32v, i32vec2(i32));
+
+    // notEqual()
+    bv    = notEqual(u32v, u32vec3(u32));
+    bv.xy = notEqual(i32v, i32vec2(i32));
+}
+
+// Type conversion for specialization constant
+layout(constant_id = 100) const int32_t  si32 = -10;
+layout(constant_id = 101) const uint32_t su32 = 20U;
+layout(constant_id = 102) const int  si = -5;
+layout(constant_id = 103) const uint su = 4;
+layout(constant_id = 104) const bool sb = true;
+
+#define UINT32_MAX  4294967295u
+uint32_t u32Max = UINT32_MAX;
diff --git a/Test/spv.int8.frag b/Test/spv.int8.frag
new file mode 100644
index 0000000..f41c62f
--- /dev/null
+++ b/Test/spv.int8.frag
@@ -0,0 +1,253 @@
+#version 450
+
+#extension GL_KHX_shader_explicit_arithmetic_types: enable
+#extension GL_KHX_shader_explicit_arithmetic_types_int8: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_int64: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float16: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float32: require
+#extension GL_KHX_shader_explicit_arithmetic_types_float64: require
+
+layout(binding = 0) uniform Uniforms
+{
+    uint index;
+};
+
+layout(std140, binding = 1) uniform Block
+{
+    int8_t   i8;
+    i8vec2   i8v2;
+    i8vec3   i8v3;
+    i8vec4   i8v4;
+    uint8_t  u8;
+    u8vec2   u8v2;
+    u8vec3   u8v3;
+    u8vec4   u8v4;
+} block;
+
+void main()
+{
+}
+
+void literal()
+{
+    const int8_t i8Const[3] =
+    {
+        int8_t(-0x11),           // Hex
+        int8_t(-1),              // Dec
+        int8_t(0400),            // Oct
+    };
+
+    int8_t i8 = i8Const[index];
+
+    const uint8_t u8Const[] =
+    {
+        uint8_t(0xFF),             // Hex
+        uint8_t(255),              // Dec
+        uint8_t(0177),             // Oct
+    };
+
+    uint8_t u8 = u8Const[index];
+}
+
+void typeCast8()
+{
+    i8vec2 i8v;
+    u8vec2 u8v;
+    i16vec2 i16v;
+    u16vec2 u16v;
+    i32vec2 i32v;
+    u32vec2 u32v;
+    i64vec2 i64v;
+    u64vec2 u64v;
+    f16vec2 f16v;
+    f32vec2 f32v;
+    f64vec2 f64v;
+    bvec2   bv;
+
+    u8v = i8v;      // int8_t  ->  uint8_t
+    i16v = i8v;     // int8_t  ->   int16_t
+    i16v = u8v;     // uint8_t ->   int16_t
+    i32v = i8v;     // int8_t  ->   int32_t
+    i32v = u8v;     // uint8_t ->   int32_t
+    u32v = i8v;     // int8_t  ->  uint32_t
+    i64v = i8v;     // int8_t  ->   int64_t
+    u64v = i8v;     // int8_t  ->  uint64_t
+    u32v = u8v;     // uint8_t ->  uint32_t
+    i64v = u8v;     // uint8_t ->   int64_t
+    u64v = u8v;     // uint8_t ->  uint64_t
+    f16v = i8v;     // int8_t  ->  float16_t
+    f32v = i8v;     // int8_t  ->  float32_t
+    f64v = i8v;     // int8_t  ->  float64_t
+    f16v = u8v;     // uint8_t ->  float16_t
+    f32v = u8v;     // uint8_t ->  float32_t
+    f64v = u8v;     // uint8_t ->  float64_t
+
+    i8v =  i8vec2(u8v);       // uint8_t  ->   int8_t
+    i16v = i16vec2(i8v);      // int8_t   ->   int16_t
+    i16v = i16vec2(u8v);      // uint8_t  ->   int16_t
+    i32v = i32vec2(i8v);      // int8_t   ->   int32_t
+    i32v = i32vec2(u8v);      // uint8_t  ->   int32_t
+    i64v = i64vec2(i8v);      // int8_t   ->   int64_t
+    u64v = i64vec2(i8v);      // int8_t   ->  uint64_t
+    u16v = u16vec2(i8v);      // int8_t   ->  uint16_t
+    u16v = u16vec2(u8v);      // uint8_t  ->  uint16_t
+    u32v = u32vec2(u8v);      // uint8_t  ->  uint32_t
+    i64v = i64vec2(u8v);      // uint8_t  ->   int64_t
+    u64v = i64vec2(u8v);      // uint8_t  ->  uint64_t
+    f16v = f16vec2(i8v);      // int8_t   ->  float16_t
+    f32v = f32vec2(i8v);      // int8_t   ->  float32_t
+    f64v = f64vec2(i8v);      // int8_t   ->  float64_t
+    f16v = f16vec2(u8v);      // uint8_t  ->  float16_t
+    f32v = f32vec2(u8v);      // uint8_t  ->  float32_t
+    f64v = f64vec2(u8v);      // uint8_t  ->  float64_t
+
+    i8v = i8vec2(bv);       // bool     ->   int8
+    u8v = u8vec2(bv);       // bool     ->   uint8
+    bv  = bvec2(i8v);       // int8    ->   bool
+    bv  = bvec2(u8v);       // uint8   ->   bool
+}
+
+void operators()
+{
+    u8vec3 u8v;
+    int8_t i8;
+    uvec3   uv;
+    int32_t i;
+    int16_t i16;
+    bool    b;
+
+    // Unary
+    u8v++;
+    i8--;
+    ++i8;
+    --u8v;
+
+    u8v = ~u8v;
+
+    i8 = +i8;
+    u8v = -u8v;
+
+    // Arithmetic
+    i8  += i8;
+    u8v -= u8v;
+    i  *= i8;
+    uv /= u8v;
+    uv %= i8;
+
+    uv = u8v + uv;
+    i16  = i8 - i16;
+    uv = u8v * uv;
+    i16  = i8 * i16;
+    i  = i8 % i;
+
+    // Shift
+    u8v <<= i8;
+    i8  >>= u8v.y;
+
+    i8  = i8 << u8v.z;
+    u8v = u8v << i8;
+
+    // Relational
+    b = (u8v.x != i8);
+    b = (i8 == u8v.x);
+    b = (u8v.x > uv.y);
+    b = (i8 < i);
+    b = (u8v.y >= uv.x);
+    b = (i8 <= i);
+
+    // Bitwise
+    uv |= i8;
+    i  = i8 | i;
+    i16  &= i8;
+    uv = u8v & uv;
+    uv ^= i8;
+    u8v = u8v ^ i8;
+}
+
+void builtinFuncs()
+{
+    i8vec2  i8v;
+    i8vec4  i8v4;
+    u8vec3  u8v;
+    u8vec2  u8v2;
+    u8vec4  u8v4;
+    bvec3   bv;
+    int16_t i16;
+    int32_t i32;
+    uint16_t u16;
+    uint32_t u32;
+
+    int8_t  i8;
+    uint8_t u8;
+
+    // abs()
+    i8v = abs(i8v);
+
+    // sign()
+    i8  = sign(i8);
+
+    // min()
+    i8v = min(i8v, i8);
+    i8v = min(i8v, i8vec2(-1));
+    u8v = min(u8v, u8);
+    u8v = min(u8v, u8vec3(0));
+
+    // max()
+    i8v = max(i8v, i8);
+    i8v = max(i8v, i8vec2(-1));
+    u8v = max(u8v, u8);
+    u8v = max(u8v, u8vec3(0));
+
+    // clamp()
+    i8v = clamp(i8v, -i8, i8);
+    i8v = clamp(i8v, -i8v, i8v);
+    u8v = clamp(u8v, -u8, u8);
+    u8v = clamp(u8v, -u8v, u8v);
+
+    // mix()
+    i8  = mix(i8v.x, i8v.y, true);
+    i8v = mix(i8vec2(i8), i8vec2(-i8), bvec2(false));
+    u8  = mix(u8v.x, u8v.y, true);
+    u8v = mix(u8vec3(u8), u8vec3(-u8), bvec3(false));
+
+    //pack
+    i16 = pack16(i8v);
+    i32 = pack32(i8v4);
+    u16 = pack16(u8v2);
+    u32 = pack32(u8v4);
+
+    i8v  = unpack8(i16);
+    i8v4 = unpack8(i32);
+    u8v2 = unpack8(u16);
+    u8v4 = unpack8(u32);
+
+    // lessThan()
+    bv    = lessThan(u8v, u8vec3(u8));
+    bv.xy = lessThan(i8v, i8vec2(i8));
+
+    // lessThanEqual()
+    bv    = lessThanEqual(u8v, u8vec3(u8));
+    bv.xy = lessThanEqual(i8v, i8vec2(i8));
+
+    // greaterThan()
+    bv    = greaterThan(u8v, u8vec3(u8));
+    bv.xy = greaterThan(i8v, i8vec2(i8));
+
+    // greaterThanEqual()
+    bv    = greaterThanEqual(u8v, u8vec3(u8));
+    bv.xy = greaterThanEqual(i8v, i8vec2(i8));
+
+    // equal()
+    bv    = equal(u8v, u8vec3(u8));
+    bv.xy = equal(i8v, i8vec2(i8));
+
+    // notEqual()
+    bv    = notEqual(u8v, u8vec3(u8));
+    bv.xy = notEqual(i8v, i8vec2(i8));
+}
+
+// Type conversion for specialization constant
+layout(constant_id = 100) const int8_t  si8 = int8_t(-10);
+layout(constant_id = 101) const uint8_t su8 = uint8_t(20);
diff --git a/Test/spv.subgroup.frag b/Test/spv.subgroup.frag
new file mode 100644
index 0000000..520052f
--- /dev/null
+++ b/Test/spv.subgroup.frag
@@ -0,0 +1,7 @@
+#version 450
+#extension GL_KHR_shader_subgroup_basic: enable
+layout(location = 0) out uvec4 data;
+void main (void)
+{
+  data = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);
+}
diff --git a/Test/spv.subgroup.geom b/Test/spv.subgroup.geom
new file mode 100644
index 0000000..70e9dd4
--- /dev/null
+++ b/Test/spv.subgroup.geom
@@ -0,0 +1,13 @@
+#version 450
+#extension GL_KHR_shader_subgroup_basic: enable
+layout(points) in;
+layout(points, max_vertices = 1) out;
+layout(set = 0, binding = 0, std430) buffer Output
+{
+  uvec4 result[];
+};
+
+void main (void)
+{
+  result[gl_PrimitiveIDIn] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);
+}
diff --git a/Test/spv.subgroup.tesc b/Test/spv.subgroup.tesc
new file mode 100644
index 0000000..63bf5e5
--- /dev/null
+++ b/Test/spv.subgroup.tesc
@@ -0,0 +1,12 @@
+#version 450
+#extension GL_KHR_shader_subgroup_basic: enable
+layout(vertices=1) out;
+layout(set = 0, binding = 0, std430) buffer Output
+{
+  uvec4 result[];
+};
+
+void main (void)
+{
+  result[gl_PrimitiveID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);
+}
diff --git a/Test/spv.subgroup.tese b/Test/spv.subgroup.tese
new file mode 100644
index 0000000..e504df7
--- /dev/null
+++ b/Test/spv.subgroup.tese
@@ -0,0 +1,12 @@
+#version 450
+#extension GL_KHR_shader_subgroup_basic: enable
+layout(isolines) in;
+layout(set = 0, binding = 0, std430) buffer Output
+{
+  uvec4 result[];
+};
+
+void main (void)
+{
+  result[gl_PrimitiveID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);
+}
diff --git a/Test/spv.subgroup.vert b/Test/spv.subgroup.vert
new file mode 100644
index 0000000..779b758
--- /dev/null
+++ b/Test/spv.subgroup.vert
@@ -0,0 +1,11 @@
+#version 450
+#extension GL_KHR_shader_subgroup_basic: enable
+layout(set = 0, binding = 0, std430) buffer Output
+{
+  uvec4 result[];
+};
+
+void main (void)
+{
+  result[gl_VertexIndex] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0);
+}
diff --git a/Test/spv.subgroupArithmetic.comp b/Test/spv.subgroupArithmetic.comp
new file mode 100644
index 0000000..6cc9337
--- /dev/null
+++ b/Test/spv.subgroupArithmetic.comp
@@ -0,0 +1,393 @@
+#version 450
+
+#extension GL_KHR_shader_subgroup_arithmetic: enable
+
+layout (local_size_x = 8) in;
+
+layout(binding = 0) buffer Buffers
+{
+    vec4  f4;
+    ivec4 i4;
+    uvec4 u4;
+    dvec4 d4;
+} data[4];
+
+void main()
+{
+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
+
+    data[invocation].f4.x   = subgroupAdd(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupAdd(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupAdd(data[2].f4.xyz);
+    data[invocation].f4     = subgroupAdd(data[3].f4);
+
+    data[invocation].i4.x   = subgroupAdd(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupAdd(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupAdd(data[2].i4.xyz);
+    data[invocation].i4     = subgroupAdd(data[3].i4);
+
+    data[invocation].u4.x   = subgroupAdd(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupAdd(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupAdd(data[2].u4.xyz);
+    data[invocation].u4     = subgroupAdd(data[3].u4);
+
+    data[invocation].d4.x   = subgroupAdd(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupAdd(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupAdd(data[2].d4.xyz);
+    data[invocation].d4     = subgroupAdd(data[3].d4);
+
+    data[invocation].f4.x   = subgroupMul(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupMul(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupMul(data[2].f4.xyz);
+    data[invocation].f4     = subgroupMul(data[3].f4);
+
+    data[invocation].i4.x   = subgroupMul(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupMul(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupMul(data[2].i4.xyz);
+    data[invocation].i4     = subgroupMul(data[3].i4);
+
+    data[invocation].u4.x   = subgroupMul(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupMul(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupMul(data[2].u4.xyz);
+    data[invocation].u4     = subgroupMul(data[3].u4);
+
+    data[invocation].d4.x   = subgroupMul(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupMul(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupMul(data[2].d4.xyz);
+    data[invocation].d4     = subgroupMul(data[3].d4);
+
+    data[invocation].f4.x   = subgroupMin(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupMin(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupMin(data[2].f4.xyz);
+    data[invocation].f4     = subgroupMin(data[3].f4);
+
+    data[invocation].i4.x   = subgroupMin(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupMin(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupMin(data[2].i4.xyz);
+    data[invocation].i4     = subgroupMin(data[3].i4);
+
+    data[invocation].u4.x   = subgroupMin(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupMin(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupMin(data[2].u4.xyz);
+    data[invocation].u4     = subgroupMin(data[3].u4);
+
+    data[invocation].d4.x   = subgroupMin(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupMin(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupMin(data[2].d4.xyz);
+    data[invocation].d4     = subgroupMin(data[3].d4);
+
+    data[invocation].f4.x   = subgroupMax(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupMax(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupMax(data[2].f4.xyz);
+    data[invocation].f4     = subgroupMax(data[3].f4);
+
+    data[invocation].i4.x   = subgroupMax(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupMax(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupMax(data[2].i4.xyz);
+    data[invocation].i4     = subgroupMax(data[3].i4);
+
+    data[invocation].u4.x   = subgroupMax(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupMax(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupMax(data[2].u4.xyz);
+    data[invocation].u4     = subgroupMax(data[3].u4);
+
+    data[invocation].d4.x   = subgroupMax(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupMax(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupMax(data[2].d4.xyz);
+    data[invocation].d4     = subgroupMax(data[3].d4);
+
+    data[invocation].i4.x   = subgroupAnd(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupAnd(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupAnd(data[2].i4.xyz);
+    data[invocation].i4     = subgroupAnd(data[3].i4);
+
+    data[invocation].u4.x   = subgroupAnd(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupAnd(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupAnd(data[2].u4.xyz);
+    data[invocation].u4     = subgroupAnd(data[3].u4);
+
+    data[invocation].i4.x   =   int(subgroupAnd(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupAnd(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupAnd(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupAnd(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].i4.x   = subgroupOr(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupOr(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupOr(data[2].i4.xyz);
+    data[invocation].i4     = subgroupOr(data[3].i4);
+
+    data[invocation].u4.x   = subgroupOr(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupOr(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupOr(data[2].u4.xyz);
+    data[invocation].u4     = subgroupOr(data[3].u4);
+
+    data[invocation].i4.x   =   int(subgroupOr(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupOr(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupOr(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupOr(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].i4.x   = subgroupXor(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupXor(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupXor(data[2].i4.xyz);
+    data[invocation].i4     = subgroupXor(data[3].i4);
+
+    data[invocation].u4.x   = subgroupXor(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupXor(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupXor(data[2].u4.xyz);
+    data[invocation].u4     = subgroupXor(data[3].u4);
+
+    data[invocation].i4.x   =   int(subgroupXor(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupXor(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupXor(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupXor(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].f4.x   = subgroupInclusiveAdd(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupInclusiveAdd(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupInclusiveAdd(data[2].f4.xyz);
+    data[invocation].f4     = subgroupInclusiveAdd(data[3].f4);
+
+    data[invocation].i4.x   = subgroupInclusiveAdd(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupInclusiveAdd(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupInclusiveAdd(data[2].i4.xyz);
+    data[invocation].i4     = subgroupInclusiveAdd(data[3].i4);
+
+    data[invocation].u4.x   = subgroupInclusiveAdd(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupInclusiveAdd(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupInclusiveAdd(data[2].u4.xyz);
+    data[invocation].u4     = subgroupInclusiveAdd(data[3].u4);
+
+    data[invocation].d4.x   = subgroupInclusiveAdd(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupInclusiveAdd(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupInclusiveAdd(data[2].d4.xyz);
+    data[invocation].d4     = subgroupInclusiveAdd(data[3].d4);
+
+    data[invocation].f4.x   = subgroupInclusiveMul(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupInclusiveMul(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupInclusiveMul(data[2].f4.xyz);
+    data[invocation].f4     = subgroupInclusiveMul(data[3].f4);
+
+    data[invocation].i4.x   = subgroupInclusiveMul(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupInclusiveMul(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupInclusiveMul(data[2].i4.xyz);
+    data[invocation].i4     = subgroupInclusiveMul(data[3].i4);
+
+    data[invocation].u4.x   = subgroupInclusiveMul(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupInclusiveMul(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupInclusiveMul(data[2].u4.xyz);
+    data[invocation].u4     = subgroupInclusiveMul(data[3].u4);
+
+    data[invocation].d4.x   = subgroupInclusiveMul(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupInclusiveMul(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupInclusiveMul(data[2].d4.xyz);
+    data[invocation].d4     = subgroupInclusiveMul(data[3].d4);
+
+    data[invocation].f4.x   = subgroupInclusiveMin(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupInclusiveMin(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupInclusiveMin(data[2].f4.xyz);
+    data[invocation].f4     = subgroupInclusiveMin(data[3].f4);
+
+    data[invocation].i4.x   = subgroupInclusiveMin(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupInclusiveMin(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupInclusiveMin(data[2].i4.xyz);
+    data[invocation].i4     = subgroupInclusiveMin(data[3].i4);
+
+    data[invocation].u4.x   = subgroupInclusiveMin(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupInclusiveMin(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupInclusiveMin(data[2].u4.xyz);
+    data[invocation].u4     = subgroupInclusiveMin(data[3].u4);
+
+    data[invocation].d4.x   = subgroupInclusiveMin(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupInclusiveMin(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupInclusiveMin(data[2].d4.xyz);
+    data[invocation].d4     = subgroupInclusiveMin(data[3].d4);
+
+    data[invocation].f4.x   = subgroupInclusiveMax(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupInclusiveMax(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupInclusiveMax(data[2].f4.xyz);
+    data[invocation].f4     = subgroupInclusiveMax(data[3].f4);
+
+    data[invocation].i4.x   = subgroupInclusiveMax(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupInclusiveMax(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupInclusiveMax(data[2].i4.xyz);
+    data[invocation].i4     = subgroupInclusiveMax(data[3].i4);
+
+    data[invocation].u4.x   = subgroupInclusiveMax(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupInclusiveMax(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupInclusiveMax(data[2].u4.xyz);
+    data[invocation].u4     = subgroupInclusiveMax(data[3].u4);
+
+    data[invocation].d4.x   = subgroupInclusiveMax(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupInclusiveMax(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupInclusiveMax(data[2].d4.xyz);
+    data[invocation].d4     = subgroupInclusiveMax(data[3].d4);
+
+    data[invocation].i4.x   = subgroupInclusiveAnd(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupInclusiveAnd(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupInclusiveAnd(data[2].i4.xyz);
+    data[invocation].i4     = subgroupInclusiveAnd(data[3].i4);
+
+    data[invocation].u4.x   = subgroupInclusiveAnd(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupInclusiveAnd(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupInclusiveAnd(data[2].u4.xyz);
+    data[invocation].u4     = subgroupInclusiveAnd(data[3].u4);
+
+    data[invocation].i4.x   =   int(subgroupInclusiveAnd(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupInclusiveAnd(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupInclusiveAnd(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupInclusiveAnd(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].i4.x   = subgroupInclusiveOr(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupInclusiveOr(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupInclusiveOr(data[2].i4.xyz);
+    data[invocation].i4     = subgroupInclusiveOr(data[3].i4);
+
+    data[invocation].u4.x   = subgroupInclusiveOr(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupInclusiveOr(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupInclusiveOr(data[2].u4.xyz);
+    data[invocation].u4     = subgroupInclusiveOr(data[3].u4);
+
+    data[invocation].i4.x   =   int(subgroupInclusiveOr(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupInclusiveOr(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupInclusiveOr(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupInclusiveOr(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].i4.x   = subgroupInclusiveXor(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupInclusiveXor(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupInclusiveXor(data[2].i4.xyz);
+    data[invocation].i4     = subgroupInclusiveXor(data[3].i4);
+
+    data[invocation].u4.x   = subgroupInclusiveXor(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupInclusiveXor(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupInclusiveXor(data[2].u4.xyz);
+    data[invocation].u4     = subgroupInclusiveXor(data[3].u4);
+
+    data[invocation].i4.x   =   int(subgroupInclusiveXor(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupInclusiveXor(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupInclusiveXor(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupInclusiveXor(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].f4.x   = subgroupExclusiveAdd(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupExclusiveAdd(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupExclusiveAdd(data[2].f4.xyz);
+    data[invocation].f4     = subgroupExclusiveAdd(data[3].f4);
+
+    data[invocation].i4.x   = subgroupExclusiveAdd(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupExclusiveAdd(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupExclusiveAdd(data[2].i4.xyz);
+    data[invocation].i4     = subgroupExclusiveAdd(data[3].i4);
+
+    data[invocation].u4.x   = subgroupExclusiveAdd(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupExclusiveAdd(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupExclusiveAdd(data[2].u4.xyz);
+    data[invocation].u4     = subgroupExclusiveAdd(data[3].u4);
+
+    data[invocation].d4.x   = subgroupExclusiveAdd(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupExclusiveAdd(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupExclusiveAdd(data[2].d4.xyz);
+    data[invocation].d4     = subgroupExclusiveAdd(data[3].d4);
+
+    data[invocation].f4.x   = subgroupExclusiveMul(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupExclusiveMul(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupExclusiveMul(data[2].f4.xyz);
+    data[invocation].f4     = subgroupExclusiveMul(data[3].f4);
+
+    data[invocation].i4.x   = subgroupExclusiveMul(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupExclusiveMul(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupExclusiveMul(data[2].i4.xyz);
+    data[invocation].i4     = subgroupExclusiveMul(data[3].i4);
+
+    data[invocation].u4.x   = subgroupExclusiveMul(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupExclusiveMul(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupExclusiveMul(data[2].u4.xyz);
+    data[invocation].u4     = subgroupExclusiveMul(data[3].u4);
+
+    data[invocation].d4.x   = subgroupExclusiveMul(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupExclusiveMul(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupExclusiveMul(data[2].d4.xyz);
+    data[invocation].d4     = subgroupExclusiveMul(data[3].d4);
+
+    data[invocation].f4.x   = subgroupExclusiveMin(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupExclusiveMin(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupExclusiveMin(data[2].f4.xyz);
+    data[invocation].f4     = subgroupExclusiveMin(data[3].f4);
+
+    data[invocation].i4.x   = subgroupExclusiveMin(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupExclusiveMin(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupExclusiveMin(data[2].i4.xyz);
+    data[invocation].i4     = subgroupExclusiveMin(data[3].i4);
+
+    data[invocation].u4.x   = subgroupExclusiveMin(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupExclusiveMin(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupExclusiveMin(data[2].u4.xyz);
+    data[invocation].u4     = subgroupExclusiveMin(data[3].u4);
+
+    data[invocation].d4.x   = subgroupExclusiveMin(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupExclusiveMin(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupExclusiveMin(data[2].d4.xyz);
+    data[invocation].d4     = subgroupExclusiveMin(data[3].d4);
+
+    data[invocation].f4.x   = subgroupExclusiveMax(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupExclusiveMax(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupExclusiveMax(data[2].f4.xyz);
+    data[invocation].f4     = subgroupExclusiveMax(data[3].f4);
+
+    data[invocation].i4.x   = subgroupExclusiveMax(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupExclusiveMax(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupExclusiveMax(data[2].i4.xyz);
+    data[invocation].i4     = subgroupExclusiveMax(data[3].i4);
+
+    data[invocation].u4.x   = subgroupExclusiveMax(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupExclusiveMax(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupExclusiveMax(data[2].u4.xyz);
+    data[invocation].u4     = subgroupExclusiveMax(data[3].u4);
+
+    data[invocation].d4.x   = subgroupExclusiveMax(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupExclusiveMax(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupExclusiveMax(data[2].d4.xyz);
+    data[invocation].d4     = subgroupExclusiveMax(data[3].d4);
+
+    data[invocation].i4.x   = subgroupExclusiveAnd(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupExclusiveAnd(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupExclusiveAnd(data[2].i4.xyz);
+    data[invocation].i4     = subgroupExclusiveAnd(data[3].i4);
+
+    data[invocation].u4.x   = subgroupExclusiveAnd(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupExclusiveAnd(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupExclusiveAnd(data[2].u4.xyz);
+    data[invocation].u4     = subgroupExclusiveAnd(data[3].u4);
+
+    data[invocation].i4.x   =   int(subgroupExclusiveAnd(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupExclusiveAnd(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupExclusiveAnd(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupExclusiveAnd(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].i4.x   = subgroupExclusiveOr(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupExclusiveOr(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupExclusiveOr(data[2].i4.xyz);
+    data[invocation].i4     = subgroupExclusiveOr(data[3].i4);
+
+    data[invocation].u4.x   = subgroupExclusiveOr(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupExclusiveOr(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupExclusiveOr(data[2].u4.xyz);
+    data[invocation].u4     = subgroupExclusiveOr(data[3].u4);
+
+    data[invocation].i4.x   =   int(subgroupExclusiveOr(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupExclusiveOr(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupExclusiveOr(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupExclusiveOr(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].i4.x   = subgroupExclusiveXor(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupExclusiveXor(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupExclusiveXor(data[2].i4.xyz);
+    data[invocation].i4     = subgroupExclusiveXor(data[3].i4);
+
+    data[invocation].u4.x   = subgroupExclusiveXor(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupExclusiveXor(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupExclusiveXor(data[2].u4.xyz);
+    data[invocation].u4     = subgroupExclusiveXor(data[3].u4);
+
+    data[invocation].i4.x   =   int(subgroupExclusiveXor(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupExclusiveXor(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupExclusiveXor(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupExclusiveXor(lessThan(data[1].i4, ivec4(0))));
+}
diff --git a/Test/spv.subgroupBallot.comp b/Test/spv.subgroupBallot.comp
new file mode 100644
index 0000000..2875468
--- /dev/null
+++ b/Test/spv.subgroupBallot.comp
@@ -0,0 +1,86 @@
+#version 450
+
+#extension GL_KHR_shader_subgroup_ballot: enable
+
+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
+
+layout(binding = 0) buffer Buffers
+{
+    vec4  f4;
+    ivec4 i4;
+    uvec4 u4;
+    dvec4 d4;
+} data[4];
+
+void main()
+{
+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
+
+    uvec4 relMask = gl_SubgroupEqMask +
+                       gl_SubgroupGeMask +
+                       gl_SubgroupGtMask +
+                       gl_SubgroupLeMask +
+                       gl_SubgroupLtMask;
+
+    uvec4 result = subgroupBallot(true);
+
+    data[invocation].u4.x = subgroupBallotBitCount(result);
+    data[invocation].u4.y = subgroupBallotBitExtract(result, 0) ? 1 : 0;
+    data[invocation].u4.z = subgroupBallotInclusiveBitCount(result) + subgroupBallotExclusiveBitCount(result);
+    data[invocation].u4.w = subgroupBallotFindLSB(result) + subgroupBallotFindMSB(result);
+
+    if ((relMask == result) && subgroupInverseBallot(data[0].u4))
+    {
+        data[invocation].f4.x   = subgroupBroadcast(data[0].f4.x,    invocation);
+        data[invocation].f4.xy  = subgroupBroadcast(data[1].f4.xy,   invocation);
+        data[invocation].f4.xyz = subgroupBroadcast(data[2].f4.xyz,  invocation);
+        data[invocation].f4     = subgroupBroadcast(data[3].f4,      invocation);
+
+        data[invocation].i4.x   = subgroupBroadcast(data[0].i4.x,    invocation);
+        data[invocation].i4.xy  = subgroupBroadcast(data[1].i4.xy,   invocation);
+        data[invocation].i4.xyz = subgroupBroadcast(data[2].i4.xyz,  invocation);
+        data[invocation].i4     = subgroupBroadcast(data[3].i4,      invocation);
+
+        data[invocation].u4.x   = subgroupBroadcast(data[0].u4.x,    invocation);
+        data[invocation].u4.xy  = subgroupBroadcast(data[1].u4.xy,   invocation);
+        data[invocation].u4.xyz = subgroupBroadcast(data[2].u4.xyz,  invocation);
+        data[invocation].u4     = subgroupBroadcast(data[3].u4,      invocation);
+
+        data[invocation].d4.x   = subgroupBroadcast(data[0].d4.x,    invocation);
+        data[invocation].d4.xy  = subgroupBroadcast(data[1].d4.xy,   invocation);
+        data[invocation].d4.xyz = subgroupBroadcast(data[2].d4.xyz,  invocation);
+        data[invocation].d4     = subgroupBroadcast(data[3].d4,      invocation);
+
+        data[invocation].i4.x   = int(subgroupBroadcast(data[0].i4.x < 0,            invocation));
+        data[invocation].i4.xy  = ivec2(subgroupBroadcast(lessThan(data[1].i4.xy, ivec2(0)), invocation));
+        data[invocation].i4.xyz = ivec3(subgroupBroadcast(lessThan(data[1].i4.xyz, ivec3(0)), invocation));
+        data[invocation].i4     = ivec4(subgroupBroadcast(lessThan(data[1].i4, ivec4(0)), invocation));
+    }
+    else
+    {
+        data[invocation].f4.x   = subgroupBroadcastFirst(data[0].f4.x);
+        data[invocation].f4.xy  = subgroupBroadcastFirst(data[1].f4.xy);
+        data[invocation].f4.xyz = subgroupBroadcastFirst(data[2].f4.xyz);
+        data[invocation].f4     = subgroupBroadcastFirst(data[3].f4);
+
+        data[invocation].i4.x   = subgroupBroadcastFirst(data[0].i4.x);
+        data[invocation].i4.xy  = subgroupBroadcastFirst(data[1].i4.xy);
+        data[invocation].i4.xyz = subgroupBroadcastFirst(data[2].i4.xyz);
+        data[invocation].i4     = subgroupBroadcastFirst(data[3].i4);
+
+        data[invocation].u4.x   = subgroupBroadcastFirst(data[0].u4.x);
+        data[invocation].u4.xy  = subgroupBroadcastFirst(data[1].u4.xy);
+        data[invocation].u4.xyz = subgroupBroadcastFirst(data[2].u4.xyz);
+        data[invocation].u4     = subgroupBroadcastFirst(data[3].u4);
+
+        data[invocation].d4.x   = subgroupBroadcastFirst(data[0].d4.x);
+        data[invocation].d4.xy  = subgroupBroadcastFirst(data[1].d4.xy);
+        data[invocation].d4.xyz = subgroupBroadcastFirst(data[2].d4.xyz);
+        data[invocation].d4     = subgroupBroadcastFirst(data[3].d4);
+
+        data[invocation].i4.x   = int(subgroupBroadcastFirst(data[0].i4.x < 0));
+        data[invocation].i4.xy  = ivec2(subgroupBroadcastFirst(lessThan(data[1].i4.xy, ivec2(0))));
+        data[invocation].i4.xyz = ivec3(subgroupBroadcastFirst(lessThan(data[1].i4.xyz, ivec3(0))));
+        data[invocation].i4     = ivec4(subgroupBroadcastFirst(lessThan(data[1].i4, ivec4(0))));
+    }
+}
diff --git a/Test/spv.subgroupBasic.comp b/Test/spv.subgroupBasic.comp
new file mode 100644
index 0000000..4801c10
--- /dev/null
+++ b/Test/spv.subgroupBasic.comp
@@ -0,0 +1,23 @@
+#version 450
+
+#extension GL_KHR_shader_subgroup_basic: enable
+
+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
+
+layout(binding = 0) buffer Buffer
+{
+    int a[];
+} data;
+
+void main()
+{
+    data.a[gl_SubgroupSize] = 1;
+    data.a[gl_SubgroupInvocationID] = 1;
+    data.a[gl_NumSubgroups] = 1;
+    data.a[gl_SubgroupID] = (subgroupElect()) ? 1 : 0;
+    subgroupBarrier();
+    subgroupMemoryBarrier();
+    subgroupMemoryBarrierBuffer();
+    subgroupMemoryBarrierShared();
+    subgroupMemoryBarrierImage();
+}
diff --git a/Test/spv.subgroupClustered.comp b/Test/spv.subgroupClustered.comp
new file mode 100644
index 0000000..128a24c
--- /dev/null
+++ b/Test/spv.subgroupClustered.comp
@@ -0,0 +1,143 @@
+#version 450
+
+#extension GL_KHR_shader_subgroup_clustered: enable
+
+layout (local_size_x = 8) in;
+
+layout(binding = 0) buffer Buffers
+{
+    vec4  f4;
+    ivec4 i4;
+    uvec4 u4;
+    dvec4 d4;
+} data[4];
+
+void main()
+{
+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
+
+    data[invocation].f4.x   = subgroupClusteredAdd(data[0].f4.x, 1);
+    data[invocation].f4.xy  = subgroupClusteredAdd(data[1].f4.xy, 1);
+    data[invocation].f4.xyz = subgroupClusteredAdd(data[2].f4.xyz, 1);
+    data[invocation].f4     = subgroupClusteredAdd(data[3].f4, 1);
+
+    data[invocation].i4.x   = subgroupClusteredAdd(data[0].i4.x, 1);
+    data[invocation].i4.xy  = subgroupClusteredAdd(data[1].i4.xy, 1);
+    data[invocation].i4.xyz = subgroupClusteredAdd(data[2].i4.xyz, 1);
+    data[invocation].i4     = subgroupClusteredAdd(data[3].i4, 1);
+
+    data[invocation].u4.x   = subgroupClusteredAdd(data[0].u4.x, 1);
+    data[invocation].u4.xy  = subgroupClusteredAdd(data[1].u4.xy, 1);
+    data[invocation].u4.xyz = subgroupClusteredAdd(data[2].u4.xyz, 1);
+    data[invocation].u4     = subgroupClusteredAdd(data[3].u4, 1);
+
+    data[invocation].d4.x   = subgroupClusteredAdd(data[0].d4.x, 1);
+    data[invocation].d4.xy  = subgroupClusteredAdd(data[1].d4.xy, 1);
+    data[invocation].d4.xyz = subgroupClusteredAdd(data[2].d4.xyz, 1);
+    data[invocation].d4     = subgroupClusteredAdd(data[3].d4, 1);
+
+    data[invocation].f4.x   = subgroupClusteredMul(data[0].f4.x, 1);
+    data[invocation].f4.xy  = subgroupClusteredMul(data[1].f4.xy, 1);
+    data[invocation].f4.xyz = subgroupClusteredMul(data[2].f4.xyz, 1);
+    data[invocation].f4     = subgroupClusteredMul(data[3].f4, 1);
+
+    data[invocation].i4.x   = subgroupClusteredMul(data[0].i4.x, 1);
+    data[invocation].i4.xy  = subgroupClusteredMul(data[1].i4.xy, 1);
+    data[invocation].i4.xyz = subgroupClusteredMul(data[2].i4.xyz, 1);
+    data[invocation].i4     = subgroupClusteredMul(data[3].i4, 1);
+
+    data[invocation].u4.x   = subgroupClusteredMul(data[0].u4.x, 1);
+    data[invocation].u4.xy  = subgroupClusteredMul(data[1].u4.xy, 1);
+    data[invocation].u4.xyz = subgroupClusteredMul(data[2].u4.xyz, 1);
+    data[invocation].u4     = subgroupClusteredMul(data[3].u4, 1);
+
+    data[invocation].d4.x   = subgroupClusteredMul(data[0].d4.x, 1);
+    data[invocation].d4.xy  = subgroupClusteredMul(data[1].d4.xy, 1);
+    data[invocation].d4.xyz = subgroupClusteredMul(data[2].d4.xyz, 1);
+    data[invocation].d4     = subgroupClusteredMul(data[3].d4, 1);
+
+    data[invocation].f4.x   = subgroupClusteredMin(data[0].f4.x, 1);
+    data[invocation].f4.xy  = subgroupClusteredMin(data[1].f4.xy, 1);
+    data[invocation].f4.xyz = subgroupClusteredMin(data[2].f4.xyz, 1);
+    data[invocation].f4     = subgroupClusteredMin(data[3].f4, 1);
+
+    data[invocation].i4.x   = subgroupClusteredMin(data[0].i4.x, 1);
+    data[invocation].i4.xy  = subgroupClusteredMin(data[1].i4.xy, 1);
+    data[invocation].i4.xyz = subgroupClusteredMin(data[2].i4.xyz, 1);
+    data[invocation].i4     = subgroupClusteredMin(data[3].i4, 1);
+
+    data[invocation].u4.x   = subgroupClusteredMin(data[0].u4.x, 1);
+    data[invocation].u4.xy  = subgroupClusteredMin(data[1].u4.xy, 1);
+    data[invocation].u4.xyz = subgroupClusteredMin(data[2].u4.xyz, 1);
+    data[invocation].u4     = subgroupClusteredMin(data[3].u4, 1);
+
+    data[invocation].d4.x   = subgroupClusteredMin(data[0].d4.x, 1);
+    data[invocation].d4.xy  = subgroupClusteredMin(data[1].d4.xy, 1);
+    data[invocation].d4.xyz = subgroupClusteredMin(data[2].d4.xyz, 1);
+    data[invocation].d4     = subgroupClusteredMin(data[3].d4, 1);
+
+    data[invocation].f4.x   = subgroupClusteredMax(data[0].f4.x, 1);
+    data[invocation].f4.xy  = subgroupClusteredMax(data[1].f4.xy, 1);
+    data[invocation].f4.xyz = subgroupClusteredMax(data[2].f4.xyz, 1);
+    data[invocation].f4     = subgroupClusteredMax(data[3].f4, 1);
+
+    data[invocation].i4.x   = subgroupClusteredMax(data[0].i4.x, 1);
+    data[invocation].i4.xy  = subgroupClusteredMax(data[1].i4.xy, 1);
+    data[invocation].i4.xyz = subgroupClusteredMax(data[2].i4.xyz, 1);
+    data[invocation].i4     = subgroupClusteredMax(data[3].i4, 1);
+
+    data[invocation].u4.x   = subgroupClusteredMax(data[0].u4.x, 1);
+    data[invocation].u4.xy  = subgroupClusteredMax(data[1].u4.xy, 1);
+    data[invocation].u4.xyz = subgroupClusteredMax(data[2].u4.xyz, 1);
+    data[invocation].u4     = subgroupClusteredMax(data[3].u4, 1);
+
+    data[invocation].d4.x   = subgroupClusteredMax(data[0].d4.x, 1);
+    data[invocation].d4.xy  = subgroupClusteredMax(data[1].d4.xy, 1);
+    data[invocation].d4.xyz = subgroupClusteredMax(data[2].d4.xyz, 1);
+    data[invocation].d4     = subgroupClusteredMax(data[3].d4, 1);
+
+    data[invocation].i4.x   = subgroupClusteredAnd(data[0].i4.x, 1);
+    data[invocation].i4.xy  = subgroupClusteredAnd(data[1].i4.xy, 1);
+    data[invocation].i4.xyz = subgroupClusteredAnd(data[2].i4.xyz, 1);
+    data[invocation].i4     = subgroupClusteredAnd(data[3].i4, 1);
+
+    data[invocation].u4.x   = subgroupClusteredAnd(data[0].u4.x, 1);
+    data[invocation].u4.xy  = subgroupClusteredAnd(data[1].u4.xy, 1);
+    data[invocation].u4.xyz = subgroupClusteredAnd(data[2].u4.xyz, 1);
+    data[invocation].u4     = subgroupClusteredAnd(data[3].u4, 1);
+
+    data[invocation].i4.x   =   int(subgroupClusteredAnd(data[0].i4.x < 0, 1));
+    data[invocation].i4.xy  = ivec2(subgroupClusteredAnd(lessThan(data[1].i4.xy, ivec2(0)), 1));
+    data[invocation].i4.xyz = ivec3(subgroupClusteredAnd(lessThan(data[1].i4.xyz, ivec3(0)), 1));
+    data[invocation].i4     = ivec4(subgroupClusteredAnd(lessThan(data[1].i4, ivec4(0)), 1));
+
+    data[invocation].i4.x   = subgroupClusteredOr(data[0].i4.x, 1);
+    data[invocation].i4.xy  = subgroupClusteredOr(data[1].i4.xy, 1);
+    data[invocation].i4.xyz = subgroupClusteredOr(data[2].i4.xyz, 1);
+    data[invocation].i4     = subgroupClusteredOr(data[3].i4, 1);
+
+    data[invocation].u4.x   = subgroupClusteredOr(data[0].u4.x, 1);
+    data[invocation].u4.xy  = subgroupClusteredOr(data[1].u4.xy, 1);
+    data[invocation].u4.xyz = subgroupClusteredOr(data[2].u4.xyz, 1);
+    data[invocation].u4     = subgroupClusteredOr(data[3].u4, 1);
+
+    data[invocation].i4.x   =   int(subgroupClusteredOr(data[0].i4.x < 0, 1));
+    data[invocation].i4.xy  = ivec2(subgroupClusteredOr(lessThan(data[1].i4.xy, ivec2(0)), 1));
+    data[invocation].i4.xyz = ivec3(subgroupClusteredOr(lessThan(data[1].i4.xyz, ivec3(0)), 1));
+    data[invocation].i4     = ivec4(subgroupClusteredOr(lessThan(data[1].i4, ivec4(0)), 1));
+
+    data[invocation].i4.x   = subgroupClusteredXor(data[0].i4.x, 1);
+    data[invocation].i4.xy  = subgroupClusteredXor(data[1].i4.xy, 1);
+    data[invocation].i4.xyz = subgroupClusteredXor(data[2].i4.xyz, 1);
+    data[invocation].i4     = subgroupClusteredXor(data[3].i4, 1);
+
+    data[invocation].u4.x   = subgroupClusteredXor(data[0].u4.x, 1);
+    data[invocation].u4.xy  = subgroupClusteredXor(data[1].u4.xy, 1);
+    data[invocation].u4.xyz = subgroupClusteredXor(data[2].u4.xyz, 1);
+    data[invocation].u4     = subgroupClusteredXor(data[3].u4, 1);
+
+    data[invocation].i4.x   =   int(subgroupClusteredXor(data[0].i4.x < 0, 1));
+    data[invocation].i4.xy  = ivec2(subgroupClusteredXor(lessThan(data[1].i4.xy, ivec2(0)), 1));
+    data[invocation].i4.xyz = ivec3(subgroupClusteredXor(lessThan(data[1].i4.xyz, ivec3(0)), 1));
+    data[invocation].i4     = ivec4(subgroupClusteredXor(lessThan(data[1].i4, ivec4(0)), 1));
+}
diff --git a/Test/spv.subgroupQuad.comp b/Test/spv.subgroupQuad.comp
new file mode 100644
index 0000000..223a7cd
--- /dev/null
+++ b/Test/spv.subgroupQuad.comp
@@ -0,0 +1,118 @@
+#version 450
+
+#extension GL_KHR_shader_subgroup_quad: enable
+
+layout (local_size_x = 8) in;
+
+layout(binding = 0) buffer Buffers
+{
+    vec4  f4;
+    ivec4 i4;
+    uvec4 u4;
+    dvec4 d4;
+} data[4];
+
+void main()
+{
+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
+
+    data[invocation].f4.x   = subgroupQuadBroadcast(data[0].f4.x, 1);
+    data[invocation].f4.xy  = subgroupQuadBroadcast(data[1].f4.xy, 1);
+    data[invocation].f4.xyz = subgroupQuadBroadcast(data[2].f4.xyz, 1);
+    data[invocation].f4     = subgroupQuadBroadcast(data[3].f4, 1);
+
+    data[invocation].i4.x   = subgroupQuadBroadcast(data[0].i4.x, 1);
+    data[invocation].i4.xy  = subgroupQuadBroadcast(data[1].i4.xy, 1);
+    data[invocation].i4.xyz = subgroupQuadBroadcast(data[2].i4.xyz, 1);
+    data[invocation].i4     = subgroupQuadBroadcast(data[3].i4, 1);
+
+    data[invocation].u4.x   = subgroupQuadBroadcast(data[0].u4.x, 1);
+    data[invocation].u4.xy  = subgroupQuadBroadcast(data[1].u4.xy, 1);
+    data[invocation].u4.xyz = subgroupQuadBroadcast(data[2].u4.xyz, 1);
+    data[invocation].u4     = subgroupQuadBroadcast(data[3].u4, 1);
+
+    data[invocation].d4.x   = subgroupQuadBroadcast(data[0].d4.x, 1);
+    data[invocation].d4.xy  = subgroupQuadBroadcast(data[1].d4.xy, 1);
+    data[invocation].d4.xyz = subgroupQuadBroadcast(data[2].d4.xyz, 1);
+    data[invocation].d4     = subgroupQuadBroadcast(data[3].d4, 1);
+
+    data[invocation].i4.x   =   int(subgroupQuadBroadcast(data[0].i4.x < 0, 1));
+    data[invocation].i4.xy  = ivec2(subgroupQuadBroadcast(lessThan(data[1].i4.xy, ivec2(0)), 1));
+    data[invocation].i4.xyz = ivec3(subgroupQuadBroadcast(lessThan(data[1].i4.xyz, ivec3(0)), 1));
+    data[invocation].i4     = ivec4(subgroupQuadBroadcast(lessThan(data[1].i4, ivec4(0)), 1));
+
+    data[invocation].f4.x   = subgroupQuadSwapHorizontal(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupQuadSwapHorizontal(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupQuadSwapHorizontal(data[2].f4.xyz);
+    data[invocation].f4     = subgroupQuadSwapHorizontal(data[3].f4);
+
+    data[invocation].i4.x   = subgroupQuadSwapHorizontal(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupQuadSwapHorizontal(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupQuadSwapHorizontal(data[2].i4.xyz);
+    data[invocation].i4     = subgroupQuadSwapHorizontal(data[3].i4);
+
+    data[invocation].u4.x   = subgroupQuadSwapHorizontal(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupQuadSwapHorizontal(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupQuadSwapHorizontal(data[2].u4.xyz);
+    data[invocation].u4     = subgroupQuadSwapHorizontal(data[3].u4);
+
+    data[invocation].d4.x   = subgroupQuadSwapHorizontal(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupQuadSwapHorizontal(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupQuadSwapHorizontal(data[2].d4.xyz);
+    data[invocation].d4     = subgroupQuadSwapHorizontal(data[3].d4);
+
+    data[invocation].i4.x   =   int(subgroupQuadSwapHorizontal(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupQuadSwapHorizontal(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupQuadSwapHorizontal(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupQuadSwapHorizontal(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].f4.x   = subgroupQuadSwapVertical(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupQuadSwapVertical(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupQuadSwapVertical(data[2].f4.xyz);
+    data[invocation].f4     = subgroupQuadSwapVertical(data[3].f4);
+
+    data[invocation].i4.x   = subgroupQuadSwapVertical(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupQuadSwapVertical(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupQuadSwapVertical(data[2].i4.xyz);
+    data[invocation].i4     = subgroupQuadSwapVertical(data[3].i4);
+
+    data[invocation].u4.x   = subgroupQuadSwapVertical(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupQuadSwapVertical(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupQuadSwapVertical(data[2].u4.xyz);
+    data[invocation].u4     = subgroupQuadSwapVertical(data[3].u4);
+
+    data[invocation].d4.x   = subgroupQuadSwapVertical(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupQuadSwapVertical(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupQuadSwapVertical(data[2].d4.xyz);
+    data[invocation].d4     = subgroupQuadSwapVertical(data[3].d4);
+
+    data[invocation].i4.x   =   int(subgroupQuadSwapVertical(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupQuadSwapVertical(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupQuadSwapVertical(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupQuadSwapVertical(lessThan(data[1].i4, ivec4(0))));
+
+    data[invocation].f4.x   = subgroupQuadSwapDiagonal(data[0].f4.x);
+    data[invocation].f4.xy  = subgroupQuadSwapDiagonal(data[1].f4.xy);
+    data[invocation].f4.xyz = subgroupQuadSwapDiagonal(data[2].f4.xyz);
+    data[invocation].f4     = subgroupQuadSwapDiagonal(data[3].f4);
+
+    data[invocation].i4.x   = subgroupQuadSwapDiagonal(data[0].i4.x);
+    data[invocation].i4.xy  = subgroupQuadSwapDiagonal(data[1].i4.xy);
+    data[invocation].i4.xyz = subgroupQuadSwapDiagonal(data[2].i4.xyz);
+    data[invocation].i4     = subgroupQuadSwapDiagonal(data[3].i4);
+
+    data[invocation].u4.x   = subgroupQuadSwapDiagonal(data[0].u4.x);
+    data[invocation].u4.xy  = subgroupQuadSwapDiagonal(data[1].u4.xy);
+    data[invocation].u4.xyz = subgroupQuadSwapDiagonal(data[2].u4.xyz);
+    data[invocation].u4     = subgroupQuadSwapDiagonal(data[3].u4);
+
+    data[invocation].d4.x   = subgroupQuadSwapDiagonal(data[0].d4.x);
+    data[invocation].d4.xy  = subgroupQuadSwapDiagonal(data[1].d4.xy);
+    data[invocation].d4.xyz = subgroupQuadSwapDiagonal(data[2].d4.xyz);
+    data[invocation].d4     = subgroupQuadSwapDiagonal(data[3].d4);
+
+    data[invocation].i4.x   =   int(subgroupQuadSwapDiagonal(data[0].i4.x < 0));
+    data[invocation].i4.xy  = ivec2(subgroupQuadSwapDiagonal(lessThan(data[1].i4.xy, ivec2(0))));
+    data[invocation].i4.xyz = ivec3(subgroupQuadSwapDiagonal(lessThan(data[1].i4.xyz, ivec3(0))));
+    data[invocation].i4     = ivec4(subgroupQuadSwapDiagonal(lessThan(data[1].i4, ivec4(0))));
+}
diff --git a/Test/spv.subgroupShuffle.comp b/Test/spv.subgroupShuffle.comp
new file mode 100644
index 0000000..6d26488
--- /dev/null
+++ b/Test/spv.subgroupShuffle.comp
@@ -0,0 +1,68 @@
+#version 450
+
+#extension GL_KHR_shader_subgroup_shuffle: enable
+
+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
+
+layout(binding = 0) buffer Buffers
+{
+    vec4  f4;
+    ivec4 i4;
+    uvec4 u4;
+    dvec4 d4;
+} data[4];
+
+void main()
+{
+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
+
+    data[invocation].f4.x   = subgroupShuffle(data[0].f4.x,    invocation);
+    data[invocation].f4.xy  = subgroupShuffle(data[1].f4.xy,   invocation);
+    data[invocation].f4.xyz = subgroupShuffle(data[2].f4.xyz,  invocation);
+    data[invocation].f4     = subgroupShuffle(data[3].f4,      invocation);
+
+    data[invocation].i4.x   = subgroupShuffle(data[0].i4.x,    invocation);
+    data[invocation].i4.xy  = subgroupShuffle(data[1].i4.xy,   invocation);
+    data[invocation].i4.xyz = subgroupShuffle(data[2].i4.xyz,  invocation);
+    data[invocation].i4     = subgroupShuffle(data[3].i4,      invocation);
+
+    data[invocation].u4.x   = subgroupShuffle(data[0].u4.x,    invocation);
+    data[invocation].u4.xy  = subgroupShuffle(data[1].u4.xy,   invocation);
+    data[invocation].u4.xyz = subgroupShuffle(data[2].u4.xyz,  invocation);
+    data[invocation].u4     = subgroupShuffle(data[3].u4,      invocation);
+
+    data[invocation].d4.x   = subgroupShuffle(data[0].d4.x,    invocation);
+    data[invocation].d4.xy  = subgroupShuffle(data[1].d4.xy,   invocation);
+    data[invocation].d4.xyz = subgroupShuffle(data[2].d4.xyz,  invocation);
+    data[invocation].d4     = subgroupShuffle(data[3].d4,      invocation);
+
+    data[invocation].i4.x   =   int(subgroupShuffle(data[0].i4.x < 0,                   invocation));
+    data[invocation].i4.xy  = ivec2(subgroupShuffle(lessThan(data[1].i4.xy, ivec2(0)),  invocation));
+    data[invocation].i4.xyz = ivec3(subgroupShuffle(lessThan(data[1].i4.xyz, ivec3(0)), invocation));
+    data[invocation].i4     = ivec4(subgroupShuffle(lessThan(data[1].i4, ivec4(0)),     invocation));
+
+    data[invocation].f4.x   = subgroupShuffleXor(data[0].f4.x,    invocation);
+    data[invocation].f4.xy  = subgroupShuffleXor(data[1].f4.xy,   invocation);
+    data[invocation].f4.xyz = subgroupShuffleXor(data[2].f4.xyz,  invocation);
+    data[invocation].f4     = subgroupShuffleXor(data[3].f4,      invocation);
+
+    data[invocation].i4.x   = subgroupShuffleXor(data[0].i4.x,    invocation);
+    data[invocation].i4.xy  = subgroupShuffleXor(data[1].i4.xy,   invocation);
+    data[invocation].i4.xyz = subgroupShuffleXor(data[2].i4.xyz,  invocation);
+    data[invocation].i4     = subgroupShuffleXor(data[3].i4,      invocation);
+
+    data[invocation].u4.x   = subgroupShuffleXor(data[0].u4.x,    invocation);
+    data[invocation].u4.xy  = subgroupShuffleXor(data[1].u4.xy,   invocation);
+    data[invocation].u4.xyz = subgroupShuffleXor(data[2].u4.xyz,  invocation);
+    data[invocation].u4     = subgroupShuffleXor(data[3].u4,      invocation);
+
+    data[invocation].d4.x   = subgroupShuffleXor(data[0].d4.x,    invocation);
+    data[invocation].d4.xy  = subgroupShuffleXor(data[1].d4.xy,   invocation);
+    data[invocation].d4.xyz = subgroupShuffleXor(data[2].d4.xyz,  invocation);
+    data[invocation].d4     = subgroupShuffleXor(data[3].d4,      invocation);
+
+    data[invocation].i4.x   =   int(subgroupShuffleXor(data[0].i4.x < 0,                   invocation));
+    data[invocation].i4.xy  = ivec2(subgroupShuffleXor(lessThan(data[1].i4.xy, ivec2(0)),  invocation));
+    data[invocation].i4.xyz = ivec3(subgroupShuffleXor(lessThan(data[1].i4.xyz, ivec3(0)), invocation));
+    data[invocation].i4     = ivec4(subgroupShuffleXor(lessThan(data[1].i4, ivec4(0)),     invocation));
+}
diff --git a/Test/spv.subgroupShuffleRelative.comp b/Test/spv.subgroupShuffleRelative.comp
new file mode 100644
index 0000000..1864de1
--- /dev/null
+++ b/Test/spv.subgroupShuffleRelative.comp
@@ -0,0 +1,68 @@
+#version 450
+
+#extension GL_KHR_shader_subgroup_shuffle_relative: enable
+
+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
+
+layout(binding = 0) buffer Buffers
+{
+    vec4  f4;
+    ivec4 i4;
+    uvec4 u4;
+    dvec4 d4;
+} data[4];
+
+void main()
+{
+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
+
+    data[invocation].f4.x   = subgroupShuffleUp(data[0].f4.x,    invocation);
+    data[invocation].f4.xy  = subgroupShuffleUp(data[1].f4.xy,   invocation);
+    data[invocation].f4.xyz = subgroupShuffleUp(data[2].f4.xyz,  invocation);
+    data[invocation].f4     = subgroupShuffleUp(data[3].f4,      invocation);
+
+    data[invocation].i4.x   = subgroupShuffleUp(data[0].i4.x,    invocation);
+    data[invocation].i4.xy  = subgroupShuffleUp(data[1].i4.xy,   invocation);
+    data[invocation].i4.xyz = subgroupShuffleUp(data[2].i4.xyz,  invocation);
+    data[invocation].i4     = subgroupShuffleUp(data[3].i4,      invocation);
+
+    data[invocation].u4.x   = subgroupShuffleUp(data[0].u4.x,    invocation);
+    data[invocation].u4.xy  = subgroupShuffleUp(data[1].u4.xy,   invocation);
+    data[invocation].u4.xyz = subgroupShuffleUp(data[2].u4.xyz,  invocation);
+    data[invocation].u4     = subgroupShuffleUp(data[3].u4,      invocation);
+
+    data[invocation].d4.x   = subgroupShuffleUp(data[0].d4.x,    invocation);
+    data[invocation].d4.xy  = subgroupShuffleUp(data[1].d4.xy,   invocation);
+    data[invocation].d4.xyz = subgroupShuffleUp(data[2].d4.xyz,  invocation);
+    data[invocation].d4     = subgroupShuffleUp(data[3].d4,      invocation);
+
+    data[invocation].i4.x   =   int(subgroupShuffleUp(data[0].i4.x < 0,                   invocation));
+    data[invocation].i4.xy  = ivec2(subgroupShuffleUp(lessThan(data[1].i4.xy, ivec2(0)),  invocation));
+    data[invocation].i4.xyz = ivec3(subgroupShuffleUp(lessThan(data[1].i4.xyz, ivec3(0)), invocation));
+    data[invocation].i4     = ivec4(subgroupShuffleUp(lessThan(data[1].i4, ivec4(0)),     invocation));
+
+    data[invocation].f4.x   = subgroupShuffleDown(data[0].f4.x,    invocation);
+    data[invocation].f4.xy  = subgroupShuffleDown(data[1].f4.xy,   invocation);
+    data[invocation].f4.xyz = subgroupShuffleDown(data[2].f4.xyz,  invocation);
+    data[invocation].f4     = subgroupShuffleDown(data[3].f4,      invocation);
+
+    data[invocation].i4.x   = subgroupShuffleDown(data[0].i4.x,    invocation);
+    data[invocation].i4.xy  = subgroupShuffleDown(data[1].i4.xy,   invocation);
+    data[invocation].i4.xyz = subgroupShuffleDown(data[2].i4.xyz,  invocation);
+    data[invocation].i4     = subgroupShuffleDown(data[3].i4,      invocation);
+
+    data[invocation].u4.x   = subgroupShuffleDown(data[0].u4.x,    invocation);
+    data[invocation].u4.xy  = subgroupShuffleDown(data[1].u4.xy,   invocation);
+    data[invocation].u4.xyz = subgroupShuffleDown(data[2].u4.xyz,  invocation);
+    data[invocation].u4     = subgroupShuffleDown(data[3].u4,      invocation);
+
+    data[invocation].d4.x   = subgroupShuffleDown(data[0].d4.x,    invocation);
+    data[invocation].d4.xy  = subgroupShuffleDown(data[1].d4.xy,   invocation);
+    data[invocation].d4.xyz = subgroupShuffleDown(data[2].d4.xyz,  invocation);
+    data[invocation].d4     = subgroupShuffleDown(data[3].d4,      invocation);
+
+    data[invocation].i4.x   =   int(subgroupShuffleDown(data[0].i4.x < 0,                   invocation));
+    data[invocation].i4.xy  = ivec2(subgroupShuffleDown(lessThan(data[1].i4.xy, ivec2(0)),  invocation));
+    data[invocation].i4.xyz = ivec3(subgroupShuffleDown(lessThan(data[1].i4.xyz, ivec3(0)), invocation));
+    data[invocation].i4     = ivec4(subgroupShuffleDown(lessThan(data[1].i4, ivec4(0)),     invocation));
+}
diff --git a/Test/spv.subgroupVote.comp b/Test/spv.subgroupVote.comp
new file mode 100644
index 0000000..c1c877a
--- /dev/null
+++ b/Test/spv.subgroupVote.comp
@@ -0,0 +1,49 @@
+#version 450
+
+#extension GL_KHR_shader_subgroup_vote: enable
+
+layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
+
+layout(binding = 0) buffer Buffers
+{
+    vec4  f4;
+    ivec4 i4;
+    uvec4 u4;
+    dvec4 d4;
+    int r;
+} data[4];
+
+void main()
+{
+    uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
+
+    if (subgroupAll(data[invocation].r < 0))
+    {
+        data[invocation].r = int(subgroupAllEqual(data[0].f4.x));
+        data[invocation].r = int(subgroupAllEqual(data[1].f4.xy));
+        data[invocation].r = int(subgroupAllEqual(data[2].f4.xyz));
+        data[invocation].r = int(subgroupAllEqual(data[3].f4));
+
+        data[invocation].r = int(subgroupAllEqual(data[0].i4.x));
+        data[invocation].r = int(subgroupAllEqual(data[1].i4.xy));
+        data[invocation].r = int(subgroupAllEqual(data[2].i4.xyz));
+        data[invocation].r = int(subgroupAllEqual(data[3].i4));
+
+        data[invocation].r = int(subgroupAllEqual(data[0].u4.x));
+        data[invocation].r = int(subgroupAllEqual(data[1].u4.xy));
+        data[invocation].r = int(subgroupAllEqual(data[2].u4.xyz));
+        data[invocation].r = int(subgroupAllEqual(data[3].u4));
+    }
+    else if (subgroupAny(data[invocation].r < 0))
+    {
+        data[invocation].r = int(subgroupAllEqual(data[0].d4.x));
+        data[invocation].r = int(subgroupAllEqual(data[1].d4.xy));
+        data[invocation].r = int(subgroupAllEqual(data[2].d4.xyz));
+        data[invocation].r = int(subgroupAllEqual(data[3].d4));
+
+        data[invocation].r = int(int(subgroupAllEqual(data[0].i4.x < 0)));
+        data[invocation].r = int(ivec2(subgroupAllEqual(lessThan(data[1].i4.xy, ivec2(0)))));
+        data[invocation].r = int(ivec3(subgroupAllEqual(lessThan(data[1].i4.xyz, ivec3(0)))));
+        data[invocation].r = int(ivec4(subgroupAllEqual(lessThan(data[1].i4, ivec4(0)))));
+    }
+}
diff --git a/glslang/Include/BaseTypes.h b/glslang/Include/BaseTypes.h
index 0a46a7c..a11b659 100644
--- a/glslang/Include/BaseTypes.h
+++ b/glslang/Include/BaseTypes.h
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -46,17 +47,15 @@
     EbtVoid,
     EbtFloat,
     EbtDouble,
-#ifdef AMD_EXTENSIONS
     EbtFloat16,
-#endif
+    EbtInt8,
+    EbtUint8,
+    EbtInt16,
+    EbtUint16,
     EbtInt,
     EbtUint,
     EbtInt64,
     EbtUint64,
-#ifdef AMD_EXTENSIONS
-    EbtInt16,
-    EbtUint16,
-#endif
     EbtBool,
     EbtAtomicUint,
     EbtSampler,
@@ -141,6 +140,8 @@
     EbvLocalInvocationId,
     EbvGlobalInvocationId,
     EbvLocalInvocationIndex,
+    EbvNumSubgroups,
+    EbvSubgroupID,
     EbvSubGroupSize,
     EbvSubGroupInvocation,
     EbvSubGroupEqMask,
@@ -148,6 +149,13 @@
     EbvSubGroupGtMask,
     EbvSubGroupLeMask,
     EbvSubGroupLtMask,
+    EbvSubgroupSize2,
+    EbvSubgroupInvocation2,
+    EbvSubgroupEqMask2,
+    EbvSubgroupGeMask2,
+    EbvSubgroupGtMask2,
+    EbvSubgroupLeMask2,
+    EbvSubgroupLtMask2,
     EbvVertexId,
     EbvInstanceId,
     EbvVertexIndex,
@@ -218,7 +226,7 @@
     EbvSecondaryViewportMaskNV,
     EbvPositionPerViewNV,
     EbvViewportMaskPerViewNV,
-#endif 
+#endif
 
     // HLSL built-ins that live only temporarily, until they get remapped
     // to one of the above.
@@ -355,7 +363,7 @@
     case EbvSecondaryViewportMaskNV:    return "SecondaryViewportMaskNV";
     case EbvPositionPerViewNV:          return "PositionPerViewNV";
     case EbvViewportMaskPerViewNV:      return "ViewportMaskPerViewNV";
-#endif 
+#endif
     default:                      return "unknown built-in variable";
     }
 }
@@ -371,7 +379,7 @@
 
 __inline const char* GetPrecisionQualifierString(TPrecisionQualifier p)
 {
-    switch(p) {
+    switch (p) {
     case EpqNone:   return "";        break;
     case EpqLow:    return "lowp";    break;
     case EpqMedium: return "mediump"; break;
@@ -380,6 +388,75 @@
     }
 }
 
+__inline bool isTypeSignedInt(TBasicType type)
+{
+    switch (type) {
+    case EbtInt8:
+    case EbtInt16:
+    case EbtInt:
+    case EbtInt64:
+        return true;
+    default:
+        return false;
+    }
+}
+
+__inline bool isTypeUnsignedInt(TBasicType type)
+{
+    switch (type) {
+    case EbtUint8:
+    case EbtUint16:
+    case EbtUint:
+    case EbtUint64:
+        return true;
+    default:
+        return false;
+    }
+}
+
+__inline bool isTypeInt(TBasicType type)
+{
+    return isTypeSignedInt(type) || isTypeUnsignedInt(type);
+}
+
+__inline bool isTypeFloat(TBasicType type)
+{
+    switch (type) {
+    case EbtFloat:
+    case EbtDouble:
+    case EbtFloat16:
+        return true;
+    default:
+        return false;
+    }
+}
+
+__inline int getTypeRank(TBasicType type) {
+    int res = -1;
+    switch(type) {
+    case EbtInt8:
+    case EbtUint8:
+        res = 0;
+        break;
+    case EbtInt16:
+    case EbtUint16:
+        res = 1;
+        break;
+    case EbtInt:
+    case EbtUint:
+        res = 2;
+        break;
+    case EbtInt64:
+    case EbtUint64:
+        res = 3;
+        break;
+    default:
+        assert(false);
+        break;
+    }
+    return res;
+}
+
 } // end namespace glslang
 
 #endif // _BASICTYPES_INCLUDED_
diff --git a/glslang/Include/ConstantUnion.h b/glslang/Include/ConstantUnion.h
index f66a7ff..0ebec58 100644
--- a/glslang/Include/ConstantUnion.h
+++ b/glslang/Include/ConstantUnion.h
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -45,6 +46,30 @@
 
     TConstUnion() : iConst(0), type(EbtInt) { }
 
+    void setI8Const(signed char i)
+    {
+       i8Const = i;
+       type = EbtInt8;
+    }
+
+    void setU8Const(unsigned char u)
+    {
+       u8Const = u;
+       type = EbtUint8;
+    }
+
+    void setI16Const(signed short i)
+    {
+       i16Const = i;
+       type = EbtInt16;
+    }
+
+    void setU16Const(unsigned short u)
+    {
+       u16Const = u;
+       type = EbtUint16;
+    }
+
     void setIConst(int i)
     {
         iConst = i;
@@ -87,6 +112,10 @@
         type = EbtString;
     }
 
+    signed char        getI8Const() const  { return i8Const; }
+    unsigned char      getU8Const() const  { return u8Const; }
+    signed short       getI16Const() const { return i16Const; }
+    unsigned short     getU16Const() const { return u16Const; }
     int                getIConst() const   { return iConst; }
     unsigned int       getUConst() const   { return uConst; }
     long long          getI64Const() const { return i64Const; }
@@ -95,6 +124,38 @@
     bool               getBConst() const   { return bConst; }
     const TString*     getSConst() const   { return sConst; }
 
+    bool operator==(const signed char i) const
+    {
+        if (i == i8Const)
+            return true;
+
+        return false;
+    }
+
+    bool operator==(const unsigned char u) const
+    {
+        if (u == u8Const)
+            return true;
+
+        return false;
+    }
+
+   bool operator==(const signed short i) const
+    {
+        if (i == i16Const)
+            return true;
+
+        return false;
+    }
+
+    bool operator==(const unsigned short u) const
+    {
+        if (u == u16Const)
+            return true;
+
+        return false;
+    }
+
     bool operator==(const int i) const
     {
         if (i == iConst)
@@ -149,6 +210,26 @@
             return false;
 
         switch (type) {
+        case EbtInt16:
+            if (constant.i16Const == i16Const)
+                return true;
+
+            break;
+         case EbtUint16:
+            if (constant.u16Const == u16Const)
+                return true;
+
+            break;
+        case EbtInt8:
+            if (constant.i8Const == i8Const)
+                return true;
+
+            break;
+         case EbtUint8:
+            if (constant.u8Const == u8Const)
+                return true;
+
+            break;
         case EbtInt:
             if (constant.iConst == iConst)
                 return true;
@@ -186,6 +267,26 @@
         return false;
     }
 
+    bool operator!=(const signed char i) const
+    {
+        return !operator==(i);
+    }
+
+    bool operator!=(const unsigned char u) const
+    {
+        return !operator==(u);
+    }
+
+    bool operator!=(const signed short i) const
+    {
+        return !operator==(i);
+    }
+
+    bool operator!=(const unsigned short u) const
+    {
+        return !operator==(u);
+    }
+
     bool operator!=(const int i) const
     {
         return !operator==(i);
@@ -225,6 +326,26 @@
     {
         assert(type == constant.type);
         switch (type) {
+        case EbtInt8:
+            if (i8Const > constant.i8Const)
+                return true;
+
+            return false;
+        case EbtUint8:
+            if (u8Const > constant.u8Const)
+                return true;
+
+            return false;
+        case EbtInt16:
+            if (i16Const > constant.i16Const)
+                return true;
+
+            return false;
+        case EbtUint16:
+            if (u16Const > constant.u16Const)
+                return true;
+
+            return false;
         case EbtInt:
             if (iConst > constant.iConst)
                 return true;
@@ -260,6 +381,26 @@
     {
         assert(type == constant.type);
         switch (type) {
+        case EbtInt8:
+            if (i8Const < constant.i8Const)
+                return true;
+
+            return false;
+        case EbtUint8:
+            if (u8Const < constant.u8Const)
+                return true;
+
+            return false;
+       case EbtInt16:
+            if (i16Const < constant.i16Const)
+                return true;
+
+            return false;
+        case EbtUint16:
+            if (u16Const < constant.u16Const)
+                return true;
+
+            return false;
         case EbtInt:
             if (iConst < constant.iConst)
                 return true;
@@ -296,8 +437,12 @@
         TConstUnion returnValue;
         assert(type == constant.type);
         switch (type) {
+        case EbtInt8: returnValue.setI8Const(i8Const + constant.i8Const); break;
+        case EbtInt16: returnValue.setI16Const(i16Const + constant.i16Const); break;
         case EbtInt: returnValue.setIConst(iConst + constant.iConst); break;
         case EbtInt64: returnValue.setI64Const(i64Const + constant.i64Const); break;
+        case EbtUint8: returnValue.setU8Const(u8Const + constant.u8Const); break;
+        case EbtUint16: returnValue.setU8Const(u16Const + constant.u16Const); break;
         case EbtUint: returnValue.setUConst(uConst + constant.uConst); break;
         case EbtUint64: returnValue.setU64Const(u64Const + constant.u64Const); break;
         case EbtDouble: returnValue.setDConst(dConst + constant.dConst); break;
@@ -312,8 +457,12 @@
         TConstUnion returnValue;
         assert(type == constant.type);
         switch (type) {
+        case EbtInt8: returnValue.setI8Const(i8Const - constant.i8Const); break;
+        case EbtInt16: returnValue.setI16Const(i16Const - constant.i16Const); break;
         case EbtInt: returnValue.setIConst(iConst - constant.iConst); break;
         case EbtInt64: returnValue.setI64Const(i64Const - constant.i64Const); break;
+        case EbtUint8: returnValue.setU8Const(u8Const - constant.u8Const); break;
+        case EbtUint16: returnValue.setU8Const(u16Const - constant.u16Const); break;
         case EbtUint: returnValue.setUConst(uConst - constant.uConst); break;
         case EbtUint64: returnValue.setU64Const(u64Const - constant.u64Const); break;
         case EbtDouble: returnValue.setDConst(dConst - constant.dConst); break;
@@ -328,8 +477,12 @@
         TConstUnion returnValue;
         assert(type == constant.type);
         switch (type) {
+        case EbtInt8: returnValue.setI8Const(i8Const * constant.i8Const); break;
+        case EbtInt16: returnValue.setI8Const(i16Const * constant.i16Const); break;
         case EbtInt: returnValue.setIConst(iConst * constant.iConst); break;
         case EbtInt64: returnValue.setI64Const(i64Const * constant.i64Const); break;
+        case EbtUint8: returnValue.setU8Const(u8Const * constant.u8Const); break;
+        case EbtUint16: returnValue.setU8Const(u16Const * constant.u16Const); break;
         case EbtUint: returnValue.setUConst(uConst * constant.uConst); break;
         case EbtUint64: returnValue.setU64Const(u64Const * constant.u64Const); break;
         case EbtDouble: returnValue.setDConst(dConst * constant.dConst); break;
@@ -344,8 +497,12 @@
         TConstUnion returnValue;
         assert(type == constant.type);
         switch (type) {
+        case EbtInt8: returnValue.setI8Const(i8Const % constant.i8Const); break;
+        case EbtInt16: returnValue.setI8Const(i8Const % constant.i16Const); break;
         case EbtInt: returnValue.setIConst(iConst % constant.iConst); break;
         case EbtInt64: returnValue.setI64Const(i64Const % constant.i64Const); break;
+        case EbtUint8: returnValue.setU8Const(u8Const % constant.u8Const); break;
+        case EbtUint16: returnValue.setU8Const(u16Const % constant.u16Const); break;
         case EbtUint: returnValue.setUConst(uConst % constant.uConst); break;
         case EbtUint64: returnValue.setU64Const(u64Const % constant.u64Const); break;
         default:     assert(false && "Default missing");
@@ -358,8 +515,64 @@
     {
         TConstUnion returnValue;
         switch (type) {
+        case EbtInt8:
+            switch (constant.type) {
+            case EbtInt8:   returnValue.setI8Const(i8Const >> constant.i8Const);  break;
+            case EbtUint8:  returnValue.setI8Const(i8Const >> constant.u8Const);  break;
+            case EbtInt16:  returnValue.setI8Const(i8Const >> constant.i16Const); break;
+            case EbtUint16: returnValue.setI8Const(i8Const >> constant.u16Const); break;
+            case EbtInt:    returnValue.setI8Const(i8Const >> constant.iConst);   break;
+            case EbtUint:   returnValue.setI8Const(i8Const >> constant.uConst);   break;
+            case EbtInt64:  returnValue.setI8Const(i8Const >> constant.i64Const); break;
+            case EbtUint64: returnValue.setI8Const(i8Const >> constant.u64Const); break;
+            default:       assert(false && "Default missing");
+            }
+            break;
+        case EbtUint8:
+            switch (constant.type) {
+            case EbtInt8:   returnValue.setU8Const(u8Const >> constant.i8Const);  break;
+            case EbtUint8:  returnValue.setU8Const(u8Const >> constant.u8Const);  break;
+            case EbtInt16:  returnValue.setU8Const(u8Const >> constant.i16Const); break;
+            case EbtUint16: returnValue.setU8Const(u8Const >> constant.u16Const); break;
+            case EbtInt:    returnValue.setU8Const(u8Const >> constant.iConst);   break;
+            case EbtUint:   returnValue.setU8Const(u8Const >> constant.uConst);   break;
+            case EbtInt64:  returnValue.setU8Const(u8Const >> constant.i64Const); break;
+            case EbtUint64: returnValue.setU8Const(u8Const >> constant.u64Const); break;
+            default:       assert(false && "Default missing");
+            }
+            break;
+        case EbtInt16:
+            switch (constant.type) {
+            case EbtInt8:   returnValue.setI16Const(i16Const >> constant.i8Const);  break;
+            case EbtUint8:  returnValue.setI16Const(i16Const >> constant.u8Const);  break;
+            case EbtInt16:  returnValue.setI16Const(i16Const >> constant.i16Const); break;
+            case EbtUint16: returnValue.setI16Const(i16Const >> constant.u16Const); break;
+            case EbtInt:    returnValue.setI16Const(i16Const >> constant.iConst);   break;
+            case EbtUint:   returnValue.setI16Const(i16Const >> constant.uConst);   break;
+            case EbtInt64:  returnValue.setI16Const(i16Const >> constant.i64Const); break;
+            case EbtUint64: returnValue.setI16Const(i16Const >> constant.u64Const); break;
+            default:       assert(false && "Default missing");
+            }
+            break;
+        case EbtUint16:
+            switch (constant.type) {
+            case EbtInt8:   returnValue.setU16Const(u16Const >> constant.i8Const);  break;
+            case EbtUint8:  returnValue.setU16Const(u16Const >> constant.u8Const);  break;
+            case EbtInt16:  returnValue.setU16Const(u16Const >> constant.i16Const); break;
+            case EbtUint16: returnValue.setU16Const(u16Const >> constant.u16Const); break;
+            case EbtInt:    returnValue.setU16Const(u16Const >> constant.iConst);   break;
+            case EbtUint:   returnValue.setU16Const(u16Const >> constant.uConst);   break;
+            case EbtInt64:  returnValue.setU16Const(u16Const >> constant.i64Const); break;
+            case EbtUint64: returnValue.setU16Const(u16Const >> constant.u64Const); break;
+            default:       assert(false && "Default missing");
+            }
+            break;
         case EbtInt:
             switch (constant.type) {
+            case EbtInt8:   returnValue.setIConst(iConst >> constant.i8Const);  break;
+            case EbtUint8:  returnValue.setIConst(iConst >> constant.u8Const);  break;
+            case EbtInt16:  returnValue.setIConst(iConst >> constant.i16Const); break;
+            case EbtUint16: returnValue.setIConst(iConst >> constant.u16Const); break;
             case EbtInt:    returnValue.setIConst(iConst >> constant.iConst);   break;
             case EbtUint:   returnValue.setIConst(iConst >> constant.uConst);   break;
             case EbtInt64:  returnValue.setIConst(iConst >> constant.i64Const); break;
@@ -369,6 +582,10 @@
             break;
         case EbtUint:
             switch (constant.type) {
+            case EbtInt8:   returnValue.setUConst(uConst >> constant.i8Const);  break;
+            case EbtUint8:  returnValue.setUConst(uConst >> constant.u8Const);  break;
+            case EbtInt16:  returnValue.setUConst(uConst >> constant.i16Const); break;
+            case EbtUint16: returnValue.setUConst(uConst >> constant.u16Const); break;
             case EbtInt:    returnValue.setUConst(uConst >> constant.iConst);   break;
             case EbtUint:   returnValue.setUConst(uConst >> constant.uConst);   break;
             case EbtInt64:  returnValue.setUConst(uConst >> constant.i64Const); break;
@@ -378,6 +595,10 @@
             break;
          case EbtInt64:
             switch (constant.type) {
+            case EbtInt8:   returnValue.setI64Const(i64Const >> constant.i8Const);  break;
+            case EbtUint8:  returnValue.setI64Const(i64Const >> constant.u8Const);  break;
+            case EbtInt16:  returnValue.setI64Const(i64Const >> constant.i16Const); break;
+            case EbtUint16: returnValue.setI64Const(i64Const >> constant.u16Const); break;
             case EbtInt:    returnValue.setI64Const(i64Const >> constant.iConst);   break;
             case EbtUint:   returnValue.setI64Const(i64Const >> constant.uConst);   break;
             case EbtInt64:  returnValue.setI64Const(i64Const >> constant.i64Const); break;
@@ -387,6 +608,10 @@
             break;
         case EbtUint64:
             switch (constant.type) {
+            case EbtInt8:   returnValue.setU64Const(u64Const >> constant.i8Const);  break;
+            case EbtUint8:  returnValue.setU64Const(u64Const >> constant.u8Const);  break;
+            case EbtInt16:  returnValue.setU64Const(u64Const >> constant.i16Const); break;
+            case EbtUint16: returnValue.setU64Const(u64Const >> constant.u16Const); break;
             case EbtInt:    returnValue.setU64Const(u64Const >> constant.iConst);   break;
             case EbtUint:   returnValue.setU64Const(u64Const >> constant.uConst);   break;
             case EbtInt64:  returnValue.setU64Const(u64Const >> constant.i64Const); break;
@@ -404,8 +629,64 @@
     {
         TConstUnion returnValue;
         switch (type) {
+        case EbtInt8:
+            switch (constant.type) {
+            case EbtInt8:   returnValue.setI8Const(i8Const << constant.i8Const);  break;
+            case EbtUint8:  returnValue.setI8Const(i8Const << constant.u8Const);  break;
+            case EbtInt16:  returnValue.setI8Const(i8Const << constant.i16Const); break;
+            case EbtUint16: returnValue.setI8Const(i8Const << constant.u16Const); break;
+            case EbtInt:    returnValue.setI8Const(i8Const << constant.iConst);   break;
+            case EbtUint:   returnValue.setI8Const(i8Const << constant.uConst);   break;
+            case EbtInt64:  returnValue.setI8Const(i8Const << constant.i64Const); break;
+            case EbtUint64: returnValue.setI8Const(i8Const << constant.u64Const); break;
+            default:       assert(false && "Default missing");
+            }
+            break;
+        case EbtUint8:
+            switch (constant.type) {
+            case EbtInt8:   returnValue.setU8Const(u8Const << constant.i8Const);  break;
+            case EbtUint8:  returnValue.setU8Const(u8Const << constant.u8Const);  break;
+            case EbtInt16:  returnValue.setU8Const(u8Const << constant.i16Const); break;
+            case EbtUint16: returnValue.setU8Const(u8Const << constant.u16Const); break;
+            case EbtInt:    returnValue.setU8Const(u8Const << constant.iConst);   break;
+            case EbtUint:   returnValue.setU8Const(u8Const << constant.uConst);   break;
+            case EbtInt64:  returnValue.setU8Const(u8Const << constant.i64Const); break;
+            case EbtUint64: returnValue.setU8Const(u8Const << constant.u64Const); break;
+            default:       assert(false && "Default missing");
+            }
+            break;
+        case EbtInt16:
+            switch (constant.type) {
+            case EbtInt8:   returnValue.setI16Const(i16Const << constant.i8Const);  break;
+            case EbtUint8:  returnValue.setI16Const(i16Const << constant.u8Const);  break;
+            case EbtInt16:  returnValue.setI16Const(i16Const << constant.i16Const); break;
+            case EbtUint16: returnValue.setI16Const(i16Const << constant.u16Const); break;
+            case EbtInt:    returnValue.setI16Const(i16Const << constant.iConst);   break;
+            case EbtUint:   returnValue.setI16Const(i16Const << constant.uConst);   break;
+            case EbtInt64:  returnValue.setI16Const(i16Const << constant.i64Const); break;
+            case EbtUint64: returnValue.setI16Const(i16Const << constant.u64Const); break;
+            default:       assert(false && "Default missing");
+            }
+            break;
+        case EbtUint16:
+            switch (constant.type) {
+            case EbtInt8:   returnValue.setU16Const(u16Const << constant.i8Const);  break;
+            case EbtUint8:  returnValue.setU16Const(u16Const << constant.u8Const);  break;
+            case EbtInt16:  returnValue.setU16Const(u16Const << constant.i16Const); break;
+            case EbtUint16: returnValue.setU16Const(u16Const << constant.u16Const); break;
+            case EbtInt:    returnValue.setU16Const(u16Const << constant.iConst);   break;
+            case EbtUint:   returnValue.setU16Const(u16Const << constant.uConst);   break;
+            case EbtInt64:  returnValue.setU16Const(u16Const << constant.i64Const); break;
+            case EbtUint64: returnValue.setU16Const(u16Const << constant.u64Const); break;
+            default:       assert(false && "Default missing");
+            }
+            break;
         case EbtInt:
             switch (constant.type) {
+            case EbtInt8:   returnValue.setIConst(iConst << constant.i8Const);  break;
+            case EbtUint8:  returnValue.setIConst(iConst << constant.u8Const);  break;
+            case EbtInt16:  returnValue.setIConst(iConst << constant.i16Const); break;
+            case EbtUint16: returnValue.setIConst(iConst << constant.u16Const); break;
             case EbtInt:    returnValue.setIConst(iConst << constant.iConst);   break;
             case EbtUint:   returnValue.setIConst(iConst << constant.uConst);   break;
             case EbtInt64:  returnValue.setIConst(iConst << constant.i64Const); break;
@@ -415,6 +696,10 @@
             break;
         case EbtUint:
             switch (constant.type) {
+            case EbtInt8:   returnValue.setUConst(uConst << constant.i8Const);  break;
+            case EbtUint8:  returnValue.setUConst(uConst << constant.u8Const);  break;
+            case EbtInt16:  returnValue.setUConst(uConst << constant.i16Const); break;
+            case EbtUint16: returnValue.setUConst(uConst << constant.u16Const); break;
             case EbtInt:    returnValue.setUConst(uConst << constant.iConst);   break;
             case EbtUint:   returnValue.setUConst(uConst << constant.uConst);   break;
             case EbtInt64:  returnValue.setUConst(uConst << constant.i64Const); break;
@@ -422,8 +707,12 @@
             default:       assert(false && "Default missing");
             }
             break;
-        case EbtInt64:
+         case EbtInt64:
             switch (constant.type) {
+            case EbtInt8:   returnValue.setI64Const(i64Const << constant.i8Const);  break;
+            case EbtUint8:  returnValue.setI64Const(i64Const << constant.u8Const);  break;
+            case EbtInt16:  returnValue.setI64Const(i64Const << constant.i16Const); break;
+            case EbtUint16: returnValue.setI64Const(i64Const << constant.u16Const); break;
             case EbtInt:    returnValue.setI64Const(i64Const << constant.iConst);   break;
             case EbtUint:   returnValue.setI64Const(i64Const << constant.uConst);   break;
             case EbtInt64:  returnValue.setI64Const(i64Const << constant.i64Const); break;
@@ -433,6 +722,10 @@
             break;
         case EbtUint64:
             switch (constant.type) {
+            case EbtInt8:   returnValue.setU64Const(u64Const << constant.i8Const);  break;
+            case EbtUint8:  returnValue.setU64Const(u64Const << constant.u8Const);  break;
+            case EbtInt16:  returnValue.setU64Const(u64Const << constant.i16Const); break;
+            case EbtUint16: returnValue.setU64Const(u64Const << constant.u16Const); break;
             case EbtInt:    returnValue.setU64Const(u64Const << constant.iConst);   break;
             case EbtUint:   returnValue.setU64Const(u64Const << constant.uConst);   break;
             case EbtInt64:  returnValue.setU64Const(u64Const << constant.i64Const); break;
@@ -451,6 +744,10 @@
         TConstUnion returnValue;
         assert(type == constant.type);
         switch (type) {
+        case EbtInt8:  returnValue.setI8Const(i8Const & constant.i8Const); break;
+        case EbtUint8: returnValue.setU8Const(u8Const & constant.u8Const); break;
+        case EbtInt16: returnValue.setI16Const(i16Const & constant.i16Const); break;
+        case EbtUint16:returnValue.setU16Const(u16Const & constant.u16Const); break;
         case EbtInt:  returnValue.setIConst(iConst & constant.iConst); break;
         case EbtUint: returnValue.setUConst(uConst & constant.uConst); break;
         case EbtInt64:  returnValue.setI64Const(i64Const & constant.i64Const); break;
@@ -466,6 +763,10 @@
         TConstUnion returnValue;
         assert(type == constant.type);
         switch (type) {
+        case EbtInt8:  returnValue.setI8Const(i8Const | constant.i8Const); break;
+        case EbtUint8: returnValue.setU8Const(u8Const | constant.u8Const); break;
+        case EbtInt16: returnValue.setI16Const(i16Const | constant.i16Const); break;
+        case EbtUint16:returnValue.setU16Const(u16Const | constant.u16Const); break;
         case EbtInt:  returnValue.setIConst(iConst | constant.iConst); break;
         case EbtUint: returnValue.setUConst(uConst | constant.uConst); break;
         case EbtInt64:  returnValue.setI64Const(i64Const | constant.i64Const); break;
@@ -481,6 +782,10 @@
         TConstUnion returnValue;
         assert(type == constant.type);
         switch (type) {
+        case EbtInt8:  returnValue.setI8Const(i8Const ^ constant.i8Const); break;
+        case EbtUint8: returnValue.setU8Const(u8Const ^ constant.u8Const); break;
+        case EbtInt16: returnValue.setI16Const(i16Const ^ constant.i16Const); break;
+        case EbtUint16:returnValue.setU16Const(u16Const ^ constant.u16Const); break;
         case EbtInt:  returnValue.setIConst(iConst ^ constant.iConst); break;
         case EbtUint: returnValue.setUConst(uConst ^ constant.uConst); break;
         case EbtInt64:  returnValue.setI64Const(i64Const ^ constant.i64Const); break;
@@ -495,6 +800,10 @@
     {
         TConstUnion returnValue;
         switch (type) {
+        case EbtInt8:  returnValue.setI8Const(~i8Const); break;
+        case EbtUint8: returnValue.setU8Const(~u8Const); break;
+        case EbtInt16:  returnValue.setI16Const(~i16Const); break;
+        case EbtUint16: returnValue.setU16Const(~u16Const); break;
         case EbtInt:  returnValue.setIConst(~iConst); break;
         case EbtUint: returnValue.setUConst(~uConst); break;
         case EbtInt64:  returnValue.setI64Const(~i64Const); break;
@@ -533,6 +842,10 @@
 
 private:
     union  {
+        signed char        i8Const;     // used for i8vec, scalar int8s
+        unsigned char      u8Const;     // used for u8vec, scalar uint8s
+        signed short       i16Const;    // used for i16vec, scalar int16s
+        unsigned short     u16Const;    // used for u16vec, scalar uint16s
         int                iConst;      // used for ivec, scalar ints
         unsigned int       uConst;      // used for uvec, scalar uints
         long long          i64Const;    // used for i64vec, scalar int64s
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index b5b91f5..5b860b6 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -2,6 +2,7 @@
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2016 LunarG, Inc.
 // Copyright (C) 2015-2016 Google, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -204,9 +205,15 @@
         }
 
         switch (type) {
-        case EbtFloat:               break;
-        case EbtInt:  s.append("i"); break;
-        case EbtUint: s.append("u"); break;
+        case EbtFloat:                   break;
+        case EbtInt8:   s.append("i8");  break;
+        case EbtUint16: s.append("u8");  break;
+        case EbtInt16:  s.append("i16"); break;
+        case EbtUint8:  s.append("u16"); break;
+        case EbtInt:    s.append("i");   break;
+        case EbtUint:   s.append("u");   break;
+        case EbtInt64:  s.append("i64"); break;
+        case EbtUint64: s.append("u64"); break;
         default:  break;  // some compilers want this
         }
         if (image) {
@@ -1358,11 +1365,7 @@
     virtual bool isImplicitlySizedArray() const { return isArray() && getOuterArraySize() == UnsizedArraySize && qualifier.storage != EvqBuffer; }
     virtual bool isRuntimeSizedArray()    const { return isArray() && getOuterArraySize() == UnsizedArraySize && qualifier.storage == EvqBuffer; }
     virtual bool isStruct() const { return structure != nullptr; }
-#ifdef AMD_EXTENSIONS
     virtual bool isFloatingDomain() const { return basicType == EbtFloat || basicType == EbtDouble || basicType == EbtFloat16; }
-#else
-    virtual bool isFloatingDomain() const { return basicType == EbtFloat || basicType == EbtDouble; }
-#endif
     virtual bool isIntegerDomain() const
     {
         switch (basicType) {
@@ -1370,10 +1373,8 @@
         case EbtUint:
         case EbtInt64:
         case EbtUint64:
-#ifdef AMD_EXTENSIONS
         case EbtInt16:
         case EbtUint16:
-#endif
         case EbtAtomicUint:
             return true;
         default:
@@ -1389,7 +1390,7 @@
     virtual bool isSubpass() const { return basicType == EbtSampler && getSampler().isSubpass(); }
 
     // return true if this type contains any subtype which satisfies the given predicate.
-    template <typename P> 
+    template <typename P>
     bool contains(P predicate) const
     {
         if (predicate(this))
@@ -1442,17 +1443,15 @@
             case EbtVoid:
             case EbtFloat:
             case EbtDouble:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
+            case EbtInt8:
+            case EbtUint8:
+            case EbtInt16:
+            case EbtUint16:
             case EbtInt:
             case EbtUint:
             case EbtInt64:
             case EbtUint64:
-#ifdef AMD_EXTENSIONS
-            case EbtInt16:
-            case EbtUint16:
-#endif
             case EbtBool:
                 return true;
             default:
@@ -1529,17 +1528,15 @@
         case EbtVoid:              return "void";
         case EbtFloat:             return "float";
         case EbtDouble:            return "double";
-#ifdef AMD_EXTENSIONS
         case EbtFloat16:           return "float16_t";
-#endif
+        case EbtInt8:              return "int8_t";
+        case EbtUint8:             return "uint8_t";
+        case EbtInt16:             return "int16_t";
+        case EbtUint16:            return "uint16_t";
         case EbtInt:               return "int";
         case EbtUint:              return "uint";
         case EbtInt64:             return "int64_t";
         case EbtUint64:            return "uint64_t";
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:             return "int16_t";
-        case EbtUint16:            return "uint16_t";
-#endif
         case EbtBool:              return "bool";
         case EbtAtomicUint:        return "atomic_uint";
         case EbtSampler:           return "sampler/image";
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index 12f17e3..f0cda5f 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2016 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -84,100 +85,189 @@
     EOpPreIncrement,
     EOpPreDecrement,
 
+    // (u)int* -> bool
+    EOpConvInt8ToBool,
+    EOpConvUint8ToBool,
+    EOpConvInt16ToBool,
+    EOpConvUint16ToBool,
     EOpConvIntToBool,
     EOpConvUintToBool,
-    EOpConvFloatToBool,
-    EOpConvDoubleToBool,
     EOpConvInt64ToBool,
     EOpConvUint64ToBool,
-    EOpConvBoolToFloat,
-    EOpConvIntToFloat,
-    EOpConvUintToFloat,
-    EOpConvDoubleToFloat,
-    EOpConvInt64ToFloat,
-    EOpConvUint64ToFloat,
-    EOpConvUintToInt,
-    EOpConvFloatToInt,
-    EOpConvBoolToInt,
-    EOpConvDoubleToInt,
-    EOpConvInt64ToInt,
-    EOpConvUint64ToInt,
-    EOpConvIntToUint,
-    EOpConvFloatToUint,
-    EOpConvBoolToUint,
-    EOpConvDoubleToUint,
-    EOpConvInt64ToUint,
-    EOpConvUint64ToUint,
-    EOpConvIntToDouble,
-    EOpConvUintToDouble,
-    EOpConvFloatToDouble,
-    EOpConvBoolToDouble,
-    EOpConvInt64ToDouble,
-    EOpConvUint64ToDouble,
-    EOpConvBoolToInt64,
-    EOpConvIntToInt64,
-    EOpConvUintToInt64,
-    EOpConvFloatToInt64,
-    EOpConvDoubleToInt64,
-    EOpConvUint64ToInt64,
-    EOpConvBoolToUint64,
-    EOpConvIntToUint64,
-    EOpConvUintToUint64,
-    EOpConvFloatToUint64,
-    EOpConvDoubleToUint64,
-    EOpConvInt64ToUint64,
-#ifdef AMD_EXTENSIONS
-    EOpConvBoolToFloat16,
-    EOpConvIntToFloat16,
-    EOpConvUintToFloat16,
-    EOpConvFloatToFloat16,
-    EOpConvDoubleToFloat16,
-    EOpConvInt64ToFloat16,
-    EOpConvUint64ToFloat16,
-    EOpConvFloat16ToBool,
-    EOpConvFloat16ToInt,
-    EOpConvFloat16ToUint,
-    EOpConvFloat16ToFloat,
-    EOpConvFloat16ToDouble,
-    EOpConvFloat16ToInt64,
-    EOpConvFloat16ToUint64,
 
+    // float* -> bool
+    EOpConvFloat16ToBool,
+    EOpConvFloatToBool,
+    EOpConvDoubleToBool,
+
+    // bool -> (u)int*
+    EOpConvBoolToInt8,
+    EOpConvBoolToUint8,
     EOpConvBoolToInt16,
-    EOpConvIntToInt16,
-    EOpConvUintToInt16,
-    EOpConvFloatToInt16,
-    EOpConvDoubleToInt16,
-    EOpConvFloat16ToInt16,
-    EOpConvInt64ToInt16,
-    EOpConvUint64ToInt16,
-    EOpConvUint16ToInt16,
-    EOpConvInt16ToBool,
+    EOpConvBoolToUint16,
+    EOpConvBoolToInt,
+    EOpConvBoolToUint,
+    EOpConvBoolToInt64,
+    EOpConvBoolToUint64,
+
+    // bool -> float*
+    EOpConvBoolToFloat16,
+    EOpConvBoolToFloat,
+    EOpConvBoolToDouble,
+
+    // int8_t -> (u)int*
+    EOpConvInt8ToInt16,
+    EOpConvInt8ToInt,
+    EOpConvInt8ToInt64,
+    EOpConvInt8ToUint8,
+    EOpConvInt8ToUint16,
+    EOpConvInt8ToUint,
+    EOpConvInt8ToUint64,
+
+    // uint8_t -> (u)int*
+    EOpConvUint8ToInt8,
+    EOpConvUint8ToInt16,
+    EOpConvUint8ToInt,
+    EOpConvUint8ToInt64,
+    EOpConvUint8ToUint16,
+    EOpConvUint8ToUint,
+    EOpConvUint8ToUint64,
+
+    // int8_t -> float*
+    EOpConvInt8ToFloat16,
+    EOpConvInt8ToFloat,
+    EOpConvInt8ToDouble,
+
+    // uint8_t -> float*
+    EOpConvUint8ToFloat16,
+    EOpConvUint8ToFloat,
+    EOpConvUint8ToDouble,
+
+    // int16_t -> (u)int*
+    EOpConvInt16ToInt8,
     EOpConvInt16ToInt,
-    EOpConvInt16ToUint,
-    EOpConvInt16ToFloat,
-    EOpConvInt16ToDouble,
-    EOpConvInt16ToFloat16,
     EOpConvInt16ToInt64,
+    EOpConvInt16ToUint8,
+    EOpConvInt16ToUint16,
+    EOpConvInt16ToUint,
     EOpConvInt16ToUint64,
 
-    EOpConvBoolToUint16,
-    EOpConvIntToUint16,
-    EOpConvUintToUint16,
-    EOpConvFloatToUint16,
-    EOpConvDoubleToUint16,
-    EOpConvFloat16ToUint16,
-    EOpConvInt64ToUint16,
-    EOpConvUint64ToUint16,
-    EOpConvInt16ToUint16,
-    EOpConvUint16ToBool,
+    // uint16_t -> (u)int*
+    EOpConvUint16ToInt8,
+    EOpConvUint16ToInt16,
     EOpConvUint16ToInt,
+    EOpConvUint16ToInt64,
+    EOpConvUint16ToUint8,
     EOpConvUint16ToUint,
+    EOpConvUint16ToUint64,
+
+    // int16_t -> float*
+    EOpConvInt16ToFloat16,
+    EOpConvInt16ToFloat,
+    EOpConvInt16ToDouble,
+
+    // uint16_t -> float*
+    EOpConvUint16ToFloat16,
     EOpConvUint16ToFloat,
     EOpConvUint16ToDouble,
-    EOpConvUint16ToFloat16,
-    EOpConvUint16ToInt64,
-    EOpConvUint16ToUint64,
-#endif
+
+    // int32_t -> (u)int*
+    EOpConvIntToInt8,
+    EOpConvIntToInt16,
+    EOpConvIntToInt64,
+    EOpConvIntToUint8,
+    EOpConvIntToUint16,
+    EOpConvIntToUint,
+    EOpConvIntToUint64,
+
+    // uint32_t -> (u)int*
+    EOpConvUintToInt8,
+    EOpConvUintToInt16,
+    EOpConvUintToInt,
+    EOpConvUintToInt64,
+    EOpConvUintToUint8,
+    EOpConvUintToUint16,
+    EOpConvUintToUint64,
+
+    // int32_t -> float*
+    EOpConvIntToFloat16,
+    EOpConvIntToFloat,
+    EOpConvIntToDouble,
+
+    // uint32_t -> float*
+    EOpConvUintToFloat16,
+    EOpConvUintToFloat,
+    EOpConvUintToDouble,
+
+    // int64_t -> (u)int*
+    EOpConvInt64ToInt8,
+    EOpConvInt64ToInt16,
+    EOpConvInt64ToInt,
+    EOpConvInt64ToUint8,
+    EOpConvInt64ToUint16,
+    EOpConvInt64ToUint,
+    EOpConvInt64ToUint64,
+
+    // uint64_t -> (u)int*
+    EOpConvUint64ToInt8,
+    EOpConvUint64ToInt16,
+    EOpConvUint64ToInt,
+    EOpConvUint64ToInt64,
+    EOpConvUint64ToUint8,
+    EOpConvUint64ToUint16,
+    EOpConvUint64ToUint,
+
+    // int64_t -> float*
+    EOpConvInt64ToFloat16,
+    EOpConvInt64ToFloat,
+    EOpConvInt64ToDouble,
+
+    // uint64_t -> float*
+    EOpConvUint64ToFloat16,
+    EOpConvUint64ToFloat,
+    EOpConvUint64ToDouble,
+
+    // float16_t -> (u)int*
+    EOpConvFloat16ToInt8,
+    EOpConvFloat16ToInt16,
+    EOpConvFloat16ToInt,
+    EOpConvFloat16ToInt64,
+    EOpConvFloat16ToUint8,
+    EOpConvFloat16ToUint16,
+    EOpConvFloat16ToUint,
+    EOpConvFloat16ToUint64,
+
+    // float16_t -> float*
+    EOpConvFloat16ToFloat,
+    EOpConvFloat16ToDouble,
+
+    // float -> (u)int*
+    EOpConvFloatToInt8,
+    EOpConvFloatToInt16,
+    EOpConvFloatToInt,
+    EOpConvFloatToInt64,
+    EOpConvFloatToUint8,
+    EOpConvFloatToUint16,
+    EOpConvFloatToUint,
+    EOpConvFloatToUint64,
+
+    // float -> float*
+    EOpConvFloatToFloat16,
+    EOpConvFloatToDouble,
+
+    // float64 _t-> (u)int*
+    EOpConvDoubleToInt8,
+    EOpConvDoubleToInt16,
+    EOpConvDoubleToInt,
+    EOpConvDoubleToInt64,
+    EOpConvDoubleToUint8,
+    EOpConvDoubleToUint16,
+    EOpConvDoubleToUint,
+    EOpConvDoubleToUint64,
+
+    // float64_t -> float*
+    EOpConvDoubleToFloat16,
+    EOpConvDoubleToFloat,
 
     //
     // binary operations
@@ -280,12 +370,10 @@
     EOpDoubleBitsToUint64,
     EOpInt64BitsToDouble,
     EOpUint64BitsToDouble,
-#ifdef AMD_EXTENSIONS
     EOpFloat16BitsToInt16,
     EOpFloat16BitsToUint16,
     EOpInt16BitsToFloat16,
     EOpUint16BitsToFloat16,
-#endif
     EOpPackSnorm2x16,
     EOpUnpackSnorm2x16,
     EOpPackUnorm2x16,
@@ -302,7 +390,6 @@
     EOpUnpackInt2x32,
     EOpPackUint2x32,
     EOpUnpackUint2x32,
-#ifdef AMD_EXTENSIONS
     EOpPackFloat2x16,
     EOpUnpackFloat2x16,
     EOpPackInt2x16,
@@ -313,7 +400,12 @@
     EOpUnpackInt4x16,
     EOpPackUint4x16,
     EOpUnpackUint4x16,
-#endif
+    EOpPack16,
+    EOpPack32,
+    EOpPack64,
+    EOpUnpack32,
+    EOpUnpack16,
+    EOpUnpack8,
 
     EOpLength,
     EOpDistance,
@@ -379,6 +471,62 @@
     EOpAllInvocations,
     EOpAllInvocationsEqual,
 
+    EOpSubgroupBarrier,
+    EOpSubgroupMemoryBarrier,
+    EOpSubgroupMemoryBarrierBuffer,
+    EOpSubgroupMemoryBarrierImage,
+    EOpSubgroupMemoryBarrierShared, // compute only
+    EOpSubgroupElect,
+    EOpSubgroupAll,
+    EOpSubgroupAny,
+    EOpSubgroupAllEqual,
+    EOpSubgroupBroadcast,
+    EOpSubgroupBroadcastFirst,
+    EOpSubgroupBallot,
+    EOpSubgroupInverseBallot,
+    EOpSubgroupBallotBitExtract,
+    EOpSubgroupBallotBitCount,
+    EOpSubgroupBallotInclusiveBitCount,
+    EOpSubgroupBallotExclusiveBitCount,
+    EOpSubgroupBallotFindLSB,
+    EOpSubgroupBallotFindMSB,
+    EOpSubgroupShuffle,
+    EOpSubgroupShuffleXor,
+    EOpSubgroupShuffleUp,
+    EOpSubgroupShuffleDown,
+    EOpSubgroupAdd,
+    EOpSubgroupMul,
+    EOpSubgroupMin,
+    EOpSubgroupMax,
+    EOpSubgroupAnd,
+    EOpSubgroupOr,
+    EOpSubgroupXor,
+    EOpSubgroupInclusiveAdd,
+    EOpSubgroupInclusiveMul,
+    EOpSubgroupInclusiveMin,
+    EOpSubgroupInclusiveMax,
+    EOpSubgroupInclusiveAnd,
+    EOpSubgroupInclusiveOr,
+    EOpSubgroupInclusiveXor,
+    EOpSubgroupExclusiveAdd,
+    EOpSubgroupExclusiveMul,
+    EOpSubgroupExclusiveMin,
+    EOpSubgroupExclusiveMax,
+    EOpSubgroupExclusiveAnd,
+    EOpSubgroupExclusiveOr,
+    EOpSubgroupExclusiveXor,
+    EOpSubgroupClusteredAdd,
+    EOpSubgroupClusteredMul,
+    EOpSubgroupClusteredMin,
+    EOpSubgroupClusteredMax,
+    EOpSubgroupClusteredAnd,
+    EOpSubgroupClusteredOr,
+    EOpSubgroupClusteredXor,
+    EOpSubgroupQuadBroadcast,
+    EOpSubgroupQuadSwapHorizontal,
+    EOpSubgroupQuadSwapVertical,
+    EOpSubgroupQuadSwapDiagonal,
+
 #ifdef AMD_EXTENSIONS
     EOpMinInvocations,
     EOpMaxInvocations,
@@ -451,32 +599,36 @@
     EOpConstructGuardStart,
     EOpConstructInt,          // these first scalar forms also identify what implicit conversion is needed
     EOpConstructUint,
-    EOpConstructInt64,
-    EOpConstructUint64,
-#ifdef AMD_EXTENSIONS
+    EOpConstructInt8,
+    EOpConstructUint8,
     EOpConstructInt16,
     EOpConstructUint16,
-#endif
+    EOpConstructInt64,
+    EOpConstructUint64,
     EOpConstructBool,
     EOpConstructFloat,
     EOpConstructDouble,
-#ifdef AMD_EXTENSIONS
-    EOpConstructFloat16,
-#endif
     EOpConstructVec2,
     EOpConstructVec3,
     EOpConstructVec4,
     EOpConstructDVec2,
     EOpConstructDVec3,
     EOpConstructDVec4,
-#ifdef AMD_EXTENSIONS
-    EOpConstructF16Vec2,
-    EOpConstructF16Vec3,
-    EOpConstructF16Vec4,
-#endif
     EOpConstructBVec2,
     EOpConstructBVec3,
     EOpConstructBVec4,
+    EOpConstructI8Vec2,
+    EOpConstructI8Vec3,
+    EOpConstructI8Vec4,
+    EOpConstructU8Vec2,
+    EOpConstructU8Vec3,
+    EOpConstructU8Vec4,
+    EOpConstructI16Vec2,
+    EOpConstructI16Vec3,
+    EOpConstructI16Vec4,
+    EOpConstructU16Vec2,
+    EOpConstructU16Vec3,
+    EOpConstructU16Vec4,
     EOpConstructIVec2,
     EOpConstructIVec3,
     EOpConstructIVec4,
@@ -489,14 +641,6 @@
     EOpConstructU64Vec2,
     EOpConstructU64Vec3,
     EOpConstructU64Vec4,
-#ifdef AMD_EXTENSIONS
-    EOpConstructI16Vec2,
-    EOpConstructI16Vec3,
-    EOpConstructI16Vec4,
-    EOpConstructU16Vec2,
-    EOpConstructU16Vec3,
-    EOpConstructU16Vec4,
-#endif
     EOpConstructMat2x2,
     EOpConstructMat2x3,
     EOpConstructMat2x4,
@@ -542,7 +686,10 @@
     EOpConstructBMat4x2,
     EOpConstructBMat4x3,
     EOpConstructBMat4x4,
-#ifdef AMD_EXTENSIONS
+    EOpConstructFloat16,
+    EOpConstructF16Vec2,
+    EOpConstructF16Vec3,
+    EOpConstructF16Vec4,
     EOpConstructF16Mat2x2,
     EOpConstructF16Mat2x3,
     EOpConstructF16Mat2x4,
@@ -552,7 +699,6 @@
     EOpConstructF16Mat4x2,
     EOpConstructF16Mat4x3,
     EOpConstructF16Mat4x4,
-#endif
     EOpConstructStruct,
     EOpConstructTextureSampler,
     EOpConstructGuardEnd,
@@ -776,6 +922,14 @@
 
     // matrix
     EOpMatrixSwizzle,                    // select multiple matrix components (non-column)
+
+    // SM6 wave ops
+    EOpWaveGetLaneCount,                 // Will decompose to gl_SubgroupSize.
+    EOpWaveGetLaneIndex,                 // Will decompose to gl_SubgroupInvocationID.
+    EOpWaveIsHelperLane,                 // Will decompose to gl_HelperInvocation.
+    EOpWaveBallot,                       // Will decompose to subgroupBallot.
+    EOpWaveGetOrderedIndex,              // Will decompose to an equation containing gl_SubgroupID.
+    EOpGlobalOrderedCountIncrement,      // Will nice error.
 };
 
 class TIntermTraverser;
diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp
index 625b8e9..313c54f 100644
--- a/glslang/MachineIndependent/Constant.cpp
+++ b/glslang/MachineIndependent/Constant.cpp
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -176,11 +177,40 @@
             switch (getType().getBasicType()) {
             case EbtDouble:
             case EbtFloat:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
                 newConstArray[i].setDConst(leftUnionArray[i].getDConst() / rightUnionArray[i].getDConst());
                 break;
+            case EbtInt8:
+                if (rightUnionArray[i] == 0)
+                    newConstArray[i].setI8Const(0x7F);
+                else if (rightUnionArray[i].getI8Const() == -1 && leftUnionArray[i].getI8Const() == (signed char)0x80)
+                    newConstArray[i].setI8Const((signed char)0x80);
+                else
+                    newConstArray[i].setI8Const(leftUnionArray[i].getI8Const() / rightUnionArray[i].getI8Const());
+                break;
+
+            case EbtUint8:
+                if (rightUnionArray[i] == 0) {
+                    newConstArray[i].setU8Const(0xFF);
+                } else
+                    newConstArray[i].setU8Const(leftUnionArray[i].getU8Const() / rightUnionArray[i].getU8Const());
+                break;
+
+           case EbtInt16:
+                if (rightUnionArray[i] == 0)
+                    newConstArray[i].setI16Const(0x7FFF);
+                else if (rightUnionArray[i].getI16Const() == -1 && leftUnionArray[i].getI16Const() == (signed short)0x8000)
+                    newConstArray[i].setI16Const(short(0x8000));
+                else
+                    newConstArray[i].setI16Const(leftUnionArray[i].getI16Const() / rightUnionArray[i].getI16Const());
+                break;
+
+            case EbtUint16:
+                if (rightUnionArray[i] == 0) {
+                    newConstArray[i].setU16Const(0xFFFF);
+                } else
+                    newConstArray[i].setU16Const(leftUnionArray[i].getU16Const() / rightUnionArray[i].getU16Const());
+                break;
 
             case EbtInt:
                 if (rightUnionArray[i] == 0)
@@ -213,23 +243,6 @@
                 } else
                     newConstArray[i].setU64Const(leftUnionArray[i].getU64Const() / rightUnionArray[i].getU64Const());
                 break;
-#ifdef AMD_EXTENSIONS
-            case EbtInt16:
-                if (rightUnionArray[i] == 0)
-                    newConstArray[i].setIConst(0x7FFF);
-                else if (rightUnionArray[i].getIConst() == -1 && leftUnionArray[i].getIConst() == (int)0x8000)
-                    newConstArray[i].setIConst(0x8000);
-                else
-                    newConstArray[i].setIConst(leftUnionArray[i].getIConst() / rightUnionArray[i].getIConst());
-                break;
-
-            case EbtUint16:
-                if (rightUnionArray[i] == 0) {
-                    newConstArray[i].setUConst(0xFFFFu);
-                } else
-                    newConstArray[i].setUConst(leftUnionArray[i].getUConst() / rightUnionArray[i].getUConst());
-                break;
-#endif
             default:
                 return 0;
             }
@@ -387,6 +400,12 @@
         resultSize = 2;
         break;
 
+    case EOpPack16:
+    case EOpPack32:
+    case EOpPack64:
+    case EOpUnpack32:
+    case EOpUnpack16:
+    case EOpUnpack8:
     case EOpNormalize:
         componentWise = false;
         resultSize = objectSize;
@@ -445,6 +464,12 @@
     case EOpPackSnorm2x16:
     case EOpPackUnorm2x16:
     case EOpPackHalf2x16:
+    case EOpPack16:
+    case EOpPack32:
+    case EOpPack64:
+    case EOpUnpack32:
+    case EOpUnpack16:
+    case EOpUnpack8:
 
     case EOpUnpackSnorm2x16:
     case EOpUnpackUnorm2x16:
@@ -470,17 +495,13 @@
         case EOpNegative:
             switch (getType().getBasicType()) {
             case EbtDouble:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
             case EbtFloat: newConstArray[i].setDConst(-unionArray[i].getDConst()); break;
-#ifdef AMD_EXTENSIONS
-            case EbtInt16:
-#endif
+            case EbtInt8:  newConstArray[i].setI8Const(-unionArray[i].getI8Const()); break;
+            case EbtUint8: newConstArray[i].setU8Const(static_cast<unsigned int>(-static_cast<signed int>(unionArray[i].getU8Const())));  break;
+            case EbtInt16: newConstArray[i].setI16Const(-unionArray[i].getI16Const()); break;
+            case EbtUint16:newConstArray[i].setU16Const(static_cast<unsigned int>(-static_cast<signed int>(unionArray[i].getU16Const())));  break;
             case EbtInt:   newConstArray[i].setIConst(-unionArray[i].getIConst()); break;
-#ifdef AMD_EXTENSIONS
-            case EbtUint16:
-#endif
             case EbtUint:  newConstArray[i].setUConst(static_cast<unsigned int>(-static_cast<int>(unionArray[i].getUConst())));  break;
             case EbtInt64: newConstArray[i].setI64Const(-unionArray[i].getI64Const()); break;
             case EbtUint64: newConstArray[i].setU64Const(static_cast<unsigned long long>(-static_cast<long long>(unionArray[i].getU64Const())));  break;
@@ -635,13 +656,10 @@
         case EOpDoubleBitsToUint64:
         case EOpInt64BitsToDouble:
         case EOpUint64BitsToDouble:
-#ifdef AMD_EXTENSIONS
         case EOpFloat16BitsToInt16:
         case EOpFloat16BitsToUint16:
         case EOpInt16BitsToFloat16:
         case EOpUint16BitsToFloat16:
-#endif
-
         default:
             return 0;
         }
@@ -725,20 +743,6 @@
     for (unsigned int arg = 0; arg < children.size(); ++arg)
         childConstUnions.push_back(children[arg]->getAsConstantUnion()->getConstArray());
 
-    // Second, do the actual folding
-
-    bool isFloatingPoint = children[0]->getAsTyped()->getBasicType() == EbtFloat ||
-#ifdef AMD_EXTENSIONS
-                           children[0]->getAsTyped()->getBasicType() == EbtFloat16 ||
-#endif
-                           children[0]->getAsTyped()->getBasicType() == EbtDouble;
-    bool isSigned = children[0]->getAsTyped()->getBasicType() == EbtInt ||
-#ifdef AMD_EXTENSIONS
-                    children[0]->getAsTyped()->getBasicType() == EbtInt16 ||
-#endif
-                    children[0]->getAsTyped()->getBasicType() == EbtInt64;
-    bool isInt64 = children[0]->getAsTyped()->getBasicType() == EbtInt64 ||
-                   children[0]->getAsTyped()->getBasicType() == EbtUint64;
     if (componentwise) {
         for (int comp = 0; comp < objectSize; comp++) {
 
@@ -759,53 +763,114 @@
                 newConstArray[comp].setDConst(pow(childConstUnions[0][arg0comp].getDConst(), childConstUnions[1][arg1comp].getDConst()));
                 break;
             case EOpMin:
-                if (isFloatingPoint)
+                switch(children[0]->getAsTyped()->getBasicType()) {
+                case EbtFloat16:
+                case EbtFloat:
+                case EbtDouble:
                     newConstArray[comp].setDConst(std::min(childConstUnions[0][arg0comp].getDConst(), childConstUnions[1][arg1comp].getDConst()));
-                else if (isSigned) {
-                    if (isInt64)
-                        newConstArray[comp].setI64Const(std::min(childConstUnions[0][arg0comp].getI64Const(), childConstUnions[1][arg1comp].getI64Const()));
-                    else
-                        newConstArray[comp].setIConst(std::min(childConstUnions[0][arg0comp].getIConst(), childConstUnions[1][arg1comp].getIConst()));
-                } else {
-                    if (isInt64)
-                        newConstArray[comp].setU64Const(std::min(childConstUnions[0][arg0comp].getU64Const(), childConstUnions[1][arg1comp].getU64Const()));
-                    else
-                        newConstArray[comp].setUConst(std::min(childConstUnions[0][arg0comp].getUConst(), childConstUnions[1][arg1comp].getUConst()));
+                    break;
+                case EbtInt8:
+                    newConstArray[comp].setI8Const(std::min(childConstUnions[0][arg0comp].getI8Const(), childConstUnions[1][arg1comp].getI8Const()));
+                    break;
+                case EbtUint8:
+                    newConstArray[comp].setU8Const(std::min(childConstUnions[0][arg0comp].getU8Const(), childConstUnions[1][arg1comp].getU8Const()));
+                    break;
+                case EbtInt16:
+                    newConstArray[comp].setI16Const(std::min(childConstUnions[0][arg0comp].getI16Const(), childConstUnions[1][arg1comp].getI16Const()));
+                    break;
+                case EbtUint16:
+                    newConstArray[comp].setU16Const(std::min(childConstUnions[0][arg0comp].getU16Const(), childConstUnions[1][arg1comp].getU16Const()));
+                    break;
+                case EbtInt:
+                    newConstArray[comp].setIConst(std::min(childConstUnions[0][arg0comp].getIConst(), childConstUnions[1][arg1comp].getIConst()));
+                    break;
+                case EbtUint:
+                    newConstArray[comp].setUConst(std::min(childConstUnions[0][arg0comp].getUConst(), childConstUnions[1][arg1comp].getUConst()));
+                    break;
+                case EbtInt64:
+                    newConstArray[comp].setI64Const(std::min(childConstUnions[0][arg0comp].getI64Const(), childConstUnions[1][arg1comp].getI64Const()));
+                    break;
+                case EbtUint64:
+                    newConstArray[comp].setU64Const(std::min(childConstUnions[0][arg0comp].getU64Const(), childConstUnions[1][arg1comp].getU64Const()));
+                    break;
+                default: assert(false && "Default missing");
                 }
                 break;
             case EOpMax:
-                if (isFloatingPoint)
+                switch(children[0]->getAsTyped()->getBasicType()) {
+                case EbtFloat16:
+                case EbtFloat:
+                case EbtDouble:
                     newConstArray[comp].setDConst(std::max(childConstUnions[0][arg0comp].getDConst(), childConstUnions[1][arg1comp].getDConst()));
-                else if (isSigned) {
-                    if (isInt64)
-                        newConstArray[comp].setI64Const(std::max(childConstUnions[0][arg0comp].getI64Const(), childConstUnions[1][arg1comp].getI64Const()));
-                    else
-                        newConstArray[comp].setIConst(std::max(childConstUnions[0][arg0comp].getIConst(), childConstUnions[1][arg1comp].getIConst()));
-                } else {
-                    if (isInt64)
-                        newConstArray[comp].setU64Const(std::max(childConstUnions[0][arg0comp].getU64Const(), childConstUnions[1][arg1comp].getU64Const()));
-                    else
-                        newConstArray[comp].setUConst(std::max(childConstUnions[0][arg0comp].getUConst(), childConstUnions[1][arg1comp].getUConst()));
+                    break;
+                case EbtInt8:
+                    newConstArray[comp].setI8Const(std::max(childConstUnions[0][arg0comp].getI8Const(), childConstUnions[1][arg1comp].getI8Const()));
+                    break;
+                case EbtUint8:
+                    newConstArray[comp].setU8Const(std::max(childConstUnions[0][arg0comp].getU8Const(), childConstUnions[1][arg1comp].getU8Const()));
+                    break;
+                case EbtInt16:
+                    newConstArray[comp].setI16Const(std::max(childConstUnions[0][arg0comp].getI16Const(), childConstUnions[1][arg1comp].getI16Const()));
+                    break;
+                case EbtUint16:
+                    newConstArray[comp].setU16Const(std::max(childConstUnions[0][arg0comp].getU16Const(), childConstUnions[1][arg1comp].getU16Const()));
+                    break;
+                case EbtInt:
+                    newConstArray[comp].setIConst(std::max(childConstUnions[0][arg0comp].getIConst(), childConstUnions[1][arg1comp].getIConst()));
+                    break;
+                case EbtUint:
+                    newConstArray[comp].setUConst(std::max(childConstUnions[0][arg0comp].getUConst(), childConstUnions[1][arg1comp].getUConst()));
+                    break;
+                case EbtInt64:
+                    newConstArray[comp].setI64Const(std::max(childConstUnions[0][arg0comp].getI64Const(), childConstUnions[1][arg1comp].getI64Const()));
+                    break;
+                case EbtUint64:
+                    newConstArray[comp].setU64Const(std::max(childConstUnions[0][arg0comp].getU64Const(), childConstUnions[1][arg1comp].getU64Const()));
+                    break;
+                default: assert(false && "Default missing");
                 }
                 break;
             case EOpClamp:
-                if (isFloatingPoint)
+                switch(children[0]->getAsTyped()->getBasicType()) {
+                case EbtFloat16:
+                case EbtFloat:
+                case EbtDouble:
                     newConstArray[comp].setDConst(std::min(std::max(childConstUnions[0][arg0comp].getDConst(), childConstUnions[1][arg1comp].getDConst()),
                                                                                                                childConstUnions[2][arg2comp].getDConst()));
-                else if (isSigned) {
-                    if (isInt64)
-                        newConstArray[comp].setI64Const(std::min(std::max(childConstUnions[0][arg0comp].getI64Const(), childConstUnions[1][arg1comp].getI64Const()),
-                                                                                                                       childConstUnions[2][arg2comp].getI64Const()));
-                    else
-                        newConstArray[comp].setIConst(std::min(std::max(childConstUnions[0][arg0comp].getIConst(), childConstUnions[1][arg1comp].getIConst()),
+                    break;
+                case EbtInt8:
+                    newConstArray[comp].setI8Const(std::min(std::max(childConstUnions[0][arg0comp].getI8Const(), childConstUnions[1][arg1comp].getI8Const()),
+                                                                                                                   childConstUnions[2][arg2comp].getI8Const()));
+                    break;
+                case EbtUint8:
+                     newConstArray[comp].setU8Const(std::min(std::max(childConstUnions[0][arg0comp].getU8Const(), childConstUnions[1][arg1comp].getU8Const()),
+                                                                                                                   childConstUnions[2][arg2comp].getU8Const()));
+                    break;
+                case EbtInt16:
+                    newConstArray[comp].setI16Const(std::min(std::max(childConstUnions[0][arg0comp].getI16Const(), childConstUnions[1][arg1comp].getI16Const()),
+                                                                                                                   childConstUnions[2][arg2comp].getI16Const()));
+                    break;
+                case EbtUint16:
+                    newConstArray[comp].setU16Const(std::min(std::max(childConstUnions[0][arg0comp].getU16Const(), childConstUnions[1][arg1comp].getU16Const()),
+                                                                                                                   childConstUnions[2][arg2comp].getU16Const()));
+                    break;
+                case EbtInt:
+                    newConstArray[comp].setIConst(std::min(std::max(childConstUnions[0][arg0comp].getIConst(), childConstUnions[1][arg1comp].getIConst()),
                                                                                                                    childConstUnions[2][arg2comp].getIConst()));
-                } else {
-                    if (isInt64)
-                        newConstArray[comp].setU64Const(std::min(std::max(childConstUnions[0][arg0comp].getU64Const(), childConstUnions[1][arg1comp].getU64Const()),
-                                                                                                                       childConstUnions[2][arg2comp].getU64Const()));
-                    else
-                        newConstArray[comp].setUConst(std::min(std::max(childConstUnions[0][arg0comp].getUConst(), childConstUnions[1][arg1comp].getUConst()),
+                    break;
+                case EbtUint:
+                    newConstArray[comp].setUConst(std::min(std::max(childConstUnions[0][arg0comp].getUConst(), childConstUnions[1][arg1comp].getUConst()),
                                                                                                                    childConstUnions[2][arg2comp].getUConst()));
+                    break;
+                case EbtInt64:
+                    newConstArray[comp].setI64Const(std::min(std::max(childConstUnions[0][arg0comp].getI64Const(), childConstUnions[1][arg1comp].getI64Const()),
+                                                                                                                       childConstUnions[2][arg2comp].getI64Const()));
+                    break;
+                case EbtUint64:
+                    newConstArray[comp].setU64Const(std::min(std::max(childConstUnions[0][arg0comp].getU64Const(), childConstUnions[1][arg1comp].getU64Const()),
+                                                                                                                       childConstUnions[2][arg2comp].getU64Const()));
+                    break;
+                default: assert(false && "Default missing");
                 }
                 break;
             case EOpLessThan:
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
index a837efd..bad9244 100644
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -2,6 +2,7 @@
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2016 LunarG, Inc.
 // Copyright (C) 2015-2016 Google, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -83,6 +84,10 @@
     // Set up textual representations for making all the permutations
     // of texturing/imaging functions.
     prefixes[EbtFloat] =  "";
+    prefixes[EbtInt8]  = "i8";
+    prefixes[EbtUint8] = "u8";
+    prefixes[EbtInt16]  = "i16";
+    prefixes[EbtUint16] = "u16";
     prefixes[EbtInt]   = "i";
     prefixes[EbtUint]  = "u";
     postfixes[2] = "2";
@@ -799,7 +804,6 @@
             "bvec3 notEqual(u64vec3, u64vec3);"
             "bvec4 notEqual(u64vec4, u64vec4);"
 
-#ifdef AMD_EXTENSIONS
             "int   findLSB(int64_t);"
             "ivec2 findLSB(i64vec2);"
             "ivec3 findLSB(i64vec3);"
@@ -819,7 +823,7 @@
             "ivec2 findMSB(u64vec2);"
             "ivec3 findMSB(u64vec3);"
             "ivec4 findMSB(u64vec4);"
-#endif
+
             "\n"
         );
     }
@@ -1627,6 +1631,727 @@
             "\n");
     }
 
+    // GL_KHR_shader_subgroup
+    if (spvVersion.vulkan >= 100) {
+        commonBuiltins.append(
+            "void subgroupBarrier();"
+            "void subgroupMemoryBarrier();"
+            "void subgroupMemoryBarrierBuffer();"
+            "void subgroupMemoryBarrierImage();"
+            "bool subgroupElect();"
+
+            "bool   subgroupAll(bool);\n"
+            "bool   subgroupAny(bool);\n"
+
+            "bool   subgroupAllEqual(float);\n"
+            "bool   subgroupAllEqual(vec2);\n"
+            "bool   subgroupAllEqual(vec3);\n"
+            "bool   subgroupAllEqual(vec4);\n"
+            "bool   subgroupAllEqual(int);\n"
+            "bool   subgroupAllEqual(ivec2);\n"
+            "bool   subgroupAllEqual(ivec3);\n"
+            "bool   subgroupAllEqual(ivec4);\n"
+            "bool   subgroupAllEqual(uint);\n"
+            "bool   subgroupAllEqual(uvec2);\n"
+            "bool   subgroupAllEqual(uvec3);\n"
+            "bool   subgroupAllEqual(uvec4);\n"
+            "bool   subgroupAllEqual(bool);\n"
+            "bool   subgroupAllEqual(bvec2);\n"
+            "bool   subgroupAllEqual(bvec3);\n"
+            "bool   subgroupAllEqual(bvec4);\n"
+
+            "float  subgroupBroadcast(float, uint);\n"
+            "vec2   subgroupBroadcast(vec2, uint);\n"
+            "vec3   subgroupBroadcast(vec3, uint);\n"
+            "vec4   subgroupBroadcast(vec4, uint);\n"
+            "int    subgroupBroadcast(int, uint);\n"
+            "ivec2  subgroupBroadcast(ivec2, uint);\n"
+            "ivec3  subgroupBroadcast(ivec3, uint);\n"
+            "ivec4  subgroupBroadcast(ivec4, uint);\n"
+            "uint   subgroupBroadcast(uint, uint);\n"
+            "uvec2  subgroupBroadcast(uvec2, uint);\n"
+            "uvec3  subgroupBroadcast(uvec3, uint);\n"
+            "uvec4  subgroupBroadcast(uvec4, uint);\n"
+            "bool   subgroupBroadcast(bool, uint);\n"
+            "bvec2  subgroupBroadcast(bvec2, uint);\n"
+            "bvec3  subgroupBroadcast(bvec3, uint);\n"
+            "bvec4  subgroupBroadcast(bvec4, uint);\n"
+
+            "float  subgroupBroadcastFirst(float);\n"
+            "vec2   subgroupBroadcastFirst(vec2);\n"
+            "vec3   subgroupBroadcastFirst(vec3);\n"
+            "vec4   subgroupBroadcastFirst(vec4);\n"
+            "int    subgroupBroadcastFirst(int);\n"
+            "ivec2  subgroupBroadcastFirst(ivec2);\n"
+            "ivec3  subgroupBroadcastFirst(ivec3);\n"
+            "ivec4  subgroupBroadcastFirst(ivec4);\n"
+            "uint   subgroupBroadcastFirst(uint);\n"
+            "uvec2  subgroupBroadcastFirst(uvec2);\n"
+            "uvec3  subgroupBroadcastFirst(uvec3);\n"
+            "uvec4  subgroupBroadcastFirst(uvec4);\n"
+            "bool   subgroupBroadcastFirst(bool);\n"
+            "bvec2  subgroupBroadcastFirst(bvec2);\n"
+            "bvec3  subgroupBroadcastFirst(bvec3);\n"
+            "bvec4  subgroupBroadcastFirst(bvec4);\n"
+
+            "uvec4  subgroupBallot(bool);\n"
+            "bool   subgroupInverseBallot(uvec4);\n"
+            "bool   subgroupBallotBitExtract(uvec4, uint);\n"
+            "uint   subgroupBallotBitCount(uvec4);\n"
+            "uint   subgroupBallotInclusiveBitCount(uvec4);\n"
+            "uint   subgroupBallotExclusiveBitCount(uvec4);\n"
+            "uint   subgroupBallotFindLSB(uvec4);\n"
+            "uint   subgroupBallotFindMSB(uvec4);\n"
+
+            "float  subgroupShuffle(float, uint);\n"
+            "vec2   subgroupShuffle(vec2, uint);\n"
+            "vec3   subgroupShuffle(vec3, uint);\n"
+            "vec4   subgroupShuffle(vec4, uint);\n"
+            "int    subgroupShuffle(int, uint);\n"
+            "ivec2  subgroupShuffle(ivec2, uint);\n"
+            "ivec3  subgroupShuffle(ivec3, uint);\n"
+            "ivec4  subgroupShuffle(ivec4, uint);\n"
+            "uint   subgroupShuffle(uint, uint);\n"
+            "uvec2  subgroupShuffle(uvec2, uint);\n"
+            "uvec3  subgroupShuffle(uvec3, uint);\n"
+            "uvec4  subgroupShuffle(uvec4, uint);\n"
+            "bool   subgroupShuffle(bool, uint);\n"
+            "bvec2  subgroupShuffle(bvec2, uint);\n"
+            "bvec3  subgroupShuffle(bvec3, uint);\n"
+            "bvec4  subgroupShuffle(bvec4, uint);\n"
+
+            "float  subgroupShuffleXor(float, uint);\n"
+            "vec2   subgroupShuffleXor(vec2, uint);\n"
+            "vec3   subgroupShuffleXor(vec3, uint);\n"
+            "vec4   subgroupShuffleXor(vec4, uint);\n"
+            "int    subgroupShuffleXor(int, uint);\n"
+            "ivec2  subgroupShuffleXor(ivec2, uint);\n"
+            "ivec3  subgroupShuffleXor(ivec3, uint);\n"
+            "ivec4  subgroupShuffleXor(ivec4, uint);\n"
+            "uint   subgroupShuffleXor(uint, uint);\n"
+            "uvec2  subgroupShuffleXor(uvec2, uint);\n"
+            "uvec3  subgroupShuffleXor(uvec3, uint);\n"
+            "uvec4  subgroupShuffleXor(uvec4, uint);\n"
+            "bool   subgroupShuffleXor(bool, uint);\n"
+            "bvec2  subgroupShuffleXor(bvec2, uint);\n"
+            "bvec3  subgroupShuffleXor(bvec3, uint);\n"
+            "bvec4  subgroupShuffleXor(bvec4, uint);\n"
+
+            "float  subgroupShuffleUp(float, uint delta);\n"
+            "vec2   subgroupShuffleUp(vec2, uint delta);\n"
+            "vec3   subgroupShuffleUp(vec3, uint delta);\n"
+            "vec4   subgroupShuffleUp(vec4, uint delta);\n"
+            "int    subgroupShuffleUp(int, uint delta);\n"
+            "ivec2  subgroupShuffleUp(ivec2, uint delta);\n"
+            "ivec3  subgroupShuffleUp(ivec3, uint delta);\n"
+            "ivec4  subgroupShuffleUp(ivec4, uint delta);\n"
+            "uint   subgroupShuffleUp(uint, uint delta);\n"
+            "uvec2  subgroupShuffleUp(uvec2, uint delta);\n"
+            "uvec3  subgroupShuffleUp(uvec3, uint delta);\n"
+            "uvec4  subgroupShuffleUp(uvec4, uint delta);\n"
+            "bool   subgroupShuffleUp(bool, uint delta);\n"
+            "bvec2  subgroupShuffleUp(bvec2, uint delta);\n"
+            "bvec3  subgroupShuffleUp(bvec3, uint delta);\n"
+            "bvec4  subgroupShuffleUp(bvec4, uint delta);\n"
+
+            "float  subgroupShuffleDown(float, uint delta);\n"
+            "vec2   subgroupShuffleDown(vec2, uint delta);\n"
+            "vec3   subgroupShuffleDown(vec3, uint delta);\n"
+            "vec4   subgroupShuffleDown(vec4, uint delta);\n"
+            "int    subgroupShuffleDown(int, uint delta);\n"
+            "ivec2  subgroupShuffleDown(ivec2, uint delta);\n"
+            "ivec3  subgroupShuffleDown(ivec3, uint delta);\n"
+            "ivec4  subgroupShuffleDown(ivec4, uint delta);\n"
+            "uint   subgroupShuffleDown(uint, uint delta);\n"
+            "uvec2  subgroupShuffleDown(uvec2, uint delta);\n"
+            "uvec3  subgroupShuffleDown(uvec3, uint delta);\n"
+            "uvec4  subgroupShuffleDown(uvec4, uint delta);\n"
+            "bool   subgroupShuffleDown(bool, uint delta);\n"
+            "bvec2  subgroupShuffleDown(bvec2, uint delta);\n"
+            "bvec3  subgroupShuffleDown(bvec3, uint delta);\n"
+            "bvec4  subgroupShuffleDown(bvec4, uint delta);\n"
+
+            "float  subgroupAdd(float);\n"
+            "vec2   subgroupAdd(vec2);\n"
+            "vec3   subgroupAdd(vec3);\n"
+            "vec4   subgroupAdd(vec4);\n"
+            "int    subgroupAdd(int);\n"
+            "ivec2  subgroupAdd(ivec2);\n"
+            "ivec3  subgroupAdd(ivec3);\n"
+            "ivec4  subgroupAdd(ivec4);\n"
+            "uint   subgroupAdd(uint);\n"
+            "uvec2  subgroupAdd(uvec2);\n"
+            "uvec3  subgroupAdd(uvec3);\n"
+            "uvec4  subgroupAdd(uvec4);\n"
+
+            "float  subgroupMul(float);\n"
+            "vec2   subgroupMul(vec2);\n"
+            "vec3   subgroupMul(vec3);\n"
+            "vec4   subgroupMul(vec4);\n"
+            "int    subgroupMul(int);\n"
+            "ivec2  subgroupMul(ivec2);\n"
+            "ivec3  subgroupMul(ivec3);\n"
+            "ivec4  subgroupMul(ivec4);\n"
+            "uint   subgroupMul(uint);\n"
+            "uvec2  subgroupMul(uvec2);\n"
+            "uvec3  subgroupMul(uvec3);\n"
+            "uvec4  subgroupMul(uvec4);\n"
+
+            "float  subgroupMin(float);\n"
+            "vec2   subgroupMin(vec2);\n"
+            "vec3   subgroupMin(vec3);\n"
+            "vec4   subgroupMin(vec4);\n"
+            "int    subgroupMin(int);\n"
+            "ivec2  subgroupMin(ivec2);\n"
+            "ivec3  subgroupMin(ivec3);\n"
+            "ivec4  subgroupMin(ivec4);\n"
+            "uint   subgroupMin(uint);\n"
+            "uvec2  subgroupMin(uvec2);\n"
+            "uvec3  subgroupMin(uvec3);\n"
+            "uvec4  subgroupMin(uvec4);\n"
+
+            "float  subgroupMax(float);\n"
+            "vec2   subgroupMax(vec2);\n"
+            "vec3   subgroupMax(vec3);\n"
+            "vec4   subgroupMax(vec4);\n"
+            "int    subgroupMax(int);\n"
+            "ivec2  subgroupMax(ivec2);\n"
+            "ivec3  subgroupMax(ivec3);\n"
+            "ivec4  subgroupMax(ivec4);\n"
+            "uint   subgroupMax(uint);\n"
+            "uvec2  subgroupMax(uvec2);\n"
+            "uvec3  subgroupMax(uvec3);\n"
+            "uvec4  subgroupMax(uvec4);\n"
+
+            "int    subgroupAnd(int);\n"
+            "ivec2  subgroupAnd(ivec2);\n"
+            "ivec3  subgroupAnd(ivec3);\n"
+            "ivec4  subgroupAnd(ivec4);\n"
+            "uint   subgroupAnd(uint);\n"
+            "uvec2  subgroupAnd(uvec2);\n"
+            "uvec3  subgroupAnd(uvec3);\n"
+            "uvec4  subgroupAnd(uvec4);\n"
+            "bool   subgroupAnd(bool);\n"
+            "bvec2  subgroupAnd(bvec2);\n"
+            "bvec3  subgroupAnd(bvec3);\n"
+            "bvec4  subgroupAnd(bvec4);\n"
+
+            "int    subgroupOr(int);\n"
+            "ivec2  subgroupOr(ivec2);\n"
+            "ivec3  subgroupOr(ivec3);\n"
+            "ivec4  subgroupOr(ivec4);\n"
+            "uint   subgroupOr(uint);\n"
+            "uvec2  subgroupOr(uvec2);\n"
+            "uvec3  subgroupOr(uvec3);\n"
+            "uvec4  subgroupOr(uvec4);\n"
+            "bool   subgroupOr(bool);\n"
+            "bvec2  subgroupOr(bvec2);\n"
+            "bvec3  subgroupOr(bvec3);\n"
+            "bvec4  subgroupOr(bvec4);\n"
+
+            "int    subgroupXor(int);\n"
+            "ivec2  subgroupXor(ivec2);\n"
+            "ivec3  subgroupXor(ivec3);\n"
+            "ivec4  subgroupXor(ivec4);\n"
+            "uint   subgroupXor(uint);\n"
+            "uvec2  subgroupXor(uvec2);\n"
+            "uvec3  subgroupXor(uvec3);\n"
+            "uvec4  subgroupXor(uvec4);\n"
+            "bool   subgroupXor(bool);\n"
+            "bvec2  subgroupXor(bvec2);\n"
+            "bvec3  subgroupXor(bvec3);\n"
+            "bvec4  subgroupXor(bvec4);\n"
+
+            "float  subgroupInclusiveAdd(float);\n"
+            "vec2   subgroupInclusiveAdd(vec2);\n"
+            "vec3   subgroupInclusiveAdd(vec3);\n"
+            "vec4   subgroupInclusiveAdd(vec4);\n"
+            "int    subgroupInclusiveAdd(int);\n"
+            "ivec2  subgroupInclusiveAdd(ivec2);\n"
+            "ivec3  subgroupInclusiveAdd(ivec3);\n"
+            "ivec4  subgroupInclusiveAdd(ivec4);\n"
+            "uint   subgroupInclusiveAdd(uint);\n"
+            "uvec2  subgroupInclusiveAdd(uvec2);\n"
+            "uvec3  subgroupInclusiveAdd(uvec3);\n"
+            "uvec4  subgroupInclusiveAdd(uvec4);\n"
+
+            "float  subgroupInclusiveMul(float);\n"
+            "vec2   subgroupInclusiveMul(vec2);\n"
+            "vec3   subgroupInclusiveMul(vec3);\n"
+            "vec4   subgroupInclusiveMul(vec4);\n"
+            "int    subgroupInclusiveMul(int);\n"
+            "ivec2  subgroupInclusiveMul(ivec2);\n"
+            "ivec3  subgroupInclusiveMul(ivec3);\n"
+            "ivec4  subgroupInclusiveMul(ivec4);\n"
+            "uint   subgroupInclusiveMul(uint);\n"
+            "uvec2  subgroupInclusiveMul(uvec2);\n"
+            "uvec3  subgroupInclusiveMul(uvec3);\n"
+            "uvec4  subgroupInclusiveMul(uvec4);\n"
+
+            "float  subgroupInclusiveMin(float);\n"
+            "vec2   subgroupInclusiveMin(vec2);\n"
+            "vec3   subgroupInclusiveMin(vec3);\n"
+            "vec4   subgroupInclusiveMin(vec4);\n"
+            "int    subgroupInclusiveMin(int);\n"
+            "ivec2  subgroupInclusiveMin(ivec2);\n"
+            "ivec3  subgroupInclusiveMin(ivec3);\n"
+            "ivec4  subgroupInclusiveMin(ivec4);\n"
+            "uint   subgroupInclusiveMin(uint);\n"
+            "uvec2  subgroupInclusiveMin(uvec2);\n"
+            "uvec3  subgroupInclusiveMin(uvec3);\n"
+            "uvec4  subgroupInclusiveMin(uvec4);\n"
+
+            "float  subgroupInclusiveMax(float);\n"
+            "vec2   subgroupInclusiveMax(vec2);\n"
+            "vec3   subgroupInclusiveMax(vec3);\n"
+            "vec4   subgroupInclusiveMax(vec4);\n"
+            "int    subgroupInclusiveMax(int);\n"
+            "ivec2  subgroupInclusiveMax(ivec2);\n"
+            "ivec3  subgroupInclusiveMax(ivec3);\n"
+            "ivec4  subgroupInclusiveMax(ivec4);\n"
+            "uint   subgroupInclusiveMax(uint);\n"
+            "uvec2  subgroupInclusiveMax(uvec2);\n"
+            "uvec3  subgroupInclusiveMax(uvec3);\n"
+            "uvec4  subgroupInclusiveMax(uvec4);\n"
+
+            "int    subgroupInclusiveAnd(int);\n"
+            "ivec2  subgroupInclusiveAnd(ivec2);\n"
+            "ivec3  subgroupInclusiveAnd(ivec3);\n"
+            "ivec4  subgroupInclusiveAnd(ivec4);\n"
+            "uint   subgroupInclusiveAnd(uint);\n"
+            "uvec2  subgroupInclusiveAnd(uvec2);\n"
+            "uvec3  subgroupInclusiveAnd(uvec3);\n"
+            "uvec4  subgroupInclusiveAnd(uvec4);\n"
+            "bool   subgroupInclusiveAnd(bool);\n"
+            "bvec2  subgroupInclusiveAnd(bvec2);\n"
+            "bvec3  subgroupInclusiveAnd(bvec3);\n"
+            "bvec4  subgroupInclusiveAnd(bvec4);\n"
+
+            "int    subgroupInclusiveOr(int);\n"
+            "ivec2  subgroupInclusiveOr(ivec2);\n"
+            "ivec3  subgroupInclusiveOr(ivec3);\n"
+            "ivec4  subgroupInclusiveOr(ivec4);\n"
+            "uint   subgroupInclusiveOr(uint);\n"
+            "uvec2  subgroupInclusiveOr(uvec2);\n"
+            "uvec3  subgroupInclusiveOr(uvec3);\n"
+            "uvec4  subgroupInclusiveOr(uvec4);\n"
+            "bool   subgroupInclusiveOr(bool);\n"
+            "bvec2  subgroupInclusiveOr(bvec2);\n"
+            "bvec3  subgroupInclusiveOr(bvec3);\n"
+            "bvec4  subgroupInclusiveOr(bvec4);\n"
+
+            "int    subgroupInclusiveXor(int);\n"
+            "ivec2  subgroupInclusiveXor(ivec2);\n"
+            "ivec3  subgroupInclusiveXor(ivec3);\n"
+            "ivec4  subgroupInclusiveXor(ivec4);\n"
+            "uint   subgroupInclusiveXor(uint);\n"
+            "uvec2  subgroupInclusiveXor(uvec2);\n"
+            "uvec3  subgroupInclusiveXor(uvec3);\n"
+            "uvec4  subgroupInclusiveXor(uvec4);\n"
+            "bool   subgroupInclusiveXor(bool);\n"
+            "bvec2  subgroupInclusiveXor(bvec2);\n"
+            "bvec3  subgroupInclusiveXor(bvec3);\n"
+            "bvec4  subgroupInclusiveXor(bvec4);\n"
+
+            "float  subgroupExclusiveAdd(float);\n"
+            "vec2   subgroupExclusiveAdd(vec2);\n"
+            "vec3   subgroupExclusiveAdd(vec3);\n"
+            "vec4   subgroupExclusiveAdd(vec4);\n"
+            "int    subgroupExclusiveAdd(int);\n"
+            "ivec2  subgroupExclusiveAdd(ivec2);\n"
+            "ivec3  subgroupExclusiveAdd(ivec3);\n"
+            "ivec4  subgroupExclusiveAdd(ivec4);\n"
+            "uint   subgroupExclusiveAdd(uint);\n"
+            "uvec2  subgroupExclusiveAdd(uvec2);\n"
+            "uvec3  subgroupExclusiveAdd(uvec3);\n"
+            "uvec4  subgroupExclusiveAdd(uvec4);\n"
+
+            "float  subgroupExclusiveMul(float);\n"
+            "vec2   subgroupExclusiveMul(vec2);\n"
+            "vec3   subgroupExclusiveMul(vec3);\n"
+            "vec4   subgroupExclusiveMul(vec4);\n"
+            "int    subgroupExclusiveMul(int);\n"
+            "ivec2  subgroupExclusiveMul(ivec2);\n"
+            "ivec3  subgroupExclusiveMul(ivec3);\n"
+            "ivec4  subgroupExclusiveMul(ivec4);\n"
+            "uint   subgroupExclusiveMul(uint);\n"
+            "uvec2  subgroupExclusiveMul(uvec2);\n"
+            "uvec3  subgroupExclusiveMul(uvec3);\n"
+            "uvec4  subgroupExclusiveMul(uvec4);\n"
+
+            "float  subgroupExclusiveMin(float);\n"
+            "vec2   subgroupExclusiveMin(vec2);\n"
+            "vec3   subgroupExclusiveMin(vec3);\n"
+            "vec4   subgroupExclusiveMin(vec4);\n"
+            "int    subgroupExclusiveMin(int);\n"
+            "ivec2  subgroupExclusiveMin(ivec2);\n"
+            "ivec3  subgroupExclusiveMin(ivec3);\n"
+            "ivec4  subgroupExclusiveMin(ivec4);\n"
+            "uint   subgroupExclusiveMin(uint);\n"
+            "uvec2  subgroupExclusiveMin(uvec2);\n"
+            "uvec3  subgroupExclusiveMin(uvec3);\n"
+            "uvec4  subgroupExclusiveMin(uvec4);\n"
+
+            "float  subgroupExclusiveMax(float);\n"
+            "vec2   subgroupExclusiveMax(vec2);\n"
+            "vec3   subgroupExclusiveMax(vec3);\n"
+            "vec4   subgroupExclusiveMax(vec4);\n"
+            "int    subgroupExclusiveMax(int);\n"
+            "ivec2  subgroupExclusiveMax(ivec2);\n"
+            "ivec3  subgroupExclusiveMax(ivec3);\n"
+            "ivec4  subgroupExclusiveMax(ivec4);\n"
+            "uint   subgroupExclusiveMax(uint);\n"
+            "uvec2  subgroupExclusiveMax(uvec2);\n"
+            "uvec3  subgroupExclusiveMax(uvec3);\n"
+            "uvec4  subgroupExclusiveMax(uvec4);\n"
+
+            "int    subgroupExclusiveAnd(int);\n"
+            "ivec2  subgroupExclusiveAnd(ivec2);\n"
+            "ivec3  subgroupExclusiveAnd(ivec3);\n"
+            "ivec4  subgroupExclusiveAnd(ivec4);\n"
+            "uint   subgroupExclusiveAnd(uint);\n"
+            "uvec2  subgroupExclusiveAnd(uvec2);\n"
+            "uvec3  subgroupExclusiveAnd(uvec3);\n"
+            "uvec4  subgroupExclusiveAnd(uvec4);\n"
+            "bool   subgroupExclusiveAnd(bool);\n"
+            "bvec2  subgroupExclusiveAnd(bvec2);\n"
+            "bvec3  subgroupExclusiveAnd(bvec3);\n"
+            "bvec4  subgroupExclusiveAnd(bvec4);\n"
+
+            "int    subgroupExclusiveOr(int);\n"
+            "ivec2  subgroupExclusiveOr(ivec2);\n"
+            "ivec3  subgroupExclusiveOr(ivec3);\n"
+            "ivec4  subgroupExclusiveOr(ivec4);\n"
+            "uint   subgroupExclusiveOr(uint);\n"
+            "uvec2  subgroupExclusiveOr(uvec2);\n"
+            "uvec3  subgroupExclusiveOr(uvec3);\n"
+            "uvec4  subgroupExclusiveOr(uvec4);\n"
+            "bool   subgroupExclusiveOr(bool);\n"
+            "bvec2  subgroupExclusiveOr(bvec2);\n"
+            "bvec3  subgroupExclusiveOr(bvec3);\n"
+            "bvec4  subgroupExclusiveOr(bvec4);\n"
+
+            "int    subgroupExclusiveXor(int);\n"
+            "ivec2  subgroupExclusiveXor(ivec2);\n"
+            "ivec3  subgroupExclusiveXor(ivec3);\n"
+            "ivec4  subgroupExclusiveXor(ivec4);\n"
+            "uint   subgroupExclusiveXor(uint);\n"
+            "uvec2  subgroupExclusiveXor(uvec2);\n"
+            "uvec3  subgroupExclusiveXor(uvec3);\n"
+            "uvec4  subgroupExclusiveXor(uvec4);\n"
+            "bool   subgroupExclusiveXor(bool);\n"
+            "bvec2  subgroupExclusiveXor(bvec2);\n"
+            "bvec3  subgroupExclusiveXor(bvec3);\n"
+            "bvec4  subgroupExclusiveXor(bvec4);\n"
+
+            "float  subgroupClusteredAdd(float, uint);\n"
+            "vec2   subgroupClusteredAdd(vec2, uint);\n"
+            "vec3   subgroupClusteredAdd(vec3, uint);\n"
+            "vec4   subgroupClusteredAdd(vec4, uint);\n"
+            "int    subgroupClusteredAdd(int, uint);\n"
+            "ivec2  subgroupClusteredAdd(ivec2, uint);\n"
+            "ivec3  subgroupClusteredAdd(ivec3, uint);\n"
+            "ivec4  subgroupClusteredAdd(ivec4, uint);\n"
+            "uint   subgroupClusteredAdd(uint, uint);\n"
+            "uvec2  subgroupClusteredAdd(uvec2, uint);\n"
+            "uvec3  subgroupClusteredAdd(uvec3, uint);\n"
+            "uvec4  subgroupClusteredAdd(uvec4, uint);\n"
+
+            "float  subgroupClusteredMul(float, uint);\n"
+            "vec2   subgroupClusteredMul(vec2, uint);\n"
+            "vec3   subgroupClusteredMul(vec3, uint);\n"
+            "vec4   subgroupClusteredMul(vec4, uint);\n"
+            "int    subgroupClusteredMul(int, uint);\n"
+            "ivec2  subgroupClusteredMul(ivec2, uint);\n"
+            "ivec3  subgroupClusteredMul(ivec3, uint);\n"
+            "ivec4  subgroupClusteredMul(ivec4, uint);\n"
+            "uint   subgroupClusteredMul(uint, uint);\n"
+            "uvec2  subgroupClusteredMul(uvec2, uint);\n"
+            "uvec3  subgroupClusteredMul(uvec3, uint);\n"
+            "uvec4  subgroupClusteredMul(uvec4, uint);\n"
+
+            "float  subgroupClusteredMin(float, uint);\n"
+            "vec2   subgroupClusteredMin(vec2, uint);\n"
+            "vec3   subgroupClusteredMin(vec3, uint);\n"
+            "vec4   subgroupClusteredMin(vec4, uint);\n"
+            "int    subgroupClusteredMin(int, uint);\n"
+            "ivec2  subgroupClusteredMin(ivec2, uint);\n"
+            "ivec3  subgroupClusteredMin(ivec3, uint);\n"
+            "ivec4  subgroupClusteredMin(ivec4, uint);\n"
+            "uint   subgroupClusteredMin(uint, uint);\n"
+            "uvec2  subgroupClusteredMin(uvec2, uint);\n"
+            "uvec3  subgroupClusteredMin(uvec3, uint);\n"
+            "uvec4  subgroupClusteredMin(uvec4, uint);\n"
+
+            "float  subgroupClusteredMax(float, uint);\n"
+            "vec2   subgroupClusteredMax(vec2, uint);\n"
+            "vec3   subgroupClusteredMax(vec3, uint);\n"
+            "vec4   subgroupClusteredMax(vec4, uint);\n"
+            "int    subgroupClusteredMax(int, uint);\n"
+            "ivec2  subgroupClusteredMax(ivec2, uint);\n"
+            "ivec3  subgroupClusteredMax(ivec3, uint);\n"
+            "ivec4  subgroupClusteredMax(ivec4, uint);\n"
+            "uint   subgroupClusteredMax(uint, uint);\n"
+            "uvec2  subgroupClusteredMax(uvec2, uint);\n"
+            "uvec3  subgroupClusteredMax(uvec3, uint);\n"
+            "uvec4  subgroupClusteredMax(uvec4, uint);\n"
+
+            "int    subgroupClusteredAnd(int, uint);\n"
+            "ivec2  subgroupClusteredAnd(ivec2, uint);\n"
+            "ivec3  subgroupClusteredAnd(ivec3, uint);\n"
+            "ivec4  subgroupClusteredAnd(ivec4, uint);\n"
+            "uint   subgroupClusteredAnd(uint, uint);\n"
+            "uvec2  subgroupClusteredAnd(uvec2, uint);\n"
+            "uvec3  subgroupClusteredAnd(uvec3, uint);\n"
+            "uvec4  subgroupClusteredAnd(uvec4, uint);\n"
+            "bool   subgroupClusteredAnd(bool, uint);\n"
+            "bvec2  subgroupClusteredAnd(bvec2, uint);\n"
+            "bvec3  subgroupClusteredAnd(bvec3, uint);\n"
+            "bvec4  subgroupClusteredAnd(bvec4, uint);\n"
+
+            "int    subgroupClusteredOr(int, uint);\n"
+            "ivec2  subgroupClusteredOr(ivec2, uint);\n"
+            "ivec3  subgroupClusteredOr(ivec3, uint);\n"
+            "ivec4  subgroupClusteredOr(ivec4, uint);\n"
+            "uint   subgroupClusteredOr(uint, uint);\n"
+            "uvec2  subgroupClusteredOr(uvec2, uint);\n"
+            "uvec3  subgroupClusteredOr(uvec3, uint);\n"
+            "uvec4  subgroupClusteredOr(uvec4, uint);\n"
+            "bool   subgroupClusteredOr(bool, uint);\n"
+            "bvec2  subgroupClusteredOr(bvec2, uint);\n"
+            "bvec3  subgroupClusteredOr(bvec3, uint);\n"
+            "bvec4  subgroupClusteredOr(bvec4, uint);\n"
+
+            "int    subgroupClusteredXor(int, uint);\n"
+            "ivec2  subgroupClusteredXor(ivec2, uint);\n"
+            "ivec3  subgroupClusteredXor(ivec3, uint);\n"
+            "ivec4  subgroupClusteredXor(ivec4, uint);\n"
+            "uint   subgroupClusteredXor(uint, uint);\n"
+            "uvec2  subgroupClusteredXor(uvec2, uint);\n"
+            "uvec3  subgroupClusteredXor(uvec3, uint);\n"
+            "uvec4  subgroupClusteredXor(uvec4, uint);\n"
+            "bool   subgroupClusteredXor(bool, uint);\n"
+            "bvec2  subgroupClusteredXor(bvec2, uint);\n"
+            "bvec3  subgroupClusteredXor(bvec3, uint);\n"
+            "bvec4  subgroupClusteredXor(bvec4, uint);\n"
+
+            "float  subgroupQuadBroadcast(float, uint);\n"
+            "vec2   subgroupQuadBroadcast(vec2, uint);\n"
+            "vec3   subgroupQuadBroadcast(vec3, uint);\n"
+            "vec4   subgroupQuadBroadcast(vec4, uint);\n"
+            "int    subgroupQuadBroadcast(int, uint);\n"
+            "ivec2  subgroupQuadBroadcast(ivec2, uint);\n"
+            "ivec3  subgroupQuadBroadcast(ivec3, uint);\n"
+            "ivec4  subgroupQuadBroadcast(ivec4, uint);\n"
+            "uint   subgroupQuadBroadcast(uint, uint);\n"
+            "uvec2  subgroupQuadBroadcast(uvec2, uint);\n"
+            "uvec3  subgroupQuadBroadcast(uvec3, uint);\n"
+            "uvec4  subgroupQuadBroadcast(uvec4, uint);\n"
+            "bool   subgroupQuadBroadcast(bool, uint);\n"
+            "bvec2  subgroupQuadBroadcast(bvec2, uint);\n"
+            "bvec3  subgroupQuadBroadcast(bvec3, uint);\n"
+            "bvec4  subgroupQuadBroadcast(bvec4, uint);\n"
+
+            "float  subgroupQuadSwapHorizontal(float);\n"
+            "vec2   subgroupQuadSwapHorizontal(vec2);\n"
+            "vec3   subgroupQuadSwapHorizontal(vec3);\n"
+            "vec4   subgroupQuadSwapHorizontal(vec4);\n"
+            "int    subgroupQuadSwapHorizontal(int);\n"
+            "ivec2  subgroupQuadSwapHorizontal(ivec2);\n"
+            "ivec3  subgroupQuadSwapHorizontal(ivec3);\n"
+            "ivec4  subgroupQuadSwapHorizontal(ivec4);\n"
+            "uint   subgroupQuadSwapHorizontal(uint);\n"
+            "uvec2  subgroupQuadSwapHorizontal(uvec2);\n"
+            "uvec3  subgroupQuadSwapHorizontal(uvec3);\n"
+            "uvec4  subgroupQuadSwapHorizontal(uvec4);\n"
+            "bool   subgroupQuadSwapHorizontal(bool);\n"
+            "bvec2  subgroupQuadSwapHorizontal(bvec2);\n"
+            "bvec3  subgroupQuadSwapHorizontal(bvec3);\n"
+            "bvec4  subgroupQuadSwapHorizontal(bvec4);\n"
+
+            "float  subgroupQuadSwapVertical(float);\n"
+            "vec2   subgroupQuadSwapVertical(vec2);\n"
+            "vec3   subgroupQuadSwapVertical(vec3);\n"
+            "vec4   subgroupQuadSwapVertical(vec4);\n"
+            "int    subgroupQuadSwapVertical(int);\n"
+            "ivec2  subgroupQuadSwapVertical(ivec2);\n"
+            "ivec3  subgroupQuadSwapVertical(ivec3);\n"
+            "ivec4  subgroupQuadSwapVertical(ivec4);\n"
+            "uint   subgroupQuadSwapVertical(uint);\n"
+            "uvec2  subgroupQuadSwapVertical(uvec2);\n"
+            "uvec3  subgroupQuadSwapVertical(uvec3);\n"
+            "uvec4  subgroupQuadSwapVertical(uvec4);\n"
+            "bool   subgroupQuadSwapVertical(bool);\n"
+            "bvec2  subgroupQuadSwapVertical(bvec2);\n"
+            "bvec3  subgroupQuadSwapVertical(bvec3);\n"
+            "bvec4  subgroupQuadSwapVertical(bvec4);\n"
+
+            "float  subgroupQuadSwapDiagonal(float);\n"
+            "vec2   subgroupQuadSwapDiagonal(vec2);\n"
+            "vec3   subgroupQuadSwapDiagonal(vec3);\n"
+            "vec4   subgroupQuadSwapDiagonal(vec4);\n"
+            "int    subgroupQuadSwapDiagonal(int);\n"
+            "ivec2  subgroupQuadSwapDiagonal(ivec2);\n"
+            "ivec3  subgroupQuadSwapDiagonal(ivec3);\n"
+            "ivec4  subgroupQuadSwapDiagonal(ivec4);\n"
+            "uint   subgroupQuadSwapDiagonal(uint);\n"
+            "uvec2  subgroupQuadSwapDiagonal(uvec2);\n"
+            "uvec3  subgroupQuadSwapDiagonal(uvec3);\n"
+            "uvec4  subgroupQuadSwapDiagonal(uvec4);\n"
+            "bool   subgroupQuadSwapDiagonal(bool);\n"
+            "bvec2  subgroupQuadSwapDiagonal(bvec2);\n"
+            "bvec3  subgroupQuadSwapDiagonal(bvec3);\n"
+            "bvec4  subgroupQuadSwapDiagonal(bvec4);\n"
+
+            "\n");
+
+        if (profile != EEsProfile && version >= 400) {
+            commonBuiltins.append(
+                "bool   subgroupAllEqual(double);\n"
+                "bool   subgroupAllEqual(dvec2);\n"
+                "bool   subgroupAllEqual(dvec3);\n"
+                "bool   subgroupAllEqual(dvec4);\n"
+
+                "double subgroupBroadcast(double, uint);\n"
+                "dvec2  subgroupBroadcast(dvec2, uint);\n"
+                "dvec3  subgroupBroadcast(dvec3, uint);\n"
+                "dvec4  subgroupBroadcast(dvec4, uint);\n"
+
+                "double subgroupBroadcastFirst(double);\n"
+                "dvec2  subgroupBroadcastFirst(dvec2);\n"
+                "dvec3  subgroupBroadcastFirst(dvec3);\n"
+                "dvec4  subgroupBroadcastFirst(dvec4);\n"
+
+                "double subgroupShuffle(double, uint);\n"
+                "dvec2  subgroupShuffle(dvec2, uint);\n"
+                "dvec3  subgroupShuffle(dvec3, uint);\n"
+                "dvec4  subgroupShuffle(dvec4, uint);\n"
+
+                "double subgroupShuffleXor(double, uint);\n"
+                "dvec2  subgroupShuffleXor(dvec2, uint);\n"
+                "dvec3  subgroupShuffleXor(dvec3, uint);\n"
+                "dvec4  subgroupShuffleXor(dvec4, uint);\n"
+
+                "double subgroupShuffleUp(double, uint delta);\n"
+                "dvec2  subgroupShuffleUp(dvec2, uint delta);\n"
+                "dvec3  subgroupShuffleUp(dvec3, uint delta);\n"
+                "dvec4  subgroupShuffleUp(dvec4, uint delta);\n"
+
+                "double subgroupShuffleDown(double, uint delta);\n"
+                "dvec2  subgroupShuffleDown(dvec2, uint delta);\n"
+                "dvec3  subgroupShuffleDown(dvec3, uint delta);\n"
+                "dvec4  subgroupShuffleDown(dvec4, uint delta);\n"
+
+                "double subgroupAdd(double);\n"
+                "dvec2  subgroupAdd(dvec2);\n"
+                "dvec3  subgroupAdd(dvec3);\n"
+                "dvec4  subgroupAdd(dvec4);\n"
+
+                "double subgroupMul(double);\n"
+                "dvec2  subgroupMul(dvec2);\n"
+                "dvec3  subgroupMul(dvec3);\n"
+                "dvec4  subgroupMul(dvec4);\n"
+
+                "double subgroupMin(double);\n"
+                "dvec2  subgroupMin(dvec2);\n"
+                "dvec3  subgroupMin(dvec3);\n"
+                "dvec4  subgroupMin(dvec4);\n"
+
+                "double subgroupMax(double);\n"
+                "dvec2  subgroupMax(dvec2);\n"
+                "dvec3  subgroupMax(dvec3);\n"
+                "dvec4  subgroupMax(dvec4);\n"
+
+                "double subgroupInclusiveAdd(double);\n"
+                "dvec2  subgroupInclusiveAdd(dvec2);\n"
+                "dvec3  subgroupInclusiveAdd(dvec3);\n"
+                "dvec4  subgroupInclusiveAdd(dvec4);\n"
+
+                "double subgroupInclusiveMul(double);\n"
+                "dvec2  subgroupInclusiveMul(dvec2);\n"
+                "dvec3  subgroupInclusiveMul(dvec3);\n"
+                "dvec4  subgroupInclusiveMul(dvec4);\n"
+
+                "double subgroupInclusiveMin(double);\n"
+                "dvec2  subgroupInclusiveMin(dvec2);\n"
+                "dvec3  subgroupInclusiveMin(dvec3);\n"
+                "dvec4  subgroupInclusiveMin(dvec4);\n"
+
+                "double subgroupInclusiveMax(double);\n"
+                "dvec2  subgroupInclusiveMax(dvec2);\n"
+                "dvec3  subgroupInclusiveMax(dvec3);\n"
+                "dvec4  subgroupInclusiveMax(dvec4);\n"
+
+                "double subgroupExclusiveAdd(double);\n"
+                "dvec2  subgroupExclusiveAdd(dvec2);\n"
+                "dvec3  subgroupExclusiveAdd(dvec3);\n"
+                "dvec4  subgroupExclusiveAdd(dvec4);\n"
+
+                "double subgroupExclusiveMul(double);\n"
+                "dvec2  subgroupExclusiveMul(dvec2);\n"
+                "dvec3  subgroupExclusiveMul(dvec3);\n"
+                "dvec4  subgroupExclusiveMul(dvec4);\n"
+
+                "double subgroupExclusiveMin(double);\n"
+                "dvec2  subgroupExclusiveMin(dvec2);\n"
+                "dvec3  subgroupExclusiveMin(dvec3);\n"
+                "dvec4  subgroupExclusiveMin(dvec4);\n"
+
+                "double subgroupExclusiveMax(double);\n"
+                "dvec2  subgroupExclusiveMax(dvec2);\n"
+                "dvec3  subgroupExclusiveMax(dvec3);\n"
+                "dvec4  subgroupExclusiveMax(dvec4);\n"
+
+                "double subgroupClusteredAdd(double, uint);\n"
+                "dvec2  subgroupClusteredAdd(dvec2, uint);\n"
+                "dvec3  subgroupClusteredAdd(dvec3, uint);\n"
+                "dvec4  subgroupClusteredAdd(dvec4, uint);\n"
+
+                "double subgroupClusteredMul(double, uint);\n"
+                "dvec2  subgroupClusteredMul(dvec2, uint);\n"
+                "dvec3  subgroupClusteredMul(dvec3, uint);\n"
+                "dvec4  subgroupClusteredMul(dvec4, uint);\n"
+
+                "double subgroupClusteredMin(double, uint);\n"
+                "dvec2  subgroupClusteredMin(dvec2, uint);\n"
+                "dvec3  subgroupClusteredMin(dvec3, uint);\n"
+                "dvec4  subgroupClusteredMin(dvec4, uint);\n"
+
+                "double subgroupClusteredMax(double, uint);\n"
+                "dvec2  subgroupClusteredMax(dvec2, uint);\n"
+                "dvec3  subgroupClusteredMax(dvec3, uint);\n"
+                "dvec4  subgroupClusteredMax(dvec4, uint);\n"
+
+                "double subgroupQuadBroadcast(double, uint);\n"
+                "dvec2  subgroupQuadBroadcast(dvec2, uint);\n"
+                "dvec3  subgroupQuadBroadcast(dvec3, uint);\n"
+                "dvec4  subgroupQuadBroadcast(dvec4, uint);\n"
+
+                "double subgroupQuadSwapHorizontal(double);\n"
+                "dvec2  subgroupQuadSwapHorizontal(dvec2);\n"
+                "dvec3  subgroupQuadSwapHorizontal(dvec3);\n"
+                "dvec4  subgroupQuadSwapHorizontal(dvec4);\n"
+
+                "double subgroupQuadSwapVertical(double);\n"
+                "dvec2  subgroupQuadSwapVertical(dvec2);\n"
+                "dvec3  subgroupQuadSwapVertical(dvec3);\n"
+                "dvec4  subgroupQuadSwapVertical(dvec4);\n"
+
+                "double subgroupQuadSwapDiagonal(double);\n"
+                "dvec2  subgroupQuadSwapDiagonal(dvec2);\n"
+                "dvec3  subgroupQuadSwapDiagonal(dvec3);\n"
+                "dvec4  subgroupQuadSwapDiagonal(dvec4);\n"
+
+                "\n");
+            }
+
+        stageBuiltins[EShLangCompute].append(
+            "void subgroupMemoryBarrierShared();"
+
+            "\n"
+            );
+    }
+
     if (profile != EEsProfile && version >= 460) {
         commonBuiltins.append(
             "bool anyInvocation(bool);"
@@ -2330,7 +3055,31 @@
             "\n");
     }
 
-    // GL_AMD_gpu_shader_half_float
+    // GL_AMD_shader_fragment_mask
+    if (profile != EEsProfile && version >= 450) {
+        commonBuiltins.append(
+            "uint fragmentMaskFetchAMD(sampler2DMS,       ivec2);"
+            "uint fragmentMaskFetchAMD(isampler2DMS,      ivec2);"
+            "uint fragmentMaskFetchAMD(usampler2DMS,      ivec2);"
+
+            "uint fragmentMaskFetchAMD(sampler2DMSArray,  ivec3);"
+            "uint fragmentMaskFetchAMD(isampler2DMSArray, ivec3);"
+            "uint fragmentMaskFetchAMD(usampler2DMSArray, ivec3);"
+
+            "vec4  fragmentFetchAMD(sampler2DMS,       ivec2, uint);"
+            "ivec4 fragmentFetchAMD(isampler2DMS,      ivec2, uint);"
+            "uvec4 fragmentFetchAMD(usampler2DMS,      ivec2, uint);"
+
+            "vec4  fragmentFetchAMD(sampler2DMSArray,  ivec3, uint);"
+            "ivec4 fragmentFetchAMD(isampler2DMSArray, ivec3, uint);"
+            "uvec4 fragmentFetchAMD(usampler2DMSArray, ivec3, uint);"
+
+            "\n");
+    }
+
+#endif  // AMD_EXTENSIONS
+
+    // GL_AMD_gpu_shader_half_float/Explicit types
     if (profile != EEsProfile && version >= 450) {
         commonBuiltins.append(
             "float16_t radians(float16_t);"
@@ -2678,9 +3427,168 @@
             "\n");
     }
 
-    // GL_AMD_gpu_shader_int16
+    // Explicit types
     if (profile != EEsProfile && version >= 450) {
         commonBuiltins.append(
+            "int8_t abs(int8_t);"
+            "i8vec2 abs(i8vec2);"
+            "i8vec3 abs(i8vec3);"
+            "i8vec4 abs(i8vec4);"
+
+            "int8_t sign(int8_t);"
+            "i8vec2 sign(i8vec2);"
+            "i8vec3 sign(i8vec3);"
+            "i8vec4 sign(i8vec4);"
+
+            "int8_t min(int8_t x, int8_t y);"
+            "i8vec2 min(i8vec2 x, int8_t y);"
+            "i8vec3 min(i8vec3 x, int8_t y);"
+            "i8vec4 min(i8vec4 x, int8_t y);"
+            "i8vec2 min(i8vec2 x, i8vec2 y);"
+            "i8vec3 min(i8vec3 x, i8vec3 y);"
+            "i8vec4 min(i8vec4 x, i8vec4 y);"
+
+            "uint8_t min(uint8_t x, uint8_t y);"
+            "u8vec2 min(u8vec2 x, uint8_t y);"
+            "u8vec3 min(u8vec3 x, uint8_t y);"
+            "u8vec4 min(u8vec4 x, uint8_t y);"
+            "u8vec2 min(u8vec2 x, u8vec2 y);"
+            "u8vec3 min(u8vec3 x, u8vec3 y);"
+            "u8vec4 min(u8vec4 x, u8vec4 y);"
+
+            "int8_t max(int8_t x, int8_t y);"
+            "i8vec2 max(i8vec2 x, int8_t y);"
+            "i8vec3 max(i8vec3 x, int8_t y);"
+            "i8vec4 max(i8vec4 x, int8_t y);"
+            "i8vec2 max(i8vec2 x, i8vec2 y);"
+            "i8vec3 max(i8vec3 x, i8vec3 y);"
+            "i8vec4 max(i8vec4 x, i8vec4 y);"
+
+            "uint8_t max(uint8_t x, uint8_t y);"
+            "u8vec2 max(u8vec2 x, uint8_t y);"
+            "u8vec3 max(u8vec3 x, uint8_t y);"
+            "u8vec4 max(u8vec4 x, uint8_t y);"
+            "u8vec2 max(u8vec2 x, u8vec2 y);"
+            "u8vec3 max(u8vec3 x, u8vec3 y);"
+            "u8vec4 max(u8vec4 x, u8vec4 y);"
+
+            "int8_t    clamp(int8_t x, int8_t minVal, int8_t maxVal);"
+            "i8vec2  clamp(i8vec2  x, int8_t minVal, int8_t maxVal);"
+            "i8vec3  clamp(i8vec3  x, int8_t minVal, int8_t maxVal);"
+            "i8vec4  clamp(i8vec4  x, int8_t minVal, int8_t maxVal);"
+            "i8vec2  clamp(i8vec2  x, i8vec2  minVal, i8vec2  maxVal);"
+            "i8vec3  clamp(i8vec3  x, i8vec3  minVal, i8vec3  maxVal);"
+            "i8vec4  clamp(i8vec4  x, i8vec4  minVal, i8vec4  maxVal);"
+
+            "uint8_t   clamp(uint8_t x, uint8_t minVal, uint8_t maxVal);"
+            "u8vec2  clamp(u8vec2  x, uint8_t minVal, uint8_t maxVal);"
+            "u8vec3  clamp(u8vec3  x, uint8_t minVal, uint8_t maxVal);"
+            "u8vec4  clamp(u8vec4  x, uint8_t minVal, uint8_t maxVal);"
+            "u8vec2  clamp(u8vec2  x, u8vec2  minVal, u8vec2  maxVal);"
+            "u8vec3  clamp(u8vec3  x, u8vec3  minVal, u8vec3  maxVal);"
+            "u8vec4  clamp(u8vec4  x, u8vec4  minVal, u8vec4  maxVal);"
+
+            "int8_t  mix(int8_t,  int8_t,  bool);"
+            "i8vec2  mix(i8vec2,  i8vec2,  bvec2);"
+            "i8vec3  mix(i8vec3,  i8vec3,  bvec3);"
+            "i8vec4  mix(i8vec4,  i8vec4,  bvec4);"
+            "uint8_t mix(uint8_t, uint8_t, bool);"
+            "u8vec2  mix(u8vec2,  u8vec2,  bvec2);"
+            "u8vec3  mix(u8vec3,  u8vec3,  bvec3);"
+            "u8vec4  mix(u8vec4,  u8vec4,  bvec4);"
+
+            "bvec2 lessThan(i8vec2, i8vec2);"
+            "bvec3 lessThan(i8vec3, i8vec3);"
+            "bvec4 lessThan(i8vec4, i8vec4);"
+            "bvec2 lessThan(u8vec2, u8vec2);"
+            "bvec3 lessThan(u8vec3, u8vec3);"
+            "bvec4 lessThan(u8vec4, u8vec4);"
+
+            "bvec2 lessThanEqual(i8vec2, i8vec2);"
+            "bvec3 lessThanEqual(i8vec3, i8vec3);"
+            "bvec4 lessThanEqual(i8vec4, i8vec4);"
+            "bvec2 lessThanEqual(u8vec2, u8vec2);"
+            "bvec3 lessThanEqual(u8vec3, u8vec3);"
+            "bvec4 lessThanEqual(u8vec4, u8vec4);"
+
+            "bvec2 greaterThan(i8vec2, i8vec2);"
+            "bvec3 greaterThan(i8vec3, i8vec3);"
+            "bvec4 greaterThan(i8vec4, i8vec4);"
+            "bvec2 greaterThan(u8vec2, u8vec2);"
+            "bvec3 greaterThan(u8vec3, u8vec3);"
+            "bvec4 greaterThan(u8vec4, u8vec4);"
+
+            "bvec2 greaterThanEqual(i8vec2, i8vec2);"
+            "bvec3 greaterThanEqual(i8vec3, i8vec3);"
+            "bvec4 greaterThanEqual(i8vec4, i8vec4);"
+            "bvec2 greaterThanEqual(u8vec2, u8vec2);"
+            "bvec3 greaterThanEqual(u8vec3, u8vec3);"
+            "bvec4 greaterThanEqual(u8vec4, u8vec4);"
+
+            "bvec2 equal(i8vec2, i8vec2);"
+            "bvec3 equal(i8vec3, i8vec3);"
+            "bvec4 equal(i8vec4, i8vec4);"
+            "bvec2 equal(u8vec2, u8vec2);"
+            "bvec3 equal(u8vec3, u8vec3);"
+            "bvec4 equal(u8vec4, u8vec4);"
+
+            "bvec2 notEqual(i8vec2, i8vec2);"
+            "bvec3 notEqual(i8vec3, i8vec3);"
+            "bvec4 notEqual(i8vec4, i8vec4);"
+            "bvec2 notEqual(u8vec2, u8vec2);"
+            "bvec3 notEqual(u8vec3, u8vec3);"
+            "bvec4 notEqual(u8vec4, u8vec4);"
+
+            "  int8_t bitfieldExtract(  int8_t, int8_t, int8_t);"
+            "i8vec2 bitfieldExtract(i8vec2, int8_t, int8_t);"
+            "i8vec3 bitfieldExtract(i8vec3, int8_t, int8_t);"
+            "i8vec4 bitfieldExtract(i8vec4, int8_t, int8_t);"
+
+            " uint8_t bitfieldExtract( uint8_t, int8_t, int8_t);"
+            "u8vec2 bitfieldExtract(u8vec2, int8_t, int8_t);"
+            "u8vec3 bitfieldExtract(u8vec3, int8_t, int8_t);"
+            "u8vec4 bitfieldExtract(u8vec4, int8_t, int8_t);"
+
+            "  int8_t bitfieldInsert(  int8_t base,   int8_t, int8_t, int8_t);"
+            "i8vec2 bitfieldInsert(i8vec2 base, i8vec2, int8_t, int8_t);"
+            "i8vec3 bitfieldInsert(i8vec3 base, i8vec3, int8_t, int8_t);"
+            "i8vec4 bitfieldInsert(i8vec4 base, i8vec4, int8_t, int8_t);"
+
+            " uint8_t bitfieldInsert( uint8_t base,  uint8_t, int8_t, int8_t);"
+            "u8vec2 bitfieldInsert(u8vec2 base, u8vec2, int8_t, int8_t);"
+            "u8vec3 bitfieldInsert(u8vec3 base, u8vec3, int8_t, int8_t);"
+            "u8vec4 bitfieldInsert(u8vec4 base, u8vec4, int8_t, int8_t);"
+
+            "  int8_t bitCount(  int8_t);"
+            "i8vec2 bitCount(i8vec2);"
+            "i8vec3 bitCount(i8vec3);"
+            "i8vec4 bitCount(i8vec4);"
+
+            "  int8_t bitCount( uint8_t);"
+            "i8vec2 bitCount(u8vec2);"
+            "i8vec3 bitCount(u8vec3);"
+            "i8vec4 bitCount(u8vec4);"
+
+            "  int8_t findLSB(  int8_t);"
+            "i8vec2 findLSB(i8vec2);"
+            "i8vec3 findLSB(i8vec3);"
+            "i8vec4 findLSB(i8vec4);"
+
+            "  int8_t findLSB( uint8_t);"
+            "i8vec2 findLSB(u8vec2);"
+            "i8vec3 findLSB(u8vec3);"
+            "i8vec4 findLSB(u8vec4);"
+
+            "  int8_t findMSB(  int8_t);"
+            "i8vec2 findMSB(i8vec2);"
+            "i8vec3 findMSB(i8vec3);"
+            "i8vec4 findMSB(i8vec4);"
+
+            "  int8_t findMSB( uint8_t);"
+            "i8vec2 findMSB(u8vec2);"
+            "i8vec3 findMSB(u8vec3);"
+            "i8vec4 findMSB(u8vec4);"
+
             "int16_t abs(int16_t);"
             "i16vec2 abs(i16vec2);"
             "i16vec3 abs(i16vec3);"
@@ -2691,50 +3599,53 @@
             "i16vec3 sign(i16vec3);"
             "i16vec4 sign(i16vec4);"
 
-            "int16_t  min(int16_t,  int16_t);"
-            "i16vec2  min(i16vec2,  int16_t);"
-            "i16vec3  min(i16vec3,  int16_t);"
-            "i16vec4  min(i16vec4,  int16_t);"
-            "i16vec2  min(i16vec2,  i16vec2);"
-            "i16vec3  min(i16vec3,  i16vec3);"
-            "i16vec4  min(i16vec4,  i16vec4);"
-            "uint16_t min(uint16_t, uint16_t);"
-            "u16vec2  min(u16vec2,  uint16_t);"
-            "u16vec3  min(u16vec3,  uint16_t);"
-            "u16vec4  min(u16vec4,  uint16_t);"
-            "u16vec2  min(u16vec2,  u16vec2);"
-            "u16vec3  min(u16vec3,  u16vec3);"
-            "u16vec4  min(u16vec4,  u16vec4);"
+            "int16_t min(int16_t x, int16_t y);"
+            "i16vec2 min(i16vec2 x, int16_t y);"
+            "i16vec3 min(i16vec3 x, int16_t y);"
+            "i16vec4 min(i16vec4 x, int16_t y);"
+            "i16vec2 min(i16vec2 x, i16vec2 y);"
+            "i16vec3 min(i16vec3 x, i16vec3 y);"
+            "i16vec4 min(i16vec4 x, i16vec4 y);"
 
-            "int16_t  max(int16_t,  int16_t);"
-            "i16vec2  max(i16vec2,  int16_t);"
-            "i16vec3  max(i16vec3,  int16_t);"
-            "i16vec4  max(i16vec4,  int16_t);"
-            "i16vec2  max(i16vec2,  i16vec2);"
-            "i16vec3  max(i16vec3,  i16vec3);"
-            "i16vec4  max(i16vec4,  i16vec4);"
-            "uint16_t max(uint16_t, uint16_t);"
-            "u16vec2  max(u16vec2,  uint16_t);"
-            "u16vec3  max(u16vec3,  uint16_t);"
-            "u16vec4  max(u16vec4,  uint16_t);"
-            "u16vec2  max(u16vec2,  u16vec2);"
-            "u16vec3  max(u16vec3,  u16vec3);"
-            "u16vec4  max(u16vec4,  u16vec4);"
+            "uint16_t min(uint16_t x, uint16_t y);"
+            "u16vec2 min(u16vec2 x, uint16_t y);"
+            "u16vec3 min(u16vec3 x, uint16_t y);"
+            "u16vec4 min(u16vec4 x, uint16_t y);"
+            "u16vec2 min(u16vec2 x, u16vec2 y);"
+            "u16vec3 min(u16vec3 x, u16vec3 y);"
+            "u16vec4 min(u16vec4 x, u16vec4 y);"
 
-            "int16_t  clamp(int16_t,  int16_t,  int16_t);"
-            "i16vec2  clamp(i16vec2,  int16_t,  int16_t);"
-            "i16vec3  clamp(i16vec3,  int16_t,  int16_t);"
-            "i16vec4  clamp(i16vec4,  int16_t,  int16_t);"
-            "i16vec2  clamp(i16vec2,  i16vec2,  i16vec2);"
-            "i16vec3  clamp(i16vec3,  i16vec3,  i16vec3);"
-            "i16vec4  clamp(i16vec4,  i16vec4,  i16vec4);"
-            "uint16_t clamp(uint16_t, uint16_t, uint16_t);"
-            "u16vec2  clamp(u16vec2,  uint16_t, uint16_t);"
-            "u16vec3  clamp(u16vec3,  uint16_t, uint16_t);"
-            "u16vec4  clamp(u16vec4,  uint16_t, uint16_t);"
-            "u16vec2  clamp(u16vec2,  u16vec2,  u16vec2);"
-            "u16vec3  clamp(u16vec3,  u16vec3,  u16vec3);"
-            "u16vec4  clamp(u16vec4,  u16vec4,  u16vec4);"
+            "int16_t max(int16_t x, int16_t y);"
+            "i16vec2 max(i16vec2 x, int16_t y);"
+            "i16vec3 max(i16vec3 x, int16_t y);"
+            "i16vec4 max(i16vec4 x, int16_t y);"
+            "i16vec2 max(i16vec2 x, i16vec2 y);"
+            "i16vec3 max(i16vec3 x, i16vec3 y);"
+            "i16vec4 max(i16vec4 x, i16vec4 y);"
+
+            "uint16_t max(uint16_t x, uint16_t y);"
+            "u16vec2 max(u16vec2 x, uint16_t y);"
+            "u16vec3 max(u16vec3 x, uint16_t y);"
+            "u16vec4 max(u16vec4 x, uint16_t y);"
+            "u16vec2 max(u16vec2 x, u16vec2 y);"
+            "u16vec3 max(u16vec3 x, u16vec3 y);"
+            "u16vec4 max(u16vec4 x, u16vec4 y);"
+
+            "int16_t    clamp(int16_t x, int16_t minVal, int16_t maxVal);"
+            "i16vec2  clamp(i16vec2  x, int16_t minVal, int16_t maxVal);"
+            "i16vec3  clamp(i16vec3  x, int16_t minVal, int16_t maxVal);"
+            "i16vec4  clamp(i16vec4  x, int16_t minVal, int16_t maxVal);"
+            "i16vec2  clamp(i16vec2  x, i16vec2  minVal, i16vec2  maxVal);"
+            "i16vec3  clamp(i16vec3  x, i16vec3  minVal, i16vec3  maxVal);"
+            "i16vec4  clamp(i16vec4  x, i16vec4  minVal, i16vec4  maxVal);"
+
+            "uint16_t   clamp(uint16_t x, uint16_t minVal, uint16_t maxVal);"
+            "u16vec2  clamp(u16vec2  x, uint16_t minVal, uint16_t maxVal);"
+            "u16vec3  clamp(u16vec3  x, uint16_t minVal, uint16_t maxVal);"
+            "u16vec4  clamp(u16vec4  x, uint16_t minVal, uint16_t maxVal);"
+            "u16vec2  clamp(u16vec2  x, u16vec2  minVal, u16vec2  maxVal);"
+            "u16vec3  clamp(u16vec3  x, u16vec3  minVal, u16vec3  maxVal);"
+            "u16vec4  clamp(u16vec4  x, u16vec4  minVal, u16vec4  maxVal);"
 
             "int16_t  mix(int16_t,  int16_t,  bool);"
             "i16vec2  mix(i16vec2,  i16vec2,  bvec2);"
@@ -2755,6 +3666,16 @@
             "f16vec3   ldexp(f16vec3,   i16vec3);"
             "f16vec4   ldexp(f16vec4,   i16vec4);"
 
+            "int16_t halfBitsToInt16(float16_t);"
+            "i16vec2 halfBitsToInt16(f16vec2);"
+            "i16vec3 halhBitsToInt16(f16vec3);"
+            "i16vec4 halfBitsToInt16(f16vec4);"
+
+            "uint16_t halfBitsToUint16(float16_t);"
+            "u16vec2  halfBitsToUint16(f16vec2);"
+            "u16vec3  halfBitsToUint16(f16vec3);"
+            "u16vec4  halfBitsToUint16(f16vec4);"
+
             "int16_t float16BitsToInt16(float16_t);"
             "i16vec2 float16BitsToInt16(f16vec2);"
             "i16vec3 float16BitsToInt16(f16vec3);"
@@ -2775,6 +3696,16 @@
             "f16vec3   uint16BitsToFloat16(u16vec3);"
             "f16vec4   uint16BitsToFloat16(u16vec4);"
 
+            "float16_t int16BitsToHalf(int16_t);"
+            "f16vec2   int16BitsToHalf(i16vec2);"
+            "f16vec3   int16BitsToHalf(i16vec3);"
+            "f16vec4   int16BitsToHalf(i16vec4);"
+
+            "float16_t uint16BitsToHalf(uint16_t);"
+            "f16vec2   uint16BitsToHalf(u16vec2);"
+            "f16vec3   uint16BitsToHalf(u16vec3);"
+            "f16vec4   uint16BitsToHalf(u16vec4);"
+
             "int      packInt2x16(i16vec2);"
             "uint     packUint2x16(u16vec2);"
             "int64_t  packInt4x16(i16vec4);"
@@ -2826,33 +3757,245 @@
             "bvec3 notEqual(u16vec3, u16vec3);"
             "bvec4 notEqual(u16vec4, u16vec4);"
 
+            "  int16_t bitfieldExtract(  int16_t, int16_t, int16_t);"
+            "i16vec2 bitfieldExtract(i16vec2, int16_t, int16_t);"
+            "i16vec3 bitfieldExtract(i16vec3, int16_t, int16_t);"
+            "i16vec4 bitfieldExtract(i16vec4, int16_t, int16_t);"
+
+            " uint16_t bitfieldExtract( uint16_t, int16_t, int16_t);"
+            "u16vec2 bitfieldExtract(u16vec2, int16_t, int16_t);"
+            "u16vec3 bitfieldExtract(u16vec3, int16_t, int16_t);"
+            "u16vec4 bitfieldExtract(u16vec4, int16_t, int16_t);"
+
+            "  int16_t bitfieldInsert(  int16_t base,   int16_t, int16_t, int16_t);"
+            "i16vec2 bitfieldInsert(i16vec2 base, i16vec2, int16_t, int16_t);"
+            "i16vec3 bitfieldInsert(i16vec3 base, i16vec3, int16_t, int16_t);"
+            "i16vec4 bitfieldInsert(i16vec4 base, i16vec4, int16_t, int16_t);"
+
+            " uint16_t bitfieldInsert( uint16_t base,  uint16_t, int16_t, int16_t);"
+            "u16vec2 bitfieldInsert(u16vec2 base, u16vec2, int16_t, int16_t);"
+            "u16vec3 bitfieldInsert(u16vec3 base, u16vec3, int16_t, int16_t);"
+            "u16vec4 bitfieldInsert(u16vec4 base, u16vec4, int16_t, int16_t);"
+
+            "  int16_t bitCount(  int16_t);"
+            "i16vec2 bitCount(i16vec2);"
+            "i16vec3 bitCount(i16vec3);"
+            "i16vec4 bitCount(i16vec4);"
+
+            "  int16_t bitCount( uint16_t);"
+            "i16vec2 bitCount(u16vec2);"
+            "i16vec3 bitCount(u16vec3);"
+            "i16vec4 bitCount(u16vec4);"
+
+            "  int16_t findLSB(  int16_t);"
+            "i16vec2 findLSB(i16vec2);"
+            "i16vec3 findLSB(i16vec3);"
+            "i16vec4 findLSB(i16vec4);"
+
+            "  int16_t findLSB( uint16_t);"
+            "i16vec2 findLSB(u16vec2);"
+            "i16vec3 findLSB(u16vec3);"
+            "i16vec4 findLSB(u16vec4);"
+
+            "  int16_t findMSB(  int16_t);"
+            "i16vec2 findMSB(i16vec2);"
+            "i16vec3 findMSB(i16vec3);"
+            "i16vec4 findMSB(i16vec4);"
+
+            "  int16_t findMSB( uint16_t);"
+            "i16vec2 findMSB(u16vec2);"
+            "i16vec3 findMSB(u16vec3);"
+            "i16vec4 findMSB(u16vec4);"
+
+            "int16_t  pack16(i8vec2);"
+            "uint16_t pack16(u8vec2);"
+            "int32_t  pack32(i8vec4);"
+            "uint32_t pack32(u8vec4);"
+            "int32_t  pack32(i16vec2);"
+            "uint32_t pack32(u16vec2);"
+            "int64_t  pack64(i16vec4);"
+            "uint64_t pack64(u16vec4);"
+            "int64_t  pack64(i32vec2);"
+            "uint64_t pack64(u32vec2);"
+
+            "i8vec2   unpack8(int16_t);"
+            "u8vec2   unpack8(uint16_t);"
+            "i8vec4   unpack8(int32_t);"
+            "u8vec4   unpack8(uint32_t);"
+            "i16vec2  unpack16(int32_t);"
+            "u16vec2  unpack16(uint32_t);"
+            "i16vec4  unpack16(int64_t);"
+            "u16vec4  unpack16(uint64_t);"
+            "i32vec2  unpack32(int64_t);"
+            "u32vec2  unpack32(uint64_t);"
+
+            "float64_t radians(float64_t);"
+            "f64vec2   radians(f64vec2);"
+            "f64vec3   radians(f64vec3);"
+            "f64vec4   radians(f64vec4);"
+
+            "float64_t degrees(float64_t);"
+            "f64vec2   degrees(f64vec2);"
+            "f64vec3   degrees(f64vec3);"
+            "f64vec4   degrees(f64vec4);"
+
+            "float64_t sin(float64_t);"
+            "f64vec2   sin(f64vec2);"
+            "f64vec3   sin(f64vec3);"
+            "f64vec4   sin(f64vec4);"
+
+            "float64_t cos(float64_t);"
+            "f64vec2   cos(f64vec2);"
+            "f64vec3   cos(f64vec3);"
+            "f64vec4   cos(f64vec4);"
+
+            "float64_t tan(float64_t);"
+            "f64vec2   tan(f64vec2);"
+            "f64vec3   tan(f64vec3);"
+            "f64vec4   tan(f64vec4);"
+
+            "float64_t asin(float64_t);"
+            "f64vec2   asin(f64vec2);"
+            "f64vec3   asin(f64vec3);"
+            "f64vec4   asin(f64vec4);"
+
+            "float64_t acos(float64_t);"
+            "f64vec2   acos(f64vec2);"
+            "f64vec3   acos(f64vec3);"
+            "f64vec4   acos(f64vec4);"
+
+            "float64_t atan(float64_t, float64_t);"
+            "f64vec2   atan(f64vec2,   f64vec2);"
+            "f64vec3   atan(f64vec3,   f64vec3);"
+            "f64vec4   atan(f64vec4,   f64vec4);"
+
+            "float64_t atan(float64_t);"
+            "f64vec2   atan(f64vec2);"
+            "f64vec3   atan(f64vec3);"
+            "f64vec4   atan(f64vec4);"
+
+            "float64_t sinh(float64_t);"
+            "f64vec2   sinh(f64vec2);"
+            "f64vec3   sinh(f64vec3);"
+            "f64vec4   sinh(f64vec4);"
+
+            "float64_t cosh(float64_t);"
+            "f64vec2   cosh(f64vec2);"
+            "f64vec3   cosh(f64vec3);"
+            "f64vec4   cosh(f64vec4);"
+
+            "float64_t tanh(float64_t);"
+            "f64vec2   tanh(f64vec2);"
+            "f64vec3   tanh(f64vec3);"
+            "f64vec4   tanh(f64vec4);"
+
+            "float64_t asinh(float64_t);"
+            "f64vec2   asinh(f64vec2);"
+            "f64vec3   asinh(f64vec3);"
+            "f64vec4   asinh(f64vec4);"
+
+            "float64_t acosh(float64_t);"
+            "f64vec2   acosh(f64vec2);"
+            "f64vec3   acosh(f64vec3);"
+            "f64vec4   acosh(f64vec4);"
+
+            "float64_t atanh(float64_t);"
+            "f64vec2   atanh(f64vec2);"
+            "f64vec3   atanh(f64vec3);"
+            "f64vec4   atanh(f64vec4);"
+
+            "float64_t pow(float64_t, float64_t);"
+            "f64vec2   pow(f64vec2,   f64vec2);"
+            "f64vec3   pow(f64vec3,   f64vec3);"
+            "f64vec4   pow(f64vec4,   f64vec4);"
+
+            "float64_t exp(float64_t);"
+            "f64vec2   exp(f64vec2);"
+            "f64vec3   exp(f64vec3);"
+            "f64vec4   exp(f64vec4);"
+
+            "float64_t log(float64_t);"
+            "f64vec2   log(f64vec2);"
+            "f64vec3   log(f64vec3);"
+            "f64vec4   log(f64vec4);"
+
+            "float64_t exp2(float64_t);"
+            "f64vec2   exp2(f64vec2);"
+            "f64vec3   exp2(f64vec3);"
+            "f64vec4   exp2(f64vec4);"
+
+            "float64_t log2(float64_t);"
+            "f64vec2   log2(f64vec2);"
+            "f64vec3   log2(f64vec3);"
+            "f64vec4   log2(f64vec4);"
             "\n");
+        }
+        if (profile != EEsProfile && version >= 450) {
+            stageBuiltins[EShLangFragment].append(
+                "float64_t dFdx(float64_t);"
+                "f64vec2   dFdx(f64vec2);"
+                "f64vec3   dFdx(f64vec3);"
+                "f64vec4   dFdx(f64vec4);"
+
+                "float64_t dFdy(float64_t);"
+                "f64vec2   dFdy(f64vec2);"
+                "f64vec3   dFdy(f64vec3);"
+                "f64vec4   dFdy(f64vec4);"
+
+                "float64_t dFdxFine(float64_t);"
+                "f64vec2   dFdxFine(f64vec2);"
+                "f64vec3   dFdxFine(f64vec3);"
+                "f64vec4   dFdxFine(f64vec4);"
+
+                "float64_t dFdyFine(float64_t);"
+                "f64vec2   dFdyFine(f64vec2);"
+                "f64vec3   dFdyFine(f64vec3);"
+                "f64vec4   dFdyFine(f64vec4);"
+
+                "float64_t dFdxCoarse(float64_t);"
+                "f64vec2   dFdxCoarse(f64vec2);"
+                "f64vec3   dFdxCoarse(f64vec3);"
+                "f64vec4   dFdxCoarse(f64vec4);"
+
+                "float64_t dFdyCoarse(float64_t);"
+                "f64vec2   dFdyCoarse(f64vec2);"
+                "f64vec3   dFdyCoarse(f64vec3);"
+                "f64vec4   dFdyCoarse(f64vec4);"
+
+                "float64_t fwidth(float64_t);"
+                "f64vec2   fwidth(f64vec2);"
+                "f64vec3   fwidth(f64vec3);"
+                "f64vec4   fwidth(f64vec4);"
+
+                "float64_t fwidthFine(float64_t);"
+                "f64vec2   fwidthFine(f64vec2);"
+                "f64vec3   fwidthFine(f64vec3);"
+                "f64vec4   fwidthFine(f64vec4);"
+
+                "float64_t fwidthCoarse(float64_t);"
+                "f64vec2   fwidthCoarse(f64vec2);"
+                "f64vec3   fwidthCoarse(f64vec3);"
+                "f64vec4   fwidthCoarse(f64vec4);"
+
+                "float64_t interpolateAtCentroid(float64_t);"
+                "f64vec2   interpolateAtCentroid(f64vec2);"
+                "f64vec3   interpolateAtCentroid(f64vec3);"
+                "f64vec4   interpolateAtCentroid(f64vec4);"
+
+                "float64_t interpolateAtSample(float64_t, int);"
+                "f64vec2   interpolateAtSample(f64vec2,   int);"
+                "f64vec3   interpolateAtSample(f64vec3,   int);"
+                "f64vec4   interpolateAtSample(f64vec4,   int);"
+
+                "float64_t interpolateAtOffset(float64_t, f64vec2);"
+                "f64vec2   interpolateAtOffset(f64vec2,   f64vec2);"
+                "f64vec3   interpolateAtOffset(f64vec3,   f64vec2);"
+                "f64vec4   interpolateAtOffset(f64vec4,   f64vec2);"
+
+                "\n");
+
     }
 
-    // GL_AMD_shader_fragment_mask
-    if (profile != EEsProfile && version >= 450) {
-        commonBuiltins.append(
-            "uint fragmentMaskFetchAMD(sampler2DMS,       ivec2);"
-            "uint fragmentMaskFetchAMD(isampler2DMS,      ivec2);"
-            "uint fragmentMaskFetchAMD(usampler2DMS,      ivec2);"
-
-            "uint fragmentMaskFetchAMD(sampler2DMSArray,  ivec3);"
-            "uint fragmentMaskFetchAMD(isampler2DMSArray, ivec3);"
-            "uint fragmentMaskFetchAMD(usampler2DMSArray, ivec3);"
-
-            "vec4  fragmentFetchAMD(sampler2DMS,       ivec2, uint);"
-            "ivec4 fragmentFetchAMD(isampler2DMS,      ivec2, uint);"
-            "uvec4 fragmentFetchAMD(usampler2DMS,      ivec2, uint);"
-
-            "vec4  fragmentFetchAMD(sampler2DMSArray,  ivec3, uint);"
-            "ivec4 fragmentFetchAMD(isampler2DMSArray, ivec3, uint);"
-            "uvec4 fragmentFetchAMD(usampler2DMSArray, ivec3, uint);"
-
-            "\n");
-    }
-
-#endif
-
     //============================================================================
     //
     // Prototypes for built-in functions seen by vertex shaders only.
@@ -4011,17 +5154,30 @@
 
     // GL_ARB_shader_ballot
     if (profile != EEsProfile && version >= 450) {
-        commonBuiltins.append(
+        const char* ballotDecls = 
             "uniform uint gl_SubGroupSizeARB;"
-
             "in uint     gl_SubGroupInvocationARB;"
             "in uint64_t gl_SubGroupEqMaskARB;"
             "in uint64_t gl_SubGroupGeMaskARB;"
             "in uint64_t gl_SubGroupGtMaskARB;"
             "in uint64_t gl_SubGroupLeMaskARB;"
             "in uint64_t gl_SubGroupLtMaskARB;"
-
-            "\n");
+            "\n";
+        const char* fragmentBallotDecls = 
+            "uniform uint gl_SubGroupSizeARB;"
+            "flat in uint     gl_SubGroupInvocationARB;"
+            "flat in uint64_t gl_SubGroupEqMaskARB;"
+            "flat in uint64_t gl_SubGroupGeMaskARB;"
+            "flat in uint64_t gl_SubGroupGtMaskARB;"
+            "flat in uint64_t gl_SubGroupLeMaskARB;"
+            "flat in uint64_t gl_SubGroupLtMaskARB;"
+            "\n";
+        stageBuiltins[EShLangVertex]        .append(ballotDecls);
+        stageBuiltins[EShLangTessControl]   .append(ballotDecls);
+        stageBuiltins[EShLangTessEvaluation].append(ballotDecls);
+        stageBuiltins[EShLangGeometry]      .append(ballotDecls);
+        stageBuiltins[EShLangCompute]       .append(ballotDecls);
+        stageBuiltins[EShLangFragment]      .append(fragmentBallotDecls);
     }
 
     if ((profile != EEsProfile && version >= 140) ||
@@ -4032,6 +5188,39 @@
             "\n");
     }
 
+    // GL_KHR_shader_subgroup
+    if (spvVersion.vulkan >= 100) {
+        const char* ballotDecls = 
+            "in mediump uint  gl_SubgroupSize;"
+            "in mediump uint  gl_SubgroupInvocationID;"
+            "in highp   uvec4 gl_SubgroupEqMask;"
+            "in highp   uvec4 gl_SubgroupGeMask;"
+            "in highp   uvec4 gl_SubgroupGtMask;"
+            "in highp   uvec4 gl_SubgroupLeMask;"
+            "in highp   uvec4 gl_SubgroupLtMask;"
+            "\n";
+        const char* fragmentBallotDecls = 
+            "flat in mediump uint  gl_SubgroupSize;"
+            "flat in mediump uint  gl_SubgroupInvocationID;"
+            "flat in highp   uvec4 gl_SubgroupEqMask;"
+            "flat in highp   uvec4 gl_SubgroupGeMask;"
+            "flat in highp   uvec4 gl_SubgroupGtMask;"
+            "flat in highp   uvec4 gl_SubgroupLeMask;"
+            "flat in highp   uvec4 gl_SubgroupLtMask;"
+            "\n";
+        stageBuiltins[EShLangVertex]        .append(ballotDecls);
+        stageBuiltins[EShLangTessControl]   .append(ballotDecls);
+        stageBuiltins[EShLangTessEvaluation].append(ballotDecls);
+        stageBuiltins[EShLangGeometry]      .append(ballotDecls);
+        stageBuiltins[EShLangCompute]       .append(ballotDecls);
+        stageBuiltins[EShLangFragment]      .append(fragmentBallotDecls);
+
+        stageBuiltins[EShLangCompute].append(
+            "highp   in uint  gl_NumSubgroups;"
+            "highp   in uint  gl_SubgroupID;"
+            "\n");
+    }
+
     if (version >= 300 /* both ES and non-ES */) {
         stageBuiltins[EShLangFragment].append(
             "flat in highp uint gl_ViewID_OVR;"     // GL_OVR_multiview, GL_OVR_multiview2
@@ -5409,6 +6598,8 @@
             if (spvVersion.vulkan >= 100)
                 // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan
                 SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable);
+            else
+                BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable);
 
             if (version >= 430) {
                 symbolTable.setFunctionExtensions("anyInvocationARB",       1, &E_GL_ARB_shader_group_vote);
@@ -5647,6 +6838,25 @@
             symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview);
             BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable);
         }
+        
+        // GL_KHR_shader_subgroup
+        if (spvVersion.vulkan >= 100) {
+            symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupEqMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+
+            BuiltInVariable("gl_SubgroupSize",         EbvSubgroupSize2,       symbolTable);
+            BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable);
+            BuiltInVariable("gl_SubgroupEqMask",       EbvSubgroupEqMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGeMask",       EbvSubgroupGeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGtMask",       EbvSubgroupGtMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLeMask",       EbvSubgroupLeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLtMask",       EbvSubgroupLtMask2,     symbolTable);
+        }
 
         break;
 
@@ -5885,6 +7095,104 @@
             BuiltInVariable("gl_ViewID_OVR", EbvViewIndex, symbolTable);
         }
 
+        // GL_ARB_shader_ballot
+        if (profile != EEsProfile) {
+            symbolTable.setVariableExtensions("gl_SubGroupSizeARB",       1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB",     1, &E_GL_ARB_shader_ballot);
+
+            BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable);
+            BuiltInVariable("gl_SubGroupEqMaskARB",     EbvSubGroupEqMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupGeMaskARB",     EbvSubGroupGeMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupGtMaskARB",     EbvSubGroupGtMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupLeMaskARB",     EbvSubGroupLeMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupLtMaskARB",     EbvSubGroupLtMask,     symbolTable);
+
+            if (spvVersion.vulkan >= 100)
+                // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan
+                SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable);
+            else
+                BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable);
+        }
+
+        // GL_KHR_shader_subgroup
+        if (spvVersion.vulkan >= 100) {
+            symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupEqMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+
+            BuiltInVariable("gl_SubgroupSize",         EbvSubgroupSize2,       symbolTable);
+            BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable);
+            BuiltInVariable("gl_SubgroupEqMask",       EbvSubgroupEqMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGeMask",       EbvSubgroupGeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGtMask",       EbvSubgroupGtMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLeMask",       EbvSubgroupLeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLtMask",       EbvSubgroupLtMask2,     symbolTable);
+
+            symbolTable.setFunctionExtensions("subgroupBarrier",                 1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setFunctionExtensions("subgroupMemoryBarrier",           1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setFunctionExtensions("subgroupMemoryBarrierBuffer",     1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setFunctionExtensions("subgroupMemoryBarrierImage",      1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setFunctionExtensions("subgroupElect",                   1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setFunctionExtensions("subgroupAll",                     1, &E_GL_KHR_shader_subgroup_vote);
+            symbolTable.setFunctionExtensions("subgroupAny",                     1, &E_GL_KHR_shader_subgroup_vote);
+            symbolTable.setFunctionExtensions("subgroupAllEqual",                1, &E_GL_KHR_shader_subgroup_vote);
+            symbolTable.setFunctionExtensions("subgroupBroadcast",               1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupBroadcastFirst",          1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupBallot",                  1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupInverseBallot",           1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupBallotBitExtract",        1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupBallotBitCount",          1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupBallotInclusiveBitCount", 1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupBallotExclusiveBitCount", 1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupBallotFindLSB",           1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupBallotFindMSB",           1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setFunctionExtensions("subgroupShuffle",                 1, &E_GL_KHR_shader_subgroup_shuffle);
+            symbolTable.setFunctionExtensions("subgroupShuffleXor",              1, &E_GL_KHR_shader_subgroup_shuffle);
+            symbolTable.setFunctionExtensions("subgroupShuffleUp",               1, &E_GL_KHR_shader_subgroup_shuffle_relative);
+            symbolTable.setFunctionExtensions("subgroupShuffleDown",             1, &E_GL_KHR_shader_subgroup_shuffle_relative);
+            symbolTable.setFunctionExtensions("subgroupAdd",                     1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupMul",                     1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupMin",                     1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupMax",                     1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupAnd",                     1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupOr",                      1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupXor",                     1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupInclusiveAdd",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupInclusiveMul",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupInclusiveMin",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupInclusiveMax",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupInclusiveAnd",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupInclusiveOr",             1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupInclusiveXor",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupExclusiveAdd",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupExclusiveMul",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupExclusiveMin",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupExclusiveMax",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupExclusiveAnd",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupExclusiveOr",             1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupExclusiveXor",            1, &E_GL_KHR_shader_subgroup_arithmetic);
+            symbolTable.setFunctionExtensions("subgroupClusteredAdd",            1, &E_GL_KHR_shader_subgroup_clustered);
+            symbolTable.setFunctionExtensions("subgroupClusteredMul",            1, &E_GL_KHR_shader_subgroup_clustered);
+            symbolTable.setFunctionExtensions("subgroupClusteredMin",            1, &E_GL_KHR_shader_subgroup_clustered);
+            symbolTable.setFunctionExtensions("subgroupClusteredMax",            1, &E_GL_KHR_shader_subgroup_clustered);
+            symbolTable.setFunctionExtensions("subgroupClusteredAnd",            1, &E_GL_KHR_shader_subgroup_clustered);
+            symbolTable.setFunctionExtensions("subgroupClusteredOr",             1, &E_GL_KHR_shader_subgroup_clustered);
+            symbolTable.setFunctionExtensions("subgroupClusteredXor",            1, &E_GL_KHR_shader_subgroup_clustered);
+            symbolTable.setFunctionExtensions("subgroupQuadBroadcast",           1, &E_GL_KHR_shader_subgroup_quad);
+            symbolTable.setFunctionExtensions("subgroupQuadSwapHorizontal",      1, &E_GL_KHR_shader_subgroup_quad);
+            symbolTable.setFunctionExtensions("subgroupQuadSwapVertical",        1, &E_GL_KHR_shader_subgroup_quad);
+            symbolTable.setFunctionExtensions("subgroupQuadSwapDiagonal",        1, &E_GL_KHR_shader_subgroup_quad);
+        }
+
         if (profile == EEsProfile) {
             symbolTable.setFunctionExtensions("shadow2DEXT",        1, &E_GL_EXT_shadow_samplers);
             symbolTable.setFunctionExtensions("shadow2DProjEXT",    1, &E_GL_EXT_shadow_samplers);
@@ -5923,6 +7231,49 @@
             symbolTable.setFunctionExtensions("groupMemoryBarrier",         1, &E_GL_ARB_compute_shader);
         }
 
+        // GL_ARB_shader_ballot
+        if (profile != EEsProfile) {
+            symbolTable.setVariableExtensions("gl_SubGroupSizeARB",       1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB",     1, &E_GL_ARB_shader_ballot);
+
+            BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable);
+            BuiltInVariable("gl_SubGroupEqMaskARB",     EbvSubGroupEqMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupGeMaskARB",     EbvSubGroupGeMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupGtMaskARB",     EbvSubGroupGtMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupLeMaskARB",     EbvSubGroupLeMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupLtMaskARB",     EbvSubGroupLtMask,     symbolTable);
+
+            if (spvVersion.vulkan >= 100)
+                // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan
+                SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable);
+            else
+                BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable);
+        }
+
+        // GL_ARB_shader_ballot
+        if (spvVersion.vulkan >= 100) {
+            symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupEqMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+
+            BuiltInVariable("gl_SubgroupSize",         EbvSubgroupSize2,       symbolTable);
+            BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable);
+            BuiltInVariable("gl_SubgroupEqMask",       EbvSubgroupEqMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGeMask",       EbvSubgroupGeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGtMask",       EbvSubgroupGtMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLeMask",       EbvSubgroupLeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLtMask",       EbvSubgroupLtMask2,     symbolTable);
+        }
+
         if ((profile != EEsProfile && version >= 140) ||
             (profile == EEsProfile && version >= 310)) {
             symbolTable.setVariableExtensions("gl_DeviceIndex",  1, &E_GL_EXT_device_group);
@@ -5931,6 +7282,16 @@
             BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable);
         }
 
+        // GL_KHR_shader_subgroup
+        if (spvVersion.vulkan >= 100) {
+            symbolTable.setVariableExtensions("gl_NumSubgroups", 1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupID",   1, &E_GL_KHR_shader_subgroup_basic);
+
+            BuiltInVariable("gl_NumSubgroups", EbvNumSubgroups, symbolTable);
+            BuiltInVariable("gl_SubgroupID",   EbvSubgroupID,   symbolTable);
+
+            symbolTable.setFunctionExtensions("subgroupMemoryBarrierShared", 1, &E_GL_KHR_shader_subgroup_basic);
+        }
         break;
 
     default:
@@ -6016,12 +7377,15 @@
     symbolTable.relateToOperator("doubleBitsToUint64", EOpDoubleBitsToUint64);
     symbolTable.relateToOperator("int64BitsToDouble",  EOpInt64BitsToDouble);
     symbolTable.relateToOperator("uint64BitsToDouble", EOpUint64BitsToDouble);
-#ifdef AMD_EXTENSIONS
+    symbolTable.relateToOperator("halfBitsToInt16",  EOpFloat16BitsToInt16);
+    symbolTable.relateToOperator("halfBitsToUint16", EOpFloat16BitsToUint16);
     symbolTable.relateToOperator("float16BitsToInt16",  EOpFloat16BitsToInt16);
     symbolTable.relateToOperator("float16BitsToUint16", EOpFloat16BitsToUint16);
     symbolTable.relateToOperator("int16BitsToFloat16",  EOpInt16BitsToFloat16);
     symbolTable.relateToOperator("uint16BitsToFloat16", EOpUint16BitsToFloat16);
-#endif
+
+    symbolTable.relateToOperator("int16BitsToHalf",  EOpInt16BitsToFloat16);
+    symbolTable.relateToOperator("uint16BitsToHalf", EOpUint16BitsToFloat16);
 
     symbolTable.relateToOperator("packSnorm2x16",   EOpPackSnorm2x16);
     symbolTable.relateToOperator("unpackSnorm2x16", EOpUnpackSnorm2x16);
@@ -6044,7 +7408,6 @@
     symbolTable.relateToOperator("packUint2x32",    EOpPackUint2x32);
     symbolTable.relateToOperator("unpackUint2x32",  EOpUnpackUint2x32);
 
-#ifdef AMD_EXTENSIONS
     symbolTable.relateToOperator("packInt2x16",     EOpPackInt2x16);
     symbolTable.relateToOperator("unpackInt2x16",   EOpUnpackInt2x16);
     symbolTable.relateToOperator("packUint2x16",    EOpPackUint2x16);
@@ -6054,10 +7417,16 @@
     symbolTable.relateToOperator("unpackInt4x16",   EOpUnpackInt4x16);
     symbolTable.relateToOperator("packUint4x16",    EOpPackUint4x16);
     symbolTable.relateToOperator("unpackUint4x16",  EOpUnpackUint4x16);
-
     symbolTable.relateToOperator("packFloat2x16",   EOpPackFloat2x16);
     symbolTable.relateToOperator("unpackFloat2x16", EOpUnpackFloat2x16);
-#endif
+
+    symbolTable.relateToOperator("pack16",          EOpPack16);
+    symbolTable.relateToOperator("pack32",          EOpPack32);
+    symbolTable.relateToOperator("pack64",          EOpPack64);
+
+    symbolTable.relateToOperator("unpack32",        EOpUnpack32);
+    symbolTable.relateToOperator("unpack16",        EOpUnpack16);
+    symbolTable.relateToOperator("unpack8",         EOpUnpack8);
 
     symbolTable.relateToOperator("length",       EOpLength);
     symbolTable.relateToOperator("distance",     EOpDistance);
@@ -6301,6 +7670,65 @@
             symbolTable.relateToOperator("fragmentFetchAMD",                    EOpFragmentFetch);
 #endif
         }
+
+        // GL_KHR_shader_subgroup
+        if (spvVersion.vulkan >= 100) {
+            symbolTable.relateToOperator("subgroupBarrier",                 EOpSubgroupBarrier);
+            symbolTable.relateToOperator("subgroupMemoryBarrier",           EOpSubgroupMemoryBarrier);
+            symbolTable.relateToOperator("subgroupMemoryBarrierBuffer",     EOpSubgroupMemoryBarrierBuffer);
+            symbolTable.relateToOperator("subgroupMemoryBarrierImage",      EOpSubgroupMemoryBarrierImage);
+            symbolTable.relateToOperator("subgroupElect",                   EOpSubgroupElect);
+            symbolTable.relateToOperator("subgroupAll",                     EOpSubgroupAll);
+            symbolTable.relateToOperator("subgroupAny",                     EOpSubgroupAny);
+            symbolTable.relateToOperator("subgroupAllEqual",                EOpSubgroupAllEqual);
+            symbolTable.relateToOperator("subgroupBroadcast",               EOpSubgroupBroadcast);
+            symbolTable.relateToOperator("subgroupBroadcastFirst",          EOpSubgroupBroadcastFirst);
+            symbolTable.relateToOperator("subgroupBallot",                  EOpSubgroupBallot);
+            symbolTable.relateToOperator("subgroupInverseBallot",           EOpSubgroupInverseBallot);
+            symbolTable.relateToOperator("subgroupBallotBitExtract",        EOpSubgroupBallotBitExtract);
+            symbolTable.relateToOperator("subgroupBallotBitCount",          EOpSubgroupBallotBitCount);
+            symbolTable.relateToOperator("subgroupBallotInclusiveBitCount", EOpSubgroupBallotInclusiveBitCount);
+            symbolTable.relateToOperator("subgroupBallotExclusiveBitCount", EOpSubgroupBallotExclusiveBitCount);
+            symbolTable.relateToOperator("subgroupBallotFindLSB",           EOpSubgroupBallotFindLSB);
+            symbolTable.relateToOperator("subgroupBallotFindMSB",           EOpSubgroupBallotFindMSB);
+            symbolTable.relateToOperator("subgroupShuffle",                 EOpSubgroupShuffle);
+            symbolTable.relateToOperator("subgroupShuffleXor",              EOpSubgroupShuffleXor);
+            symbolTable.relateToOperator("subgroupShuffleUp",               EOpSubgroupShuffleUp);
+            symbolTable.relateToOperator("subgroupShuffleDown",             EOpSubgroupShuffleDown);
+            symbolTable.relateToOperator("subgroupAdd",                     EOpSubgroupAdd);
+            symbolTable.relateToOperator("subgroupMul",                     EOpSubgroupMul);
+            symbolTable.relateToOperator("subgroupMin",                     EOpSubgroupMin);
+            symbolTable.relateToOperator("subgroupMax",                     EOpSubgroupMax);
+            symbolTable.relateToOperator("subgroupAnd",                     EOpSubgroupAnd);
+            symbolTable.relateToOperator("subgroupOr",                      EOpSubgroupOr);
+            symbolTable.relateToOperator("subgroupXor",                     EOpSubgroupXor);
+            symbolTable.relateToOperator("subgroupInclusiveAdd",            EOpSubgroupInclusiveAdd);
+            symbolTable.relateToOperator("subgroupInclusiveMul",            EOpSubgroupInclusiveMul);
+            symbolTable.relateToOperator("subgroupInclusiveMin",            EOpSubgroupInclusiveMin);
+            symbolTable.relateToOperator("subgroupInclusiveMax",            EOpSubgroupInclusiveMax);
+            symbolTable.relateToOperator("subgroupInclusiveAnd",            EOpSubgroupInclusiveAnd);
+            symbolTable.relateToOperator("subgroupInclusiveOr",             EOpSubgroupInclusiveOr);
+            symbolTable.relateToOperator("subgroupInclusiveXor",            EOpSubgroupInclusiveXor);
+            symbolTable.relateToOperator("subgroupExclusiveAdd",            EOpSubgroupExclusiveAdd);
+            symbolTable.relateToOperator("subgroupExclusiveMul",            EOpSubgroupExclusiveMul);
+            symbolTable.relateToOperator("subgroupExclusiveMin",            EOpSubgroupExclusiveMin);
+            symbolTable.relateToOperator("subgroupExclusiveMax",            EOpSubgroupExclusiveMax);
+            symbolTable.relateToOperator("subgroupExclusiveAnd",            EOpSubgroupExclusiveAnd);
+            symbolTable.relateToOperator("subgroupExclusiveOr",             EOpSubgroupExclusiveOr);
+            symbolTable.relateToOperator("subgroupExclusiveXor",            EOpSubgroupExclusiveXor);
+            symbolTable.relateToOperator("subgroupClusteredAdd",            EOpSubgroupClusteredAdd);
+            symbolTable.relateToOperator("subgroupClusteredMul",            EOpSubgroupClusteredMul);
+            symbolTable.relateToOperator("subgroupClusteredMin",            EOpSubgroupClusteredMin);
+            symbolTable.relateToOperator("subgroupClusteredMax",            EOpSubgroupClusteredMax);
+            symbolTable.relateToOperator("subgroupClusteredAnd",            EOpSubgroupClusteredAnd);
+            symbolTable.relateToOperator("subgroupClusteredOr",             EOpSubgroupClusteredOr);
+            symbolTable.relateToOperator("subgroupClusteredXor",            EOpSubgroupClusteredXor);
+            symbolTable.relateToOperator("subgroupQuadBroadcast",           EOpSubgroupQuadBroadcast);
+            symbolTable.relateToOperator("subgroupQuadSwapHorizontal",      EOpSubgroupQuadSwapHorizontal);
+            symbolTable.relateToOperator("subgroupQuadSwapVertical",        EOpSubgroupQuadSwapVertical);
+            symbolTable.relateToOperator("subgroupQuadSwapDiagonal",        EOpSubgroupQuadSwapDiagonal);
+        }
+
         if (profile == EEsProfile) {
             symbolTable.relateToOperator("shadow2DEXT",              EOpTexture);
             symbolTable.relateToOperator("shadow2DProjEXT",          EOpTextureProj);
@@ -6345,8 +7773,9 @@
 #endif
 
     case EShLangCompute:
-        symbolTable.relateToOperator("memoryBarrierShared",     EOpMemoryBarrierShared);
-        symbolTable.relateToOperator("groupMemoryBarrier",      EOpGroupMemoryBarrier);
+        symbolTable.relateToOperator("memoryBarrierShared",         EOpMemoryBarrierShared);
+        symbolTable.relateToOperator("groupMemoryBarrier",          EOpGroupMemoryBarrier);
+        symbolTable.relateToOperator("subgroupMemoryBarrierShared", EOpSubgroupMemoryBarrierShared);
         break;
 
     default:
diff --git a/glslang/MachineIndependent/Initialize.h b/glslang/MachineIndependent/Initialize.h
index 6b54c4d..b5de324 100644
--- a/glslang/MachineIndependent/Initialize.h
+++ b/glslang/MachineIndependent/Initialize.h
@@ -67,7 +67,6 @@
     virtual const TString& getStageString(EShLanguage language) const { return stageBuiltins[language]; }
 
     virtual void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable) = 0;
-
     virtual void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources) = 0;
 
 protected:
@@ -89,7 +88,6 @@
     void initialize(const TBuiltInResource& resources, int version, EProfile, const SpvVersion& spvVersion, EShLanguage);
 
     void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable);
-
     void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources);
 
 protected:
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index 04a45e0..80d5be9 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -2,6 +2,7 @@
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2015 LunarG, Inc.
 // Copyright (C) 2015-2016 Google, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -118,16 +119,12 @@
         return nullptr;
 
     // Try converting the children's base types to compatible types.
-    TIntermTyped* child = addConversion(op, left->getType(), right);
-    if (child)
-        right = child;
-    else {
-        child = addConversion(op, right->getType(), left);
-        if (child)
-            left = child;
-        else
-            return nullptr;
-    }
+    auto children = addConversion(op, left, right);
+    left = std::get<0>(children);
+    right = std::get<1>(children);
+
+    if (left == nullptr || right == nullptr)
+        return nullptr;
 
     // Convert the children's type shape to be compatible.
     addBiShapeConversion(op, left, right);
@@ -304,20 +301,18 @@
     //
     TBasicType newType = EbtVoid;
     switch (op) {
+    case EOpConstructInt8:   newType = EbtInt8;   break;
+    case EOpConstructUint8:  newType = EbtUint8;  break;
+    case EOpConstructInt16:  newType = EbtInt16;    break;
+    case EOpConstructUint16: newType = EbtUint16;   break;
     case EOpConstructInt:    newType = EbtInt;    break;
     case EOpConstructUint:   newType = EbtUint;   break;
     case EOpConstructInt64:  newType = EbtInt64;  break;
     case EOpConstructUint64: newType = EbtUint64; break;
-#ifdef AMD_EXTENSIONS
-    case EOpConstructInt16:  newType = EbtInt16;  break;
-    case EOpConstructUint16: newType = EbtUint16; break;
-#endif
     case EOpConstructBool:   newType = EbtBool;   break;
     case EOpConstructFloat:  newType = EbtFloat;  break;
     case EOpConstructDouble: newType = EbtDouble; break;
-#ifdef AMD_EXTENSIONS
     case EOpConstructFloat16: newType = EbtFloat16; break;
-#endif
     default: break; // some compilers want this
     }
 
@@ -336,20 +331,18 @@
     // TODO: but, did this bypass constant folding?
     //
     switch (op) {
+    case EOpConstructInt8:
+    case EOpConstructUint8:
+    case EOpConstructInt16:
+    case EOpConstructUint16:
     case EOpConstructInt:
     case EOpConstructUint:
     case EOpConstructInt64:
     case EOpConstructUint64:
-#ifdef AMD_EXTENSIONS
-    case EOpConstructInt16:
-    case EOpConstructUint16:
-#endif
     case EOpConstructBool:
     case EOpConstructFloat:
     case EOpConstructDouble:
-#ifdef AMD_EXTENSIONS
     case EOpConstructFloat16:
-#endif
         return child;
     default: break; // some compilers want this
     }
@@ -446,27 +439,14 @@
     return fold(aggNode);
 }
 
-//
-// Convert the node's type to the given type, as allowed by the operation involved: 'op'.
-// For implicit conversions, 'op' is not the requested conversion, it is the explicit
-// operation requiring the implicit conversion.
-//
-// Returns a node representing the conversion, which could be the same
-// node passed in if no conversion was needed.
-//
-// Generally, this is focused on basic type conversion, not shape conversion.
-// See addShapeConversion().
-//
-// Return nullptr if a conversion can't be done.
-//
-TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TIntermTyped* node) const
+bool TIntermediate::isConversionAllowed(TOperator op, TIntermTyped* node) const
 {
     //
     // Does the base type even allow the operation?
     //
     switch (node->getBasicType()) {
     case EbtVoid:
-        return nullptr;
+        return false;
     case EbtAtomicUint:
     case EbtSampler:
         // opaque types can be passed to functions
@@ -484,11 +464,422 @@
             break;
 
         // otherwise, opaque types can't even be operated on, let alone converted
-        return nullptr;
+        return false;
     default:
         break;
     }
 
+    return true;
+}
+
+// This is 'mechanism' here, it does any conversion told.
+// It is about basic type, not about shape.
+// The policy comes from the shader or the above code.
+TIntermUnary* TIntermediate::createConversion(TBasicType convertTo, TIntermTyped* node) const
+{
+    //
+    // Add a new newNode for the conversion.
+    //
+    TIntermUnary* newNode = nullptr;
+
+    TOperator newOp = EOpNull;
+
+    switch (convertTo) {
+    case EbtDouble:
+        switch (node->getBasicType()) {
+        case EbtInt8:  newOp = EOpConvInt8ToDouble;  break;
+        case EbtUint8: newOp = EOpConvUint8ToDouble; break;
+        case EbtInt16: newOp = EOpConvInt16ToDouble; break;
+        case EbtUint16:newOp = EOpConvUint16ToDouble;break;
+        case EbtInt:   newOp = EOpConvIntToDouble;   break;
+        case EbtUint:  newOp = EOpConvUintToDouble;  break;
+        case EbtBool:  newOp = EOpConvBoolToDouble;  break;
+        case EbtFloat: newOp = EOpConvFloatToDouble; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToDouble; break;
+        case EbtInt64: newOp = EOpConvInt64ToDouble; break;
+        case EbtUint64: newOp = EOpConvUint64ToDouble; break;
+        default:
+            return nullptr;
+        }
+        break;
+    case EbtFloat:
+        switch (node->getBasicType()) {
+        case EbtInt8:   newOp = EOpConvInt8ToFloat;    break;
+        case EbtUint8:  newOp = EOpConvUint8ToFloat;   break;
+        case EbtInt16:  newOp = EOpConvInt16ToFloat;    break;
+        case EbtUint16: newOp = EOpConvUint16ToFloat;   break;
+        case EbtInt:    newOp = EOpConvIntToFloat;    break;
+        case EbtUint:   newOp = EOpConvUintToFloat;   break;
+        case EbtBool:   newOp = EOpConvBoolToFloat;   break;
+        case EbtDouble: newOp = EOpConvDoubleToFloat; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToFloat; break;
+        case EbtInt64:  newOp = EOpConvInt64ToFloat;  break;
+        case EbtUint64: newOp = EOpConvUint64ToFloat; break;
+        default:
+            return nullptr;
+        }
+        break;
+    case EbtFloat16:
+        switch (node->getBasicType()) {
+        case EbtInt8:   newOp = EOpConvInt8ToFloat16;    break;
+        case EbtUint8:  newOp = EOpConvUint8ToFloat16;   break;
+        case EbtInt16:  newOp = EOpConvInt16ToFloat16;    break;
+        case EbtUint16: newOp = EOpConvUint16ToFloat16;   break;
+        case EbtInt:    newOp = EOpConvIntToFloat16;    break;
+        case EbtUint:   newOp = EOpConvUintToFloat16;   break;
+        case EbtBool:   newOp = EOpConvBoolToFloat16;   break;
+        case EbtFloat:  newOp = EOpConvFloatToFloat16;  break;
+        case EbtDouble: newOp = EOpConvDoubleToFloat16; break;
+        case EbtInt64:  newOp = EOpConvInt64ToFloat16;  break;
+        case EbtUint64: newOp = EOpConvUint64ToFloat16; break;
+        default:
+            return nullptr;
+        }
+        break;
+    case EbtBool:
+        switch (node->getBasicType()) {
+        case EbtInt8:   newOp = EOpConvInt8ToBool;   break;
+        case EbtUint8:  newOp = EOpConvUint8ToBool;  break;
+        case EbtInt16:  newOp = EOpConvInt16ToBool;  break;
+        case EbtUint16: newOp = EOpConvUint16ToBool; break;
+        case EbtInt:    newOp = EOpConvIntToBool;    break;
+        case EbtUint:   newOp = EOpConvUintToBool;   break;
+        case EbtFloat:  newOp = EOpConvFloatToBool;  break;
+        case EbtDouble: newOp = EOpConvDoubleToBool; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToBool; break;
+        case EbtInt64:  newOp = EOpConvInt64ToBool;  break;
+        case EbtUint64: newOp = EOpConvUint64ToBool; break;
+        default:
+            return nullptr;
+        }
+        break;
+    case EbtInt8:
+        switch (node->getBasicType()) {
+        case EbtUint8:  newOp = EOpConvUint8ToInt8;   break;
+        case EbtInt16:  newOp = EOpConvInt16ToInt8;   break;
+        case EbtUint16: newOp = EOpConvUint16ToInt8;  break;
+        case EbtInt:    newOp = EOpConvIntToInt8;   break;
+        case EbtUint:   newOp = EOpConvUintToInt8;   break;
+        case EbtInt64:  newOp = EOpConvInt64ToInt8;  break;
+        case EbtUint64: newOp = EOpConvUint64ToInt8; break;
+        case EbtBool:   newOp = EOpConvBoolToInt8;   break;
+        case EbtFloat:  newOp = EOpConvFloatToInt8;  break;
+        case EbtDouble: newOp = EOpConvDoubleToInt8; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToInt8; break;
+        default:
+            return nullptr;
+        }
+        break;
+    case EbtUint8:
+        switch (node->getBasicType()) {
+        case EbtInt8:   newOp = EOpConvInt8ToUint8;   break;
+        case EbtInt16:  newOp = EOpConvInt16ToUint8;  break;
+        case EbtUint16: newOp = EOpConvUint16ToUint8; break;
+        case EbtInt:    newOp = EOpConvIntToUint8;    break;
+        case EbtUint:   newOp = EOpConvUintToUint8;   break;
+        case EbtInt64:  newOp = EOpConvInt64ToUint8;  break;
+        case EbtUint64: newOp = EOpConvUint64ToUint8; break;
+        case EbtBool:   newOp = EOpConvBoolToUint8;   break;
+        case EbtFloat:  newOp = EOpConvFloatToUint8;  break;
+        case EbtDouble: newOp = EOpConvDoubleToUint8; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToUint8; break;
+        default:
+            return nullptr;
+        }
+        break;
+
+    case EbtInt16:
+        switch (node->getBasicType()) {
+        case EbtUint8:  newOp = EOpConvUint8ToInt16;   break;
+        case EbtInt8:   newOp = EOpConvInt8ToInt16;   break;
+        case EbtUint16: newOp = EOpConvUint16ToInt16;  break;
+        case EbtInt:    newOp = EOpConvIntToInt16;   break;
+        case EbtUint:   newOp = EOpConvUintToInt16;   break;
+        case EbtInt64:  newOp = EOpConvInt64ToInt16;  break;
+        case EbtUint64: newOp = EOpConvUint64ToInt16; break;
+        case EbtBool:   newOp = EOpConvBoolToInt16;   break;
+        case EbtFloat:  newOp = EOpConvFloatToInt16;  break;
+        case EbtDouble: newOp = EOpConvDoubleToInt16; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToInt16; break;
+        default:
+            return nullptr;
+        }
+        break;
+    case EbtUint16:
+        switch (node->getBasicType()) {
+        case EbtInt8:   newOp = EOpConvInt8ToUint16;   break;
+        case EbtUint8:  newOp = EOpConvUint8ToUint16;  break;
+        case EbtInt16:  newOp = EOpConvInt16ToUint16; break;
+        case EbtInt:    newOp = EOpConvIntToUint16;    break;
+        case EbtUint:   newOp = EOpConvUintToUint16;   break;
+        case EbtInt64:  newOp = EOpConvInt64ToUint16;  break;
+        case EbtUint64: newOp = EOpConvUint64ToUint16; break;
+        case EbtBool:   newOp = EOpConvBoolToUint16;   break;
+        case EbtFloat:  newOp = EOpConvFloatToUint16;  break;
+        case EbtDouble: newOp = EOpConvDoubleToUint16; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToUint16; break;
+        default:
+            return nullptr;
+        }
+        break;
+
+    case EbtInt:
+        switch (node->getBasicType()) {
+        case EbtInt8:   newOp = EOpConvInt8ToInt;    break;
+        case EbtUint8:  newOp = EOpConvUint8ToInt;   break;
+        case EbtInt16:  newOp = EOpConvInt16ToInt;   break;
+        case EbtUint16: newOp = EOpConvUint16ToInt;  break;
+        case EbtUint:   newOp = EOpConvUintToInt;   break;
+        case EbtBool:   newOp = EOpConvBoolToInt;   break;
+        case EbtFloat:  newOp = EOpConvFloatToInt;  break;
+        case EbtDouble: newOp = EOpConvDoubleToInt; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToInt; break;
+        case EbtInt64:  newOp = EOpConvInt64ToInt;  break;
+        case EbtUint64: newOp = EOpConvUint64ToInt; break;
+        default:
+            return nullptr;
+        }
+        break;
+    case EbtUint:
+        switch (node->getBasicType()) {
+        case EbtInt8:   newOp = EOpConvInt8ToUint;   break;
+        case EbtUint8:  newOp = EOpConvUint8ToUint;  break;
+        case EbtInt16:  newOp = EOpConvInt16ToUint;  break;
+        case EbtUint16: newOp = EOpConvUint16ToUint; break;
+        case EbtInt:    newOp = EOpConvIntToUint;    break;
+        case EbtBool:   newOp = EOpConvBoolToUint;   break;
+        case EbtFloat:  newOp = EOpConvFloatToUint;  break;
+        case EbtDouble: newOp = EOpConvDoubleToUint; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToUint; break;
+        case EbtInt64:  newOp = EOpConvInt64ToUint;  break;
+        case EbtUint64: newOp = EOpConvUint64ToUint; break;
+        default:
+            return nullptr;
+        }
+        break;
+    case EbtInt64:
+        switch (node->getBasicType()) {
+        case EbtInt8:   newOp = EOpConvInt8ToInt64;   break;
+        case EbtUint8:  newOp = EOpConvUint8ToInt64;  break;
+        case EbtInt16:  newOp = EOpConvInt16ToInt64;  break;
+        case EbtUint16: newOp = EOpConvUint16ToInt64; break;
+        case EbtInt:    newOp = EOpConvIntToInt64;    break;
+        case EbtUint:   newOp = EOpConvUintToInt64;   break;
+        case EbtBool:   newOp = EOpConvBoolToInt64;   break;
+        case EbtFloat:  newOp = EOpConvFloatToInt64;  break;
+        case EbtDouble: newOp = EOpConvDoubleToInt64; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToInt64; break;
+        case EbtUint64: newOp = EOpConvUint64ToInt64; break;
+        default:
+            return nullptr;
+        }
+        break;
+    case EbtUint64:
+        switch (node->getBasicType()) {
+        case EbtInt8:   newOp = EOpConvInt8ToUint64;   break;
+        case EbtUint8:  newOp = EOpConvUint8ToUint64;  break;
+        case EbtInt16:  newOp = EOpConvInt16ToUint64;  break;
+        case EbtUint16: newOp = EOpConvUint16ToUint64; break;
+        case EbtInt:    newOp = EOpConvIntToUint64;    break;
+        case EbtUint:   newOp = EOpConvUintToUint64;   break;
+        case EbtBool:   newOp = EOpConvBoolToUint64;   break;
+        case EbtFloat:  newOp = EOpConvFloatToUint64;  break;
+        case EbtDouble: newOp = EOpConvDoubleToUint64; break;
+        case EbtFloat16: newOp = EOpConvFloat16ToUint64; break;
+        case EbtInt64:  newOp = EOpConvInt64ToUint64;  break;
+        default:
+            return nullptr;
+        }
+        break;
+    default:
+        return nullptr;
+    }
+
+    TType newType(convertTo, EvqTemporary, node->getVectorSize(), node->getMatrixCols(), node->getMatrixRows());
+    newNode = addUnaryNode(newOp, node, node->getLoc(), newType);
+
+    // TODO: it seems that some unary folding operations should occur here, but are not
+
+    // Propagate specialization-constant-ness, if allowed
+    if (node->getType().getQualifier().isSpecConstant() && isSpecializationOperation(*newNode))
+        newNode->getWritableType().getQualifier().makeSpecConstant();
+
+    // TODO: it seems that some unary folding operations should occur here, but are not
+
+    // Propagate specialization-constant-ness, if allowed
+    if (node->getType().getQualifier().isSpecConstant() && isSpecializationOperation(*newNode))
+        newNode->getWritableType().getQualifier().makeSpecConstant();
+
+    return newNode;
+}
+
+std::tuple<TIntermTyped*, TIntermTyped*>
+TIntermediate::addConversion(TOperator op, TIntermTyped* node0, TIntermTyped* node1) const
+{
+    if (!isConversionAllowed(op, node0) || !isConversionAllowed(op, node1)) {
+        return std::make_tuple(nullptr, nullptr);
+    }
+
+    // If types are identical, no problem
+    if (node0->getType() == node1->getType())
+        return std::make_tuple(node0, node1);
+
+    // If one's a structure, then no conversions.
+    if (node0->isStruct() || node1->isStruct())
+        return std::make_tuple(nullptr, nullptr);
+
+    // If one's an array, then no conversions.
+    if (node0->getType().isArray() || node1->getType().isArray())
+        return std::make_tuple(nullptr, nullptr);
+
+    auto promoteTo = std::make_tuple(EbtNumTypes, EbtNumTypes);
+
+    TBasicType type0 = node0->getType().getBasicType();
+    TBasicType type1 = node1->getType().getBasicType();
+
+    switch (op) {
+    //
+    // List all the binary ops that can implicitly convert one operand to the other's type;
+    // This implements the 'policy' for implicit type conversion.
+    //
+    case EOpLessThan:
+    case EOpGreaterThan:
+    case EOpLessThanEqual:
+    case EOpGreaterThanEqual:
+    case EOpEqual:
+    case EOpNotEqual:
+
+    case EOpAdd:
+    case EOpSub:
+    case EOpMul:
+    case EOpDiv:
+    case EOpMod:
+
+    case EOpVectorTimesScalar:
+    case EOpVectorTimesMatrix:
+    case EOpMatrixTimesVector:
+    case EOpMatrixTimesScalar:
+
+    case EOpAnd:
+    case EOpInclusiveOr:
+    case EOpExclusiveOr:
+    case EOpAndAssign:
+    case EOpInclusiveOrAssign:
+    case EOpExclusiveOrAssign:
+    case EOpLogicalNot:
+    case EOpLogicalAnd:
+    case EOpLogicalOr:
+    case EOpLogicalXor:
+
+    case EOpFunctionCall:
+    case EOpReturn:
+    case EOpAssign:
+    case EOpAddAssign:
+    case EOpSubAssign:
+    case EOpMulAssign:
+    case EOpVectorTimesScalarAssign:
+    case EOpMatrixTimesScalarAssign:
+    case EOpDivAssign:
+    case EOpModAssign:
+
+    case EOpAtan:
+    case EOpClamp:
+    case EOpCross:
+    case EOpDistance:
+    case EOpDot:
+    case EOpDst:
+    case EOpFaceForward:
+    case EOpFma:
+    case EOpFrexp:
+    case EOpLdexp:
+    case EOpMix:
+    case EOpLit:
+    case EOpMax:
+    case EOpMin:
+    case EOpModf:
+    case EOpPow:
+    case EOpReflect:
+    case EOpRefract:
+    case EOpSmoothStep:
+    case EOpStep:
+
+    case EOpSequence:
+    case EOpConstructStruct:
+
+        if (type0 == type1)
+            return std::make_tuple(node0, node1);
+
+        promoteTo = getConversionDestinatonType(type0, type1, op);
+        if (std::get<0>(promoteTo) == EbtNumTypes || std::get<1>(promoteTo) == EbtNumTypes)
+            return std::make_tuple(nullptr, nullptr);
+
+        break;
+
+    // Shifts can have mixed types as long as they are integer and of the same rank,
+    // without converting.
+    // It's the left operand's type that determines the resulting type, so no issue
+    // with assign shift ops either.
+    case EOpLeftShift:
+    case EOpRightShift:
+    case EOpLeftShiftAssign:
+    case EOpRightShiftAssign:
+
+        if (isTypeInt(type0) && isTypeInt(type1)) {
+            if (getTypeRank(type0) == getTypeRank(type1)) {
+                return std::make_tuple(node0, node1);
+            } else {
+                promoteTo = getConversionDestinatonType(type0, type1, op);
+                if (std::get<0>(promoteTo) == EbtNumTypes || std::get<1>(promoteTo) == EbtNumTypes)
+                    return std::make_tuple(nullptr, nullptr);
+            }
+        } else
+            return std::make_tuple(nullptr, nullptr);
+        break;
+
+    default:
+        return std::make_tuple(nullptr, nullptr);
+    }
+
+    TIntermTyped* newNode0;
+    TIntermTyped* newNode1;
+
+    if (std::get<0>(promoteTo) != node0->getType().getBasicType()) {
+        if (node0->getAsConstantUnion())
+            newNode0 = promoteConstantUnion(std::get<0>(promoteTo), node0->getAsConstantUnion());
+        else
+            newNode0 = createConversion(std::get<0>(promoteTo), node0);
+    } else
+        newNode0 = node0;
+
+    if (std::get<1>(promoteTo) != node1->getType().getBasicType()) {
+        if (node1->getAsConstantUnion())
+            newNode1 = promoteConstantUnion(std::get<1>(promoteTo), node1->getAsConstantUnion());
+        else
+            newNode1 = createConversion(std::get<1>(promoteTo), node1);
+    } else
+        newNode1 = node1;
+
+    return std::make_tuple(newNode0, newNode1);
+}
+
+//
+// Convert the node's type to the given type, as allowed by the operation involved: 'op'.
+// For implicit conversions, 'op' is not the requested conversion, it is the explicit
+// operation requiring the implicit conversion.
+//
+// Returns a node representing the conversion, which could be the same
+// node passed in if no conversion was needed.
+//
+// Generally, this is focused on basic type conversion, not shape conversion.
+// See addShapeConversion().
+//
+// Return nullptr if a conversion can't be done.
+//
+TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TIntermTyped* node) const
+{
+    if (!isConversionAllowed(op, node))
+        return nullptr;
+
     // Otherwise, if types are identical, no problem
     if (type == node->getType())
         return node;
@@ -519,11 +910,21 @@
     case EOpConstructDouble:
         promoteTo = EbtDouble;
         break;
-#ifdef AMD_EXTENSIONS
     case EOpConstructFloat16:
         promoteTo = EbtFloat16;
         break;
-#endif
+    case EOpConstructInt8:
+        promoteTo = EbtInt8;
+        break;
+    case EOpConstructUint8:
+        promoteTo = EbtUint8;
+        break;
+    case EOpConstructInt16:
+        promoteTo = EbtInt16;
+        break;
+    case EOpConstructUint16:
+        promoteTo = EbtUint16;
+        break;
     case EOpConstructInt:
         promoteTo = EbtInt;
         break;
@@ -536,14 +937,6 @@
     case EOpConstructUint64:
         promoteTo = EbtUint64;
         break;
-#ifdef AMD_EXTENSIONS
-    case EOpConstructInt16:
-        promoteTo = EbtInt16;
-        break;
-    case EOpConstructUint16:
-        promoteTo = EbtUint16;
-        break;
-#endif
 
     //
     // List all the binary ops that can implicitly convert one operand to the other's type;
@@ -619,40 +1012,38 @@
         if (canImplicitlyPromote(node->getType().getBasicType(), type.getBasicType(), op))
             promoteTo = type.getBasicType();
         else
-            return nullptr;
-
+           return nullptr;
         break;
 
-    // Shifts can have mixed types as long as they are integer, without converting.
+    // Shifts can have mixed types as long as they are integer and of the same rank,
+    // without converting.
     // It's the left operand's type that determines the resulting type, so no issue
     // with assign shift ops either.
     case EOpLeftShift:
     case EOpRightShift:
     case EOpLeftShiftAssign:
     case EOpRightShiftAssign:
-        if ((type.getBasicType() == EbtInt ||
-             type.getBasicType() == EbtUint ||
-#ifdef AMD_EXTENSIONS
-             type.getBasicType() == EbtInt16 ||
-             type.getBasicType() == EbtUint16 ||
-#endif
-             type.getBasicType() == EbtInt64 ||
-             type.getBasicType() == EbtUint64) &&
-            (node->getType().getBasicType() == EbtInt ||
-             node->getType().getBasicType() == EbtUint ||
-#ifdef AMD_EXTENSIONS
-             node->getType().getBasicType() == EbtInt16 ||
-             node->getType().getBasicType() == EbtUint16 ||
-#endif
-             node->getType().getBasicType() == EbtInt64 ||
-             node->getType().getBasicType() == EbtUint64))
+    {
+        TBasicType type0 = type.getBasicType();
+        TBasicType type1 = node->getType().getBasicType();
 
-            return node;
-        else if (source == EShSourceHlsl && node->getType().getBasicType() == EbtBool) {
-            promoteTo = type.getBasicType();
-            break;
-        } else
-            return nullptr;
+        if (source == EShSourceHlsl && node->getType().getBasicType() == EbtBool) {
+            promoteTo = type0;            
+        } else {
+            if (isTypeInt(type0) && isTypeInt(type1)) {
+                if (getTypeRank(type0) == getTypeRank(type1)) {
+                    return node;
+                } else {
+                    if (canImplicitlyPromote(type1, type0, op))
+                        promoteTo = type0;
+                    else
+                        return nullptr;
+                }
+            } else
+                return nullptr;
+        }
+        break;
+    }
 
     default:
         // default is to require a match; all exceptions should have case statements above
@@ -669,207 +1060,7 @@
     //
     // Add a new newNode for the conversion.
     //
-    TIntermUnary* newNode = nullptr;
-
-    TOperator newOp = EOpNull;
-
-    // This is 'mechanism' here, it does any conversion told.  The policy comes
-    // from the shader or the above code.
-    switch (promoteTo) {
-    case EbtDouble:
-        switch (node->getBasicType()) {
-        case EbtInt:   newOp = EOpConvIntToDouble;   break;
-        case EbtUint:  newOp = EOpConvUintToDouble;  break;
-        case EbtBool:  newOp = EOpConvBoolToDouble;  break;
-        case EbtFloat: newOp = EOpConvFloatToDouble; break;
-#ifdef AMD_EXTENSIONS
-        case EbtFloat16: newOp = EOpConvFloat16ToDouble; break;
-#endif
-        case EbtInt64: newOp = EOpConvInt64ToDouble; break;
-        case EbtUint64: newOp = EOpConvUint64ToDouble; break;
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:  newOp = EOpConvInt16ToDouble;  break;
-        case EbtUint16: newOp = EOpConvUint16ToDouble; break;
-#endif
-        default:
-            return nullptr;
-        }
-        break;
-    case EbtFloat:
-        switch (node->getBasicType()) {
-        case EbtInt:    newOp = EOpConvIntToFloat;    break;
-        case EbtUint:   newOp = EOpConvUintToFloat;   break;
-        case EbtBool:   newOp = EOpConvBoolToFloat;   break;
-        case EbtDouble: newOp = EOpConvDoubleToFloat; break;
-#ifdef AMD_EXTENSIONS
-        case EbtFloat16: newOp = EOpConvFloat16ToFloat; break;
-#endif
-        case EbtInt64:  newOp = EOpConvInt64ToFloat;  break;
-        case EbtUint64: newOp = EOpConvUint64ToFloat; break;
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:  newOp = EOpConvInt16ToFloat;  break;
-        case EbtUint16: newOp = EOpConvUint16ToFloat; break;
-#endif
-        default:
-            return nullptr;
-        }
-        break;
-#ifdef AMD_EXTENSIONS
-    case EbtFloat16:
-        switch (node->getBasicType()) {
-        case EbtInt:    newOp = EOpConvIntToFloat16;    break;
-        case EbtUint:   newOp = EOpConvUintToFloat16;   break;
-        case EbtBool:   newOp = EOpConvBoolToFloat16;   break;
-        case EbtFloat:  newOp = EOpConvFloatToFloat16;  break;
-        case EbtDouble: newOp = EOpConvDoubleToFloat16; break;
-        case EbtInt64:  newOp = EOpConvInt64ToFloat16;  break;
-        case EbtUint64: newOp = EOpConvUint64ToFloat16; break;
-        case EbtInt16:  newOp = EOpConvInt16ToFloat16;  break;
-        case EbtUint16: newOp = EOpConvUint16ToFloat16; break;
-        default:
-            return nullptr;
-        }
-        break;
-#endif
-    case EbtBool:
-        switch (node->getBasicType()) {
-        case EbtInt:    newOp = EOpConvIntToBool;    break;
-        case EbtUint:   newOp = EOpConvUintToBool;   break;
-        case EbtFloat:  newOp = EOpConvFloatToBool;  break;
-        case EbtDouble: newOp = EOpConvDoubleToBool; break;
-#ifdef AMD_EXTENSIONS
-        case EbtFloat16: newOp = EOpConvFloat16ToBool; break;
-#endif
-        case EbtInt64:  newOp = EOpConvInt64ToBool;  break;
-        case EbtUint64: newOp = EOpConvUint64ToBool; break;
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:  newOp = EOpConvInt16ToBool;  break;
-        case EbtUint16: newOp = EOpConvUint16ToBool; break;
-#endif
-        default:
-            return nullptr;
-        }
-        break;
-    case EbtInt:
-        switch (node->getBasicType()) {
-        case EbtUint:   newOp = EOpConvUintToInt;   break;
-        case EbtBool:   newOp = EOpConvBoolToInt;   break;
-        case EbtFloat:  newOp = EOpConvFloatToInt;  break;
-        case EbtDouble: newOp = EOpConvDoubleToInt; break;
-#ifdef AMD_EXTENSIONS
-        case EbtFloat16: newOp = EOpConvFloat16ToInt; break;
-#endif
-        case EbtInt64:  newOp = EOpConvInt64ToInt;  break;
-        case EbtUint64: newOp = EOpConvUint64ToInt; break;
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:  newOp = EOpConvInt16ToInt;  break;
-        case EbtUint16: newOp = EOpConvUint16ToInt; break;
-#endif
-        default:
-            return nullptr;
-        }
-        break;
-    case EbtUint:
-        switch (node->getBasicType()) {
-        case EbtInt:    newOp = EOpConvIntToUint;    break;
-        case EbtBool:   newOp = EOpConvBoolToUint;   break;
-        case EbtFloat:  newOp = EOpConvFloatToUint;  break;
-        case EbtDouble: newOp = EOpConvDoubleToUint; break;
-#ifdef AMD_EXTENSIONS
-        case EbtFloat16: newOp = EOpConvFloat16ToUint; break;
-#endif
-        case EbtInt64:  newOp = EOpConvInt64ToUint;  break;
-        case EbtUint64: newOp = EOpConvUint64ToUint; break;
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:  newOp = EOpConvInt16ToUint;  break;
-        case EbtUint16: newOp = EOpConvUint16ToUint; break;
-#endif
-        default:
-            return nullptr;
-        }
-        break;
-    case EbtInt64:
-        switch (node->getBasicType()) {
-        case EbtInt:    newOp = EOpConvIntToInt64;    break;
-        case EbtUint:   newOp = EOpConvUintToInt64;   break;
-        case EbtBool:   newOp = EOpConvBoolToInt64;   break;
-        case EbtFloat:  newOp = EOpConvFloatToInt64;  break;
-        case EbtDouble: newOp = EOpConvDoubleToInt64; break;
-#ifdef AMD_EXTENSIONS
-        case EbtFloat16: newOp = EOpConvFloat16ToInt64; break;
-#endif
-        case EbtUint64: newOp = EOpConvUint64ToInt64; break;
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:  newOp = EOpConvInt16ToInt64;  break;
-        case EbtUint16: newOp = EOpConvUint16ToInt64; break;
-#endif
-        default:
-            return nullptr;
-        }
-        break;
-    case EbtUint64:
-        switch (node->getBasicType()) {
-        case EbtInt:    newOp = EOpConvIntToUint64;    break;
-        case EbtUint:   newOp = EOpConvUintToUint64;   break;
-        case EbtBool:   newOp = EOpConvBoolToUint64;   break;
-        case EbtFloat:  newOp = EOpConvFloatToUint64;  break;
-        case EbtDouble: newOp = EOpConvDoubleToUint64; break;
-#ifdef AMD_EXTENSIONS
-        case EbtFloat16: newOp = EOpConvFloat16ToUint64; break;
-#endif
-        case EbtInt64:  newOp = EOpConvInt64ToUint64;  break;
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:  newOp = EOpConvInt16ToUint64;  break;
-        case EbtUint16: newOp = EOpConvUint16ToUint64; break;
-#endif
-        default:
-            return nullptr;
-        }
-        break;
-#ifdef AMD_EXTENSIONS
-    case EbtInt16:
-        switch (node->getBasicType()) {
-        case EbtInt:     newOp = EOpConvIntToInt16;     break;
-        case EbtUint:    newOp = EOpConvUintToInt16;    break;
-        case EbtBool:    newOp = EOpConvBoolToInt16;    break;
-        case EbtFloat:   newOp = EOpConvFloatToInt16;   break;
-        case EbtDouble:  newOp = EOpConvDoubleToInt16;  break;
-        case EbtFloat16: newOp = EOpConvFloat16ToInt16; break;
-        case EbtInt64:   newOp = EOpConvInt64ToInt16;   break;
-        case EbtUint64:  newOp = EOpConvUint64ToInt16;  break;
-        case EbtUint16:  newOp = EOpConvUint16ToInt16;  break;
-        default:
-            return nullptr;
-        }
-        break;
-    case EbtUint16:
-        switch (node->getBasicType()) {
-        case EbtInt:     newOp = EOpConvIntToUint16;     break;
-        case EbtUint:    newOp = EOpConvUintToUint16;    break;
-        case EbtBool:    newOp = EOpConvBoolToUint16;    break;
-        case EbtFloat:   newOp = EOpConvFloatToUint16;   break;
-        case EbtDouble:  newOp = EOpConvDoubleToUint16;  break;
-        case EbtFloat16: newOp = EOpConvFloat16ToUint16; break;
-        case EbtInt64:   newOp = EOpConvInt64ToUint16;   break;
-        case EbtUint64:  newOp = EOpConvUint64ToUint16;  break;
-        case EbtInt16:   newOp = EOpConvInt16ToUint16;   break;
-        default:
-            return nullptr;
-        }
-        break;
-#endif
-    default:
-        return nullptr;
-    }
-
-    TType newType(promoteTo, EvqTemporary, node->getVectorSize(), node->getMatrixCols(), node->getMatrixRows());
-    newNode = addUnaryNode(newOp, node, node->getLoc(), newType);
-
-    // TODO: it seems that some unary folding operations should occur here, but are not
-
-    // Propagate specialization-constant-ness, if allowed
-    if (node->getType().getQualifier().isSpecConstant() && isSpecializationOperation(*newNode))
-        newNode->getWritableType().getQualifier().makeSpecConstant();
+    TIntermUnary* newNode = createConversion(promoteTo, node);
 
     return newNode;
 }
@@ -1019,12 +1210,11 @@
     rhsNode = addShapeConversion(lhsNode->getType(), rhsNode);
 }
 
-// Convert the node's shape of type for the given type. It's not necessarily
-// an error if they are different and not converted, as some operations accept
-// mixed types.  Promotion will do final shape checking.
+// Convert the node's shape of type for the given type, as allowed by the
+// operation involved: 'op'.
 //
-// If there is a chance of two nodes, with conversions possible in each direction,
-// the policy for what to ask for must be in the caller; this will do what is asked.
+// Generally, the AST represents allowed GLSL shapes, so this isn't needed
+// for GLSL.  Bad shapes are caught in conversion or promotion.
 //
 // Return 'node' if no conversion was done. Promotion handles final shape
 // checking.
@@ -1080,6 +1270,165 @@
     return node;
 }
 
+bool TIntermediate::isIntegralPromotion(TBasicType from, TBasicType to) const
+{
+    // integral promotions
+    if (to == EbtInt) {
+        switch(from) {
+        case EbtInt8:
+        case EbtInt16:
+        case EbtUint8:
+        case EbtUint16:
+            return true;
+        default:
+            break;
+        }
+    }
+    return false;
+}
+
+bool TIntermediate::isFPPromotion(TBasicType from, TBasicType to) const
+{
+    // floating-point promotions
+    if (to == EbtDouble) {
+        switch(from) {
+        case EbtFloat16:
+        case EbtFloat:
+            return true;
+        default:
+            break;
+        }
+    }
+    return false;
+}
+
+bool TIntermediate::isIntegralConversion(TBasicType from, TBasicType to) const
+{
+    switch (from) {
+    case EbtInt8:
+        switch (to) {
+        case EbtUint8:
+        case EbtInt16:
+        case EbtUint16:
+        case EbtUint:
+        case EbtInt64:
+        case EbtUint64:
+            return true;
+        default:
+            break;
+        }
+        break;
+    case EbtUint8:
+        switch (to) {
+        case EbtInt16:
+        case EbtUint16:
+        case EbtUint:
+        case EbtInt64:
+        case EbtUint64:
+            return true;
+        default:
+            break;
+        }
+        break;
+    case EbtInt16:
+        switch(to) {
+        case EbtUint16:
+        case EbtUint:
+        case EbtInt64:
+        case EbtUint64:
+            return true;
+        default:
+            break;
+        }
+        break;
+    case EbtUint16:
+        switch(to) {
+        case EbtUint:
+        case EbtInt64:
+        case EbtUint64:
+            return true;
+        default:
+            break;
+        }
+        break;
+    case EbtInt:
+        switch(to) {
+        case EbtUint:
+            return version >= 400 || (source == EShSourceHlsl);
+        case EbtInt64:
+        case EbtUint64:
+            return true;
+        default:
+            break;
+        }
+        break;
+    case EbtUint:
+        switch(to) {
+        case EbtInt64:
+        case EbtUint64:
+            return true;
+        default:
+            break;
+        }
+        break;
+    case EbtInt64:
+        if (to == EbtUint64) {
+            return true;
+        }
+        break;
+    default:
+        break;
+    }
+    return false;
+}
+
+bool TIntermediate::isFPConversion(TBasicType from, TBasicType to) const
+{
+    if (to == EbtFloat && from == EbtFloat16) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+bool TIntermediate::isFPIntegralConversion(TBasicType from, TBasicType to) const
+{
+    switch (from) {
+    case EbtInt8:
+    case EbtUint8:
+    case EbtInt16:
+    case EbtUint16:
+        switch (to) {
+        case EbtFloat16:
+        case EbtFloat:
+        case EbtDouble:
+            return true;
+        default:
+            break;
+        }
+        break;
+    case EbtInt:
+    case EbtUint:
+        switch(to) {
+        case EbtFloat:
+        case EbtDouble:
+            return true;
+        default:
+            break;
+        }
+        break;
+    case EbtInt64:
+    case EbtUint64:
+        if (to == EbtDouble) {
+            return true;
+        }
+        break;
+
+    default:
+        break;
+    }
+    return false;
+}
 //
 // See if the 'from' type is allowed to be implicitly converted to the
 // 'to' type.  This is not about vector/array/struct, only about basic type.
@@ -1125,120 +1474,214 @@
         }
     }
 
-    switch (to) {
-    case EbtDouble:
-        switch (from) {
-        case EbtInt:
+
+    // integral promotions
+    if (isIntegralPromotion(from, to)) {
+        return true;
+    }
+
+    // floating-point promotions
+    if (isFPPromotion(from, to)) {
+        return true;
+    }
+
+    // integral conversions
+    if (isIntegralConversion(from, to)) {
+        return true;
+    }
+
+    // floating-point conversions
+    if (isFPConversion(from, to)) {
+        return true;
+    }
+
+    // floating-integral conversions
+    if (isFPIntegralConversion(from, to)) {
+        return true;
+    }
+
+    // hlsl supported conversions
+    if (source == EShSourceHlsl) {
+        if (from == EbtBool && (to == EbtInt || to == EbtUint || to == EbtFloat))
+            return true;
+    }
+
+    return false;
+}
+
+static bool canSignedIntTypeRepresentAllUnsignedValues(TBasicType sintType, TBasicType uintType) {
+    switch(sintType) {
+    case EbtInt8:
+        switch(uintType) {
+        case EbtUint8:
+        case EbtUint16:
         case EbtUint:
-        case EbtInt64:
         case EbtUint64:
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:
-        case EbtUint16:
-#endif
-        case EbtFloat:
-        case EbtDouble:
-#ifdef AMD_EXTENSIONS
-        case EbtFloat16:
-#endif
-            return true;
+            return false;
         default:
+            assert(false);
             return false;
         }
-    case EbtFloat:
-        switch (from) {
-        case EbtInt:
+        break;
+    case EbtInt16:
+        switch(uintType) {
+        case EbtUint8:
+            return true;
+        case EbtUint16:
         case EbtUint:
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:
-        case EbtUint16:
-#endif
-        case EbtFloat:
-#ifdef AMD_EXTENSIONS
-        case EbtFloat16:
-#endif
-            return true;
-        case EbtBool:
-            return (source == EShSourceHlsl);
+        case EbtUint64:
+            return false;
         default:
+            assert(false);
             return false;
         }
-    case EbtUint:
-        switch (from) {
-        case EbtInt:
-            return version >= 400 || (source == EShSourceHlsl);
-        case EbtUint:
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:
-        case EbtUint16:
-#endif
-            return true;
-        case EbtBool:
-            return (source == EShSourceHlsl);
-        default:
-            return false;
-        }
+        break;
     case EbtInt:
-        switch (from) {
-        case EbtInt:
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:
-#endif
+        switch(uintType) {
+        case EbtUint8:
+        case EbtUint16:
             return true;
-        case EbtBool:
-            return (source == EShSourceHlsl);
-        default:
-            return false;
-        }
-    case EbtUint64:
-        switch (from) {
-        case EbtInt:
         case EbtUint:
-        case EbtInt64:
-        case EbtUint64:
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:
-        case EbtUint16:
-#endif
-            return true;
+            return false;
         default:
+            assert(false);
             return false;
         }
+        break;
     case EbtInt64:
-        switch (from) {
-        case EbtInt:
-        case EbtInt64:
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:
-#endif
-            return true;
-        default:
-            return false;
-        }
-#ifdef AMD_EXTENSIONS
-    case EbtFloat16:
-        switch (from) {
-        case EbtInt16:
+        switch(uintType) {
+        case EbtUint8:
         case EbtUint16:
-        case EbtFloat16:
+        case EbtUint:
             return true;
+        case EbtUint64:
+            return false;
         default:
+            assert(false);
             return false;
         }
-    case EbtUint16:
-        switch (from) {
-        case EbtInt16:
-        case EbtUint16:
-            return true;
-        default:
-            return false;
-        }
-#endif
+        break;
     default:
+        assert(false);
         return false;
     }
 }
 
+
+static TBasicType getCorrespondingUnsignedType(TBasicType type) {
+    switch(type) {
+    case EbtInt8:
+        return EbtUint8;
+    case EbtInt16:
+        return EbtUint16;
+    case EbtInt:
+        return EbtUint;
+    case EbtInt64:
+        return EbtUint64;
+    default:
+        assert(false);
+        return EbtNumTypes;
+    }
+}
+
+// Implements the following rules
+//    - If either operand has type float64_t or derived from float64_t,
+//      the other shall be converted to float64_t or derived type.
+//    - Otherwise, if either operand has type float32_t or derived from
+//      float32_t, the other shall be converted to float32_t or derived type.
+//    - Otherwise, if either operand has type float16_t or derived from
+//      float16_t, the other shall be converted to float16_t or derived type.
+//    - Otherwise, if both operands have integer types the following rules
+//      shall be applied to the operands:
+//      - If both operands have the same type, no further conversion
+//        is needed.
+//      - Otherwise, if both operands have signed integer types or both
+//        have unsigned integer types, the operand with the type of lesser
+//        integer conversion rank shall be converted to the type of the
+//        operand with greater rank.
+//      - Otherwise, if the operand that has unsigned integer type has rank
+//        greater than or equal to the rank of the type of the other
+//        operand, the operand with signed integer type shall be converted
+//        to the type of the operand with unsigned integer type.
+//      - Otherwise, if the type of the operand with signed integer type can
+//        represent all of the values of the type of the operand with
+//        unsigned integer type, the operand with unsigned integer type
+//        shall be converted to the type of the operand with signed
+//        integer type.
+//      - Otherwise, both operands shall be converted to the unsigned
+//        integer type corresponding to the type of the operand with signed
+//        integer type.
+
+std::tuple<TBasicType, TBasicType> TIntermediate::getConversionDestinatonType(TBasicType type0, TBasicType type1, TOperator op) const
+{
+    TBasicType res0 = EbtNumTypes;
+    TBasicType res1 = EbtNumTypes;
+
+    if (profile == EEsProfile || version == 110)
+        return std::make_tuple(res0, res1);;
+
+    if (source == EShSourceHlsl) {
+        if (canImplicitlyPromote(type1, type0, op)) {
+            res0 = type0;
+            res1 = type0;
+        } else if (canImplicitlyPromote(type0, type1, op)) {
+            res0 = type1;
+            res1 = type1;
+        }
+        return std::make_tuple(res0, res1);
+    }
+
+    if ((type0 == EbtDouble && canImplicitlyPromote(type1, EbtDouble, op)) ||
+        (type1 == EbtDouble && canImplicitlyPromote(type0, EbtDouble, op)) ) {
+        res0 = EbtDouble;
+        res1 = EbtDouble;
+    } else if ((type0 == EbtFloat && canImplicitlyPromote(type1, EbtFloat, op)) ||
+               (type1 == EbtFloat && canImplicitlyPromote(type0, EbtFloat, op)) ) {
+        res0 = EbtFloat;
+        res1 = EbtFloat;
+    } else if ((type0 == EbtFloat16 && canImplicitlyPromote(type1, EbtFloat16, op)) ||
+               (type1 == EbtFloat16 && canImplicitlyPromote(type0, EbtFloat16, op)) ) {
+        res0 = EbtFloat16;
+        res1 = EbtFloat16;
+    } else if (isTypeInt(type0) && isTypeInt(type1) &&
+               (canImplicitlyPromote(type0, type1, op) || canImplicitlyPromote(type1, type0, op))) {
+        if ((isTypeSignedInt(type0) && isTypeSignedInt(type1)) ||
+            (isTypeUnsignedInt(type0) && isTypeUnsignedInt(type1))) {
+            if (getTypeRank(type0) < getTypeRank(type1)) {
+                res0 = type1;
+                res1 = type1;
+            } else {
+                res0 = type0;
+                res1 = type0;
+            }
+        } else if (isTypeUnsignedInt(type0) && (getTypeRank(type0) > getTypeRank(type1))) {
+            res0 = type0;
+            res1 = type0;
+        } else if (isTypeUnsignedInt(type1) && (getTypeRank(type1) > getTypeRank(type0))) {
+            res0 = type1;
+            res1 = type1;
+        } else if (isTypeSignedInt(type0)) {
+            if (canSignedIntTypeRepresentAllUnsignedValues(type0, type1)) {
+                res0 = type0;
+                res1 = type0;
+            } else {
+                res0 = getCorrespondingUnsignedType(type0);
+                res1 = getCorrespondingUnsignedType(type0);
+            }
+        } else if (isTypeSignedInt(type1)) {
+            if (canSignedIntTypeRepresentAllUnsignedValues(type1, type0)) {
+                res0 = type1;
+                res1 = type1;
+            } else {
+                res0 = getCorrespondingUnsignedType(type1);
+                res1 = getCorrespondingUnsignedType(type1);
+            }
+        }
+    }
+
+    return std::make_tuple(res0, res1);
+}
+
 //
 // Given a type, find what operation would fully construct it.
 //
@@ -1331,7 +1774,6 @@
             }
         }
         break;
-#ifdef AMD_EXTENSIONS
     case EbtFloat16:
         if (type.getMatrixCols()) {
             switch (type.getMatrixCols()) {
@@ -1371,7 +1813,42 @@
             }
         }
         break;
-#endif
+    case EbtInt8:
+        switch(type.getVectorSize()) {
+        case 1: op = EOpConstructInt8;   break;
+        case 2: op = EOpConstructI8Vec2; break;
+        case 3: op = EOpConstructI8Vec3; break;
+        case 4: op = EOpConstructI8Vec4; break;
+        default: break; // some compilers want this
+        }
+        break;
+    case EbtUint8:
+        switch(type.getVectorSize()) {
+        case 1: op = EOpConstructUint8;  break;
+        case 2: op = EOpConstructU8Vec2; break;
+        case 3: op = EOpConstructU8Vec3; break;
+        case 4: op = EOpConstructU8Vec4; break;
+        default: break; // some compilers want this
+        }
+        break;
+    case EbtInt16:
+        switch(type.getVectorSize()) {
+        case 1: op = EOpConstructInt16;   break;
+        case 2: op = EOpConstructI16Vec2; break;
+        case 3: op = EOpConstructI16Vec3; break;
+        case 4: op = EOpConstructI16Vec4; break;
+        default: break; // some compilers want this
+        }
+        break;
+    case EbtUint16:
+        switch(type.getVectorSize()) {
+        case 1: op = EOpConstructUint16;  break;
+        case 2: op = EOpConstructU16Vec2; break;
+        case 3: op = EOpConstructU16Vec3; break;
+        case 4: op = EOpConstructU16Vec4; break;
+        default: break; // some compilers want this
+        }
+        break;
     case EbtInt:
         if (type.getMatrixCols()) {
             switch (type.getMatrixCols()) {
@@ -1466,26 +1943,6 @@
         default: break; // some compilers want this
         }
         break;
-#ifdef AMD_EXTENSIONS
-    case EbtInt16:
-        switch(type.getVectorSize()) {
-        case 1: op = EOpConstructInt16;   break;
-        case 2: op = EOpConstructI16Vec2; break;
-        case 3: op = EOpConstructI16Vec3; break;
-        case 4: op = EOpConstructI16Vec4; break;
-        default: break; // some compilers want this
-        }
-        break;
-    case EbtUint16:
-        switch(type.getVectorSize()) {
-        case 1: op = EOpConstructUint16;  break;
-        case 2: op = EOpConstructU16Vec2; break;
-        case 3: op = EOpConstructU16Vec3; break;
-        case 4: op = EOpConstructU16Vec4; break;
-        default: break; // some compilers want this
-        }
-        break;
-#endif
     case EbtBool:
         if (type.getMatrixCols()) {
             switch (type.getMatrixCols()) {
@@ -1677,16 +2134,12 @@
     //
     // Get compatible types.
     //
-    TIntermTyped* child = addConversion(EOpSequence, trueBlock->getType(), falseBlock);
-    if (child)
-        falseBlock = child;
-    else {
-        child = addConversion(EOpSequence, falseBlock->getType(), trueBlock);
-        if (child)
-            trueBlock = child;
-        else
-            return nullptr;
-    }
+    auto children = addConversion(EOpSequence, trueBlock, falseBlock);
+    trueBlock = std::get<0>(children);
+    falseBlock = std::get<1>(children);
+
+    if (trueBlock == nullptr || falseBlock == nullptr)
+        return nullptr;
 
     // Handle a vector condition as a mix
     if (!cond->getType().isScalarOrVec1()) {
@@ -1761,6 +2214,37 @@
 
     return node;
 }
+TIntermConstantUnion* TIntermediate::addConstantUnion(signed char i8, const TSourceLoc& loc, bool literal) const
+{
+    TConstUnionArray unionArray(1);
+    unionArray[0].setI8Const(i8);
+
+    return addConstantUnion(unionArray, TType(EbtInt8, EvqConst), loc, literal);
+}
+
+TIntermConstantUnion* TIntermediate::addConstantUnion(unsigned char u8, const TSourceLoc& loc, bool literal) const
+{
+    TConstUnionArray unionArray(1);
+    unionArray[0].setUConst(u8);
+
+    return addConstantUnion(unionArray, TType(EbtUint8, EvqConst), loc, literal);
+}
+
+TIntermConstantUnion* TIntermediate::addConstantUnion(signed short i16, const TSourceLoc& loc, bool literal) const
+{
+    TConstUnionArray unionArray(1);
+    unionArray[0].setI16Const(i16);
+
+    return addConstantUnion(unionArray, TType(EbtInt16, EvqConst), loc, literal);
+}
+
+TIntermConstantUnion* TIntermediate::addConstantUnion(unsigned short u16, const TSourceLoc& loc, bool literal) const
+{
+    TConstUnionArray unionArray(1);
+    unionArray[0].setU16Const(u16);
+
+    return addConstantUnion(unionArray, TType(EbtUint16, EvqConst), loc, literal);
+}
 
 TIntermConstantUnion* TIntermediate::addConstantUnion(int i, const TSourceLoc& loc, bool literal) const
 {
@@ -1794,24 +2278,6 @@
     return addConstantUnion(unionArray, TType(EbtUint64, EvqConst), loc, literal);
 }
 
-#ifdef AMD_EXTENSIONS
-TIntermConstantUnion* TIntermediate::addConstantUnion(short i16, const TSourceLoc& loc, bool literal) const
-{
-    TConstUnionArray unionArray(1);
-    unionArray[0].setIConst(i16);
-
-    return addConstantUnion(unionArray, TType(EbtInt16, EvqConst), loc, literal);
-}
-
-TIntermConstantUnion* TIntermediate::addConstantUnion(unsigned short u16, const TSourceLoc& loc, bool literal) const
-{
-    TConstUnionArray unionArray(1);
-    unionArray[0].setUConst(u16);
-
-    return addConstantUnion(unionArray, TType(EbtUint16, EvqConst), loc, literal);
-}
-#endif
-
 TIntermConstantUnion* TIntermediate::addConstantUnion(bool b, const TSourceLoc& loc, bool literal) const
 {
     TConstUnionArray unionArray(1);
@@ -1822,11 +2288,7 @@
 
 TIntermConstantUnion* TIntermediate::addConstantUnion(double d, TBasicType baseType, const TSourceLoc& loc, bool literal) const
 {
-#ifdef AMD_EXTENSIONS
     assert(baseType == EbtFloat || baseType == EbtDouble || baseType == EbtFloat16);
-#else
-    assert(baseType == EbtFloat || baseType == EbtDouble);
-#endif
 
     TConstUnionArray unionArray(1);
     unionArray[0].setDConst(d);
@@ -2121,12 +2583,10 @@
         case EOpVectorSwizzle:
         case EOpConvFloatToDouble:
         case EOpConvDoubleToFloat:
-#ifdef AMD_EXTENSIONS
         case EOpConvFloat16ToFloat:
         case EOpConvFloatToFloat16:
         case EOpConvFloat16ToDouble:
         case EOpConvDoubleToFloat16:
-#endif
             return true;
         default:
             return false;
@@ -2150,51 +2610,97 @@
     case EOpIndexDirectStruct:
     case EOpVectorSwizzle:
 
-    // conversion constructors
-    case EOpConvIntToBool:
-    case EOpConvUintToBool:
-    case EOpConvUintToInt:
-    case EOpConvBoolToInt:
-    case EOpConvIntToUint:
-    case EOpConvBoolToUint:
-    case EOpConvInt64ToBool:
-    case EOpConvBoolToInt64:
-    case EOpConvUint64ToBool:
-    case EOpConvBoolToUint64:
-    case EOpConvInt64ToInt:
-    case EOpConvIntToInt64:
-    case EOpConvUint64ToUint:
-    case EOpConvUintToUint64:
-    case EOpConvInt64ToUint64:
-    case EOpConvUint64ToInt64:
-    case EOpConvInt64ToUint:
-    case EOpConvUintToInt64:
-    case EOpConvUint64ToInt:
-    case EOpConvIntToUint64:
-#ifdef AMD_EXTENSIONS
+    // (u)int* -> bool
+    case EOpConvInt8ToBool:
     case EOpConvInt16ToBool:
-    case EOpConvBoolToInt16:
-    case EOpConvInt16ToInt:
-    case EOpConvIntToInt16:
-    case EOpConvInt16ToUint:
-    case EOpConvUintToInt16:
-    case EOpConvInt16ToInt64:
-    case EOpConvInt64ToInt16:
-    case EOpConvInt16ToUint64:
-    case EOpConvUint64ToInt16:
+    case EOpConvIntToBool:
+    case EOpConvInt64ToBool:
+    case EOpConvUint8ToBool:
     case EOpConvUint16ToBool:
+    case EOpConvUintToBool:
+    case EOpConvUint64ToBool:
+
+    // bool -> (u)int*
+    case EOpConvBoolToInt8:
+    case EOpConvBoolToInt16:
+    case EOpConvBoolToInt:
+    case EOpConvBoolToInt64:
+    case EOpConvBoolToUint8:
     case EOpConvBoolToUint16:
-    case EOpConvUint16ToInt:
-    case EOpConvIntToUint16:
-    case EOpConvUint16ToUint:
-    case EOpConvUintToUint16:
-    case EOpConvUint16ToInt64:
-    case EOpConvInt64ToUint16:
-    case EOpConvUint16ToUint64:
-    case EOpConvUint64ToUint16:
+    case EOpConvBoolToUint:
+    case EOpConvBoolToUint64:
+
+    // int8_t -> (u)int*
+    case EOpConvInt8ToInt16:
+    case EOpConvInt8ToInt:
+    case EOpConvInt8ToInt64:
+    case EOpConvInt8ToUint8:
+    case EOpConvInt8ToUint16:
+    case EOpConvInt8ToUint:
+    case EOpConvInt8ToUint64:
+
+    // int16_t -> (u)int*
+    case EOpConvInt16ToInt8:
+    case EOpConvInt16ToInt:
+    case EOpConvInt16ToInt64:
+    case EOpConvInt16ToUint8:
     case EOpConvInt16ToUint16:
+    case EOpConvInt16ToUint:
+    case EOpConvInt16ToUint64:
+
+    // int32_t -> (u)int*
+    case EOpConvIntToInt8:
+    case EOpConvIntToInt16:
+    case EOpConvIntToInt64:
+    case EOpConvIntToUint8:
+    case EOpConvIntToUint16:
+    case EOpConvIntToUint:
+    case EOpConvIntToUint64:
+
+    // int64_t -> (u)int*
+    case EOpConvInt64ToInt8:
+    case EOpConvInt64ToInt16:
+    case EOpConvInt64ToInt:
+    case EOpConvInt64ToUint8:
+    case EOpConvInt64ToUint16:
+    case EOpConvInt64ToUint:
+    case EOpConvInt64ToUint64:
+
+    // uint8_t -> (u)int*
+    case EOpConvUint8ToInt8:
+    case EOpConvUint8ToInt16:
+    case EOpConvUint8ToInt:
+    case EOpConvUint8ToInt64:
+    case EOpConvUint8ToUint16:
+    case EOpConvUint8ToUint:
+    case EOpConvUint8ToUint64:
+
+    // uint16_t -> (u)int*
+    case EOpConvUint16ToInt8:
     case EOpConvUint16ToInt16:
-#endif
+    case EOpConvUint16ToInt:
+    case EOpConvUint16ToInt64:
+    case EOpConvUint16ToUint8:
+    case EOpConvUint16ToUint:
+    case EOpConvUint16ToUint64:
+
+    // uint32_t -> (u)int*
+    case EOpConvUintToInt8:
+    case EOpConvUintToInt16:
+    case EOpConvUintToInt:
+    case EOpConvUintToInt64:
+    case EOpConvUintToUint8:
+    case EOpConvUintToUint16:
+    case EOpConvUintToUint64:
+
+    // uint64_t -> (u)int*
+    case EOpConvUint64ToInt8:
+    case EOpConvUint64ToInt16:
+    case EOpConvUint64ToInt:
+    case EOpConvUint64ToInt64:
+    case EOpConvUint64ToUint8:
+    case EOpConvUint64ToUint16:
+    case EOpConvUint64ToUint:
 
     // unary operations
     case EOpNegative:
@@ -2321,15 +2827,7 @@
         }
         break;
     case EOpBitwiseNot:
-        if (operand->getBasicType() != EbtInt &&
-            operand->getBasicType() != EbtUint &&
-#ifdef AMD_EXTENSIONS
-            operand->getBasicType() != EbtInt16 &&
-            operand->getBasicType() != EbtUint16 &&
-#endif
-            operand->getBasicType() != EbtInt64 &&
-            operand->getBasicType() != EbtUint64)
-
+        if (!isTypeInt(operand->getBasicType()))
             return false;
         break;
     case EOpNegative:
@@ -2337,18 +2835,9 @@
     case EOpPostDecrement:
     case EOpPreIncrement:
     case EOpPreDecrement:
-        if (operand->getBasicType() != EbtInt &&
-            operand->getBasicType() != EbtUint &&
-            operand->getBasicType() != EbtInt64 &&
-            operand->getBasicType() != EbtUint64 &&
-#ifdef AMD_EXTENSIONS
-            operand->getBasicType() != EbtInt16 &&
-            operand->getBasicType() != EbtUint16 &&
-#endif
+        if (!isTypeInt(operand->getBasicType()) &&
             operand->getBasicType() != EbtFloat &&
-#ifdef AMD_EXTENSIONS
             operand->getBasicType() != EbtFloat16 &&
-#endif
             operand->getBasicType() != EbtDouble)
 
             return false;
@@ -2368,11 +2857,7 @@
 
 void TIntermUnary::updatePrecision()
 {
-#ifdef AMD_EXTENSIONS
     if (getBasicType() == EbtInt || getBasicType() == EbtUint || getBasicType() == EbtFloat || getBasicType() == EbtFloat16) {
-#else
-    if (getBasicType() == EbtInt || getBasicType() == EbtUint || getBasicType() == EbtFloat) {
-#endif
         if (operand->getQualifier().precision > getQualifier().precision)
             getQualifier().precision = operand->getQualifier().precision;
     }
@@ -2550,16 +3035,7 @@
             break;
 
         // Check for integer-only operands.
-        if ((left->getBasicType() != EbtInt &&  left->getBasicType() != EbtUint &&
-#ifdef AMD_EXTENSIONS
-             left->getBasicType() != EbtInt16 && left->getBasicType() != EbtUint16 &&
-#endif
-             left->getBasicType() != EbtInt64 && left->getBasicType() != EbtUint64) ||
-            (right->getBasicType() != EbtInt && right->getBasicType() != EbtUint &&
-#ifdef AMD_EXTENSIONS
-             right->getBasicType() != EbtInt16 && right->getBasicType() != EbtUint16 &&
-#endif
-             right->getBasicType() != EbtInt64 && right->getBasicType() != EbtUint64))
+        if (!isTypeInt(left->getBasicType()) && !isTypeInt(right->getBasicType()))
             return false;
         if (left->isMatrix() || right->isMatrix())
             return false;
@@ -2860,11 +3336,7 @@
 
 void TIntermBinary::updatePrecision()
 {
-#ifdef AMD_EXTENSIONS
     if (getBasicType() == EbtInt || getBasicType() == EbtUint || getBasicType() == EbtFloat || getBasicType() == EbtFloat16) {
-#else
-    if (getBasicType() == EbtInt || getBasicType() == EbtUint || getBasicType() == EbtFloat) {
-#endif
         getQualifier().precision = std::max(right->getQualifier().precision, left->getQualifier().precision);
         if (getQualifier().precision != EpqNone) {
             left->propagatePrecision(getQualifier().precision);
@@ -2875,11 +3347,7 @@
 
 void TIntermTyped::propagatePrecision(TPrecisionQualifier newPrecision)
 {
-#ifdef AMD_EXTENSIONS
     if (getQualifier().precision != EpqNone || (getBasicType() != EbtInt && getBasicType() != EbtUint && getBasicType() != EbtFloat && getBasicType() != EbtFloat16))
-#else
-    if (getQualifier().precision != EpqNone || (getBasicType() != EbtInt && getBasicType() != EbtUint && getBasicType() != EbtFloat))
-#endif
         return;
 
     getQualifier().precision = newPrecision;
@@ -2954,9 +3422,7 @@
                 break;
             case EbtFloat:
             case EbtDouble:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
                 leftUnionArray[i] = rightUnionArray[i];
                 break;
             default:
@@ -2982,16 +3448,13 @@
                 break;
             case EbtFloat:
             case EbtDouble:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
                 leftUnionArray[i] = rightUnionArray[i];
                 break;
             default:
                 return node;
             }
             break;
-#ifdef AMD_EXTENSIONS
         case EbtFloat16:
             switch (node->getType().getBasicType()) {
             case EbtInt:
@@ -3018,7 +3481,6 @@
                 return node;
             }
             break;
-#endif
         case EbtInt:
             switch (node->getType().getBasicType()) {
             case EbtInt:
@@ -3038,9 +3500,7 @@
                 break;
             case EbtFloat:
             case EbtDouble:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
                 leftUnionArray[i].setIConst(static_cast<int>(rightUnionArray[i].getDConst()));
                 break;
             default:
@@ -3066,9 +3526,7 @@
                 break;
             case EbtFloat:
             case EbtDouble:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
                 leftUnionArray[i].setUConst(static_cast<unsigned int>(rightUnionArray[i].getDConst()));
                 break;
             default:
@@ -3094,9 +3552,7 @@
                 break;
             case EbtFloat:
             case EbtDouble:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
                 leftUnionArray[i].setBConst(rightUnionArray[i].getDConst() != 0.0);
                 break;
             default:
@@ -3122,9 +3578,7 @@
                 break;
             case EbtFloat:
             case EbtDouble:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
                 leftUnionArray[i].setI64Const(static_cast<long long>(rightUnionArray[i].getDConst()));
                 break;
             default:
@@ -3150,9 +3604,7 @@
                 break;
             case EbtFloat:
             case EbtDouble:
-#ifdef AMD_EXTENSIONS
             case EbtFloat16:
-#endif
                 leftUnionArray[i].setU64Const(static_cast<unsigned long long>(rightUnionArray[i].getDConst()));
                 break;
             default:
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index 33e35e8..c03ba93 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -2,6 +2,7 @@
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2015 LunarG, Inc.
 // Copyright (C) 2015-2016 Google, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -2156,7 +2157,6 @@
     case EOpConstructDMat4x2:
     case EOpConstructDMat4x3:
     case EOpConstructDMat4x4:
-#ifdef AMD_EXTENSIONS
     case EOpConstructF16Mat2x2:
     case EOpConstructF16Mat2x3:
     case EOpConstructF16Mat2x4:
@@ -2166,7 +2166,6 @@
     case EOpConstructF16Mat4x2:
     case EOpConstructF16Mat4x3:
     case EOpConstructF16Mat4x4:
-#endif
         constructingMatrix = true;
         break;
     default:
@@ -2223,18 +2222,30 @@
         // Finish pinning down spec-const semantics
         if (specConstType) {
             switch (op) {
+            case EOpConstructInt8:
+            case EOpConstructUint8:
+            case EOpConstructInt16:
+            case EOpConstructUint16:
             case EOpConstructInt:
             case EOpConstructUint:
             case EOpConstructInt64:
             case EOpConstructUint64:
-#ifdef AMD_EXTENSIONS
-            case EOpConstructInt16:
-            case EOpConstructUint16:
-#endif
             case EOpConstructBool:
             case EOpConstructBVec2:
             case EOpConstructBVec3:
             case EOpConstructBVec4:
+            case EOpConstructI8Vec2:
+            case EOpConstructI8Vec3:
+            case EOpConstructI8Vec4:
+            case EOpConstructU8Vec2:
+            case EOpConstructU8Vec3:
+            case EOpConstructU8Vec4:
+            case EOpConstructI16Vec2:
+            case EOpConstructI16Vec3:
+            case EOpConstructI16Vec4:
+            case EOpConstructU16Vec2:
+            case EOpConstructU16Vec3:
+            case EOpConstructU16Vec4:
             case EOpConstructIVec2:
             case EOpConstructIVec3:
             case EOpConstructIVec4:
@@ -2247,14 +2258,6 @@
             case EOpConstructU64Vec2:
             case EOpConstructU64Vec3:
             case EOpConstructU64Vec4:
-#ifdef AMD_EXTENSIONS
-            case EOpConstructI16Vec2:
-            case EOpConstructI16Vec3:
-            case EOpConstructI16Vec4:
-            case EOpConstructU16Vec2:
-            case EOpConstructU16Vec3:
-            case EOpConstructU16Vec4:
-#endif
                 // This was the list of valid ones, if they aren't converting from float
                 // and aren't making an array.
                 makeSpecConst = ! floatArgument && ! type.isArray();
@@ -2562,12 +2565,7 @@
         return;
     }
 
-    if (publicType.basicType == EbtInt   || publicType.basicType == EbtUint   ||
-#ifdef AMD_EXTENSIONS
-        publicType.basicType == EbtInt16 || publicType.basicType == EbtUint16 ||
-#endif
-        publicType.basicType == EbtInt64 || publicType.basicType == EbtUint64 ||
-        publicType.basicType == EbtDouble)
+    if (isTypeInt(publicType.basicType) || publicType.basicType == EbtDouble)
         profileRequires(loc, EEsProfile, 300, nullptr, "shader input/output");
 
 #ifdef AMD_EXTENSIONS
@@ -2575,13 +2573,13 @@
 #else
     if (!qualifier.flat) {
 #endif
-        if (publicType.basicType == EbtInt    || publicType.basicType == EbtUint   ||
-#ifdef AMD_EXTENSIONS
-            publicType.basicType == EbtInt16  || publicType.basicType == EbtUint16 ||
-#endif
-            publicType.basicType == EbtInt64  || publicType.basicType == EbtUint64 ||
+        if (isTypeInt(publicType.basicType) ||
             publicType.basicType == EbtDouble ||
-            (publicType.userDef && (publicType.userDef->containsBasicType(EbtInt)    ||
+            (publicType.userDef && (publicType.userDef->containsBasicType(EbtInt8)   ||
+                                    publicType.userDef->containsBasicType(EbtUint8)  ||
+                                    publicType.userDef->containsBasicType(EbtInt16)  ||
+                                    publicType.userDef->containsBasicType(EbtUint16) ||
+                                    publicType.userDef->containsBasicType(EbtInt)    ||
                                     publicType.userDef->containsBasicType(EbtUint)   ||
                                     publicType.userDef->containsBasicType(EbtInt64)  ||
                                     publicType.userDef->containsBasicType(EbtUint64) ||
@@ -4577,11 +4575,9 @@
         // containing a double, the offset must also be a multiple of 8..."
         if (type.containsBasicType(EbtDouble) && ! IsMultipleOfPow2(qualifier.layoutXfbOffset, 8))
             error(loc, "type contains double; xfb_offset must be a multiple of 8", "xfb_offset", "");
-#ifdef AMD_EXTENSIONS
         // ..., if applied to an aggregate containing a float16_t, the offset must also be a multiple of 2..."
         else if (type.containsBasicType(EbtFloat16) && !IsMultipleOfPow2(qualifier.layoutXfbOffset, 2))
             error(loc, "type contains half float; xfb_offset must be a multiple of 2", "xfb_offset", "");
-#endif
         else if (! IsMultipleOfPow2(qualifier.layoutXfbOffset, 4))
             error(loc, "must be a multiple of size of first component", "xfb_offset", "");
     }
@@ -4681,20 +4677,18 @@
             error(loc, "can only be applied to a scalar", "constant_id", "");
         switch (type.getBasicType())
         {
+        case EbtInt8:
+        case EbtUint8:
+        case EbtInt16:
+        case EbtUint16:
         case EbtInt:
         case EbtUint:
         case EbtInt64:
         case EbtUint64:
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:
-        case EbtUint16:
-#endif
         case EbtBool:
         case EbtFloat:
         case EbtDouble:
-#ifdef AMD_EXTENSIONS
         case EbtFloat16:
-#endif
             break;
         default:
             error(loc, "cannot be applied to this type", "constant_id", "");
@@ -4891,10 +4885,21 @@
         return nullptr;
     }
 
+    bool explicitTypesEnabled = extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+                                extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int8) ||
+                                extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int16) ||
+                                extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int32) ||
+                                extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int64) ||
+                                extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_float16) ||
+                                extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_float32) ||
+                                extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_float64);
+
     if (profile == EEsProfile || version < 120)
         function = findFunctionExact(loc, call, builtIn);
     else if (version < 400)
         function = findFunction120(loc, call, builtIn);
+    else if (explicitTypesEnabled)
+        function = findFunctionExplicitTypes(loc, call, builtIn);
     else
         function = findFunction400(loc, call, builtIn);
 
@@ -5079,6 +5084,85 @@
     return bestMatch;
 }
 
+// "To determine whether the conversion for a single argument in one match
+//  is better than that for another match, the conversion is assigned of the
+//  three ranks ordered from best to worst:
+//   1. Exact match: no conversion.
+//    2. Promotion: integral or floating-point promotion.
+//    3. Conversion: integral conversion, floating-point conversion,
+//       floating-integral conversion.
+//  A conversion C1 is better than a conversion C2 if the rank of C1 is
+//  better than the rank of C2."
+const TFunction* TParseContext::findFunctionExplicitTypes(const TSourceLoc& loc, const TFunction& call, bool& builtIn)
+{
+    // first, look for an exact match
+    TSymbol* symbol = symbolTable.find(call.getMangledName(), &builtIn);
+    if (symbol)
+        return symbol->getAsFunction();
+
+    // no exact match, use the generic selector, parameterized by the GLSL rules
+
+    // create list of candidates to send
+    TVector<const TFunction*> candidateList;
+    symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn);
+
+    // can 'from' convert to 'to'?
+    const auto convertible = [this](const TType& from, const TType& to, TOperator, int) -> bool {
+        if (from == to)
+            return true;
+        if (from.isArray() || to.isArray() || ! from.sameElementShape(to))
+            return false;
+        return intermediate.canImplicitlyPromote(from.getBasicType(), to.getBasicType());
+    };
+
+    // Is 'to2' a better conversion than 'to1'?
+    // Ties should not be considered as better.
+    // Assumes 'convertible' already said true.
+    const auto better = [this](const TType& from, const TType& to1, const TType& to2) -> bool {
+        // 1. exact match
+        if (from == to2)
+            return from != to1;
+        if (from == to1)
+            return false;
+
+        // 2. Promotion (integral, floating-point) is better
+        TBasicType from_type = from.getBasicType();
+        TBasicType to1_type = to1.getBasicType();
+        TBasicType to2_type = to2.getBasicType();
+        bool isPromotion1 = (intermediate.isIntegralPromotion(from_type, to1_type) ||
+                             intermediate.isFPPromotion(from_type, to1_type));
+        bool isPromotion2 = (intermediate.isIntegralPromotion(from_type, to2_type) ||
+                             intermediate.isFPPromotion(from_type, to2_type));
+        if (isPromotion2)
+            return !isPromotion1;
+        if(isPromotion1)
+            return false;
+
+        // 3. Conversion (integral, floating-point , floating-integral)
+        bool isConversion1 = (intermediate.isIntegralConversion(from_type, to1_type) ||
+                              intermediate.isFPConversion(from_type, to1_type) ||
+                              intermediate.isFPIntegralConversion(from_type, to1_type));
+        bool isConversion2 = (intermediate.isIntegralConversion(from_type, to2_type) ||
+                              intermediate.isFPConversion(from_type, to2_type) ||
+                              intermediate.isFPIntegralConversion(from_type, to2_type));
+
+        return isConversion2 && !isConversion1;
+    };
+
+    // for ambiguity reporting
+    bool tie = false;
+
+    // send to the generic selector
+    const TFunction* bestMatch = selectFunction(candidateList, call, convertible, better, tie);
+
+    if (bestMatch == nullptr)
+        error(loc, "no matching overloaded function found", call.getName().c_str(), "");
+    else if (tie)
+        error(loc, "ambiguous best function under implicit type conversion", call.getName().c_str(), "");
+
+    return bestMatch;
+}
+
 // When a declaration includes a type, but not a variable name, it can be
 // to establish defaults.
 void TParseContext::declareTypeDefaults(const TSourceLoc& loc, const TPublicType& publicType)
@@ -5603,7 +5687,6 @@
         basicOp = EOpConstructDouble;
         break;
 
-#ifdef AMD_EXTENSIONS
     case EOpConstructF16Vec2:
     case EOpConstructF16Vec3:
     case EOpConstructF16Vec4:
@@ -5619,7 +5702,34 @@
     case EOpConstructFloat16:
         basicOp = EOpConstructFloat16;
         break;
-#endif
+
+    case EOpConstructI8Vec2:
+    case EOpConstructI8Vec3:
+    case EOpConstructI8Vec4:
+    case EOpConstructInt8:
+        basicOp = EOpConstructInt8;
+        break;
+
+    case EOpConstructU8Vec2:
+    case EOpConstructU8Vec3:
+    case EOpConstructU8Vec4:
+    case EOpConstructUint8:
+        basicOp = EOpConstructUint8;
+        break;
+
+    case EOpConstructI16Vec2:
+    case EOpConstructI16Vec3:
+    case EOpConstructI16Vec4:
+    case EOpConstructInt16:
+        basicOp = EOpConstructInt16;
+        break;
+
+    case EOpConstructU16Vec2:
+    case EOpConstructU16Vec3:
+    case EOpConstructU16Vec4:
+    case EOpConstructUint16:
+        basicOp = EOpConstructUint16;
+        break;
 
     case EOpConstructIVec2:
     case EOpConstructIVec3:
@@ -5649,22 +5759,6 @@
         basicOp = EOpConstructUint64;
         break;
 
-#ifdef AMD_EXTENSIONS
-    case EOpConstructI16Vec2:
-    case EOpConstructI16Vec3:
-    case EOpConstructI16Vec4:
-    case EOpConstructInt16:
-        basicOp = EOpConstructInt16;
-        break;
-
-    case EOpConstructU16Vec2:
-    case EOpConstructU16Vec3:
-    case EOpConstructU16Vec4:
-    case EOpConstructUint16:
-        basicOp = EOpConstructUint16;
-        break;
-#endif
-
     case EOpConstructBVec2:
     case EOpConstructBVec3:
     case EOpConstructBVec4:
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index 2a054c1..6e87266 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -386,6 +386,7 @@
     const TFunction* findFunctionExact(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
     const TFunction* findFunction120(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
     const TFunction* findFunction400(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
+    const TFunction* findFunctionExplicitTypes(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
     void declareTypeDefaults(const TSourceLoc&, const TPublicType&);
     TIntermNode* declareVariable(const TSourceLoc&, TString& identifier, const TPublicType&, TArraySizes* typeArray = 0, TIntermTyped* initializer = 0);
     TIntermTyped* addConstructor(const TSourceLoc&, TIntermNode*, const TType&);
diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp
index 68d1500..10b3d9e 100644
--- a/glslang/MachineIndependent/Scan.cpp
+++ b/glslang/MachineIndependent/Scan.cpp
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -463,16 +464,34 @@
     (*KeywordMap)["u64vec3"] =                 U64VEC3;
     (*KeywordMap)["u64vec4"] =                 U64VEC4;
 
-#ifdef AMD_EXTENSIONS
+    // GL_KHX_shader_explicit_arithmetic_types
+    (*KeywordMap)["int8_t"] =                  INT8_T;
+    (*KeywordMap)["i8vec2"] =                  I8VEC2;
+    (*KeywordMap)["i8vec3"] =                  I8VEC3;
+    (*KeywordMap)["i8vec4"] =                  I8VEC4;
+    (*KeywordMap)["uint8_t"] =                 UINT8_T;
+    (*KeywordMap)["u8vec2"] =                  U8VEC2;
+    (*KeywordMap)["u8vec3"] =                  U8VEC3;
+    (*KeywordMap)["u8vec4"] =                  U8VEC4;
+
     (*KeywordMap)["int16_t"] =                 INT16_T;
-    (*KeywordMap)["uint16_t"] =                UINT16_T;
     (*KeywordMap)["i16vec2"] =                 I16VEC2;
     (*KeywordMap)["i16vec3"] =                 I16VEC3;
     (*KeywordMap)["i16vec4"] =                 I16VEC4;
+    (*KeywordMap)["uint16_t"] =                UINT16_T;
     (*KeywordMap)["u16vec2"] =                 U16VEC2;
     (*KeywordMap)["u16vec3"] =                 U16VEC3;
     (*KeywordMap)["u16vec4"] =                 U16VEC4;
 
+    (*KeywordMap)["int32_t"] =                 INT32_T;
+    (*KeywordMap)["i32vec2"] =                 I32VEC2;
+    (*KeywordMap)["i32vec3"] =                 I32VEC3;
+    (*KeywordMap)["i32vec4"] =                 I32VEC4;
+    (*KeywordMap)["uint32_t"] =                UINT32_T;
+    (*KeywordMap)["u32vec2"] =                 U32VEC2;
+    (*KeywordMap)["u32vec3"] =                 U32VEC3;
+    (*KeywordMap)["u32vec4"] =                 U32VEC4;
+
     (*KeywordMap)["float16_t"] =               FLOAT16_T;
     (*KeywordMap)["f16vec2"] =                 F16VEC2;
     (*KeywordMap)["f16vec3"] =                 F16VEC3;
@@ -489,7 +508,39 @@
     (*KeywordMap)["f16mat4x2"] =               F16MAT4X2;
     (*KeywordMap)["f16mat4x3"] =               F16MAT4X3;
     (*KeywordMap)["f16mat4x4"] =               F16MAT4X4;
-#endif
+
+    (*KeywordMap)["float32_t"] =               FLOAT32_T;
+    (*KeywordMap)["f32vec2"] =                 F32VEC2;
+    (*KeywordMap)["f32vec3"] =                 F32VEC3;
+    (*KeywordMap)["f32vec4"] =                 F32VEC4;
+    (*KeywordMap)["f32mat2"] =                 F32MAT2;
+    (*KeywordMap)["f32mat3"] =                 F32MAT3;
+    (*KeywordMap)["f32mat4"] =                 F32MAT4;
+    (*KeywordMap)["f32mat2x2"] =               F32MAT2X2;
+    (*KeywordMap)["f32mat2x3"] =               F32MAT2X3;
+    (*KeywordMap)["f32mat2x4"] =               F32MAT2X4;
+    (*KeywordMap)["f32mat3x2"] =               F32MAT3X2;
+    (*KeywordMap)["f32mat3x3"] =               F32MAT3X3;
+    (*KeywordMap)["f32mat3x4"] =               F32MAT3X4;
+    (*KeywordMap)["f32mat4x2"] =               F32MAT4X2;
+    (*KeywordMap)["f32mat4x3"] =               F32MAT4X3;
+    (*KeywordMap)["f32mat4x4"] =               F32MAT4X4;
+    (*KeywordMap)["float64_t"] =               FLOAT64_T;
+    (*KeywordMap)["f64vec2"] =                 F64VEC2;
+    (*KeywordMap)["f64vec3"] =                 F64VEC3;
+    (*KeywordMap)["f64vec4"] =                 F64VEC4;
+    (*KeywordMap)["f64mat2"] =                 F64MAT2;
+    (*KeywordMap)["f64mat3"] =                 F64MAT3;
+    (*KeywordMap)["f64mat4"] =                 F64MAT4;
+    (*KeywordMap)["f64mat2x2"] =               F64MAT2X2;
+    (*KeywordMap)["f64mat2x3"] =               F64MAT2X3;
+    (*KeywordMap)["f64mat2x4"] =               F64MAT2X4;
+    (*KeywordMap)["f64mat3x2"] =               F64MAT3X2;
+    (*KeywordMap)["f64mat3x3"] =               F64MAT3X3;
+    (*KeywordMap)["f64mat3x4"] =               F64MAT3X4;
+    (*KeywordMap)["f64mat4x2"] =               F64MAT4X2;
+    (*KeywordMap)["f64mat4x3"] =               F64MAT4X3;
+    (*KeywordMap)["f64mat4x4"] =               F64MAT4X4;
 
     (*KeywordMap)["sampler2D"] =               SAMPLER2D;
     (*KeywordMap)["samplerCube"] =             SAMPLERCUBE;
@@ -714,19 +765,15 @@
             parseContext.error(loc, "not supported", "::", "");
             break;
 
-        case PpAtomConstInt:           parserToken->sType.lex.i   = ppToken.ival;       return INTCONSTANT;
-        case PpAtomConstUint:          parserToken->sType.lex.i   = ppToken.ival;       return UINTCONSTANT;
-        case PpAtomConstInt64:         parserToken->sType.lex.i64 = ppToken.i64val;     return INT64CONSTANT;
-        case PpAtomConstUint64:        parserToken->sType.lex.i64 = ppToken.i64val;     return UINT64CONSTANT;
-#ifdef AMD_EXTENSIONS
-        case PpAtomConstInt16:         parserToken->sType.lex.i   = ppToken.ival;       return INT16CONSTANT;
-        case PpAtomConstUint16:        parserToken->sType.lex.i   = ppToken.ival;       return UINT16CONSTANT;
-#endif
-        case PpAtomConstFloat:         parserToken->sType.lex.d   = ppToken.dval;       return FLOATCONSTANT;
-        case PpAtomConstDouble:        parserToken->sType.lex.d   = ppToken.dval;       return DOUBLECONSTANT;
-#ifdef AMD_EXTENSIONS
-        case PpAtomConstFloat16:       parserToken->sType.lex.d   = ppToken.dval;       return FLOAT16CONSTANT;
-#endif
+        case PpAtomConstInt:           parserToken->sType.lex.i    = ppToken.ival;       return INTCONSTANT;
+        case PpAtomConstUint:          parserToken->sType.lex.i    = ppToken.ival;       return UINTCONSTANT;
+        case PpAtomConstInt16:         parserToken->sType.lex.i    = ppToken.ival;       return INT16CONSTANT;
+        case PpAtomConstUint16:        parserToken->sType.lex.i    = ppToken.ival;       return UINT16CONSTANT;
+        case PpAtomConstInt64:         parserToken->sType.lex.i64  = ppToken.i64val;     return INT64CONSTANT;
+        case PpAtomConstUint64:        parserToken->sType.lex.i64  = ppToken.i64val;     return UINT64CONSTANT;
+        case PpAtomConstFloat:         parserToken->sType.lex.d    = ppToken.dval;       return FLOATCONSTANT;
+        case PpAtomConstDouble:        parserToken->sType.lex.d    = ppToken.dval;       return DOUBLECONSTANT;
+        case PpAtomConstFloat16:       parserToken->sType.lex.d    = ppToken.dval;       return FLOAT16CONSTANT;
         case PpAtomIdentifier:
         {
             int token = tokenizeIdentifier();
@@ -985,12 +1032,29 @@
     case U64VEC4:
         afterType = true;
         if (parseContext.symbolTable.atBuiltInLevel() ||
-            (parseContext.extensionTurnedOn(E_GL_ARB_gpu_shader_int64) &&
-             parseContext.profile != EEsProfile && parseContext.version >= 450))
+            ((parseContext.extensionTurnedOn(E_GL_ARB_gpu_shader_int64) ||
+              parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+              parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int64)) &&
+              parseContext.profile != EEsProfile && parseContext.version >= 450))
             return keyword;
         return identifierOrType();
 
-#ifdef AMD_EXTENSIONS
+    case INT8_T:
+    case UINT8_T:
+    case I8VEC2:
+    case I8VEC3:
+    case I8VEC4:
+    case U8VEC2:
+    case U8VEC3:
+    case U8VEC4:
+        afterType = true;
+        if (parseContext.symbolTable.atBuiltInLevel() ||
+            ((parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+              parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int8)) &&
+              parseContext.profile != EEsProfile && parseContext.version >= 450))
+            return keyword;
+        return identifierOrType();
+
     case INT16_T:
     case UINT16_T:
     case I16VEC2:
@@ -1001,10 +1065,77 @@
     case U16VEC4:
         afterType = true;
         if (parseContext.symbolTable.atBuiltInLevel() ||
-            (parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_int16) &&
+            ((
+#ifdef AMD_EXTENSIONS
+              parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_int16) ||
+#endif
+              parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+              parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int16)) &&
+              parseContext.profile != EEsProfile && parseContext.version >= 450))
+            return keyword;
+        return identifierOrType();
+    case INT32_T:
+    case UINT32_T:
+    case I32VEC2:
+    case I32VEC3:
+    case I32VEC4:
+    case U32VEC2:
+    case U32VEC3:
+    case U32VEC4:
+        afterType = true;
+        if (parseContext.symbolTable.atBuiltInLevel() ||
+           ((parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+             parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int32)) &&
              parseContext.profile != EEsProfile && parseContext.version >= 450))
             return keyword;
         return identifierOrType();
+    case FLOAT32_T:
+    case F32VEC2:
+    case F32VEC3:
+    case F32VEC4:
+    case F32MAT2:
+    case F32MAT3:
+    case F32MAT4:
+    case F32MAT2X2:
+    case F32MAT2X3:
+    case F32MAT2X4:
+    case F32MAT3X2:
+    case F32MAT3X3:
+    case F32MAT3X4:
+    case F32MAT4X2:
+    case F32MAT4X3:
+    case F32MAT4X4:
+        afterType = true;
+        if (parseContext.symbolTable.atBuiltInLevel() ||
+            ((parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+              parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_float32)) &&
+              parseContext.profile != EEsProfile && parseContext.version >= 450))
+            return keyword;
+        return identifierOrType();
+
+    case FLOAT64_T:
+    case F64VEC2:
+    case F64VEC3:
+    case F64VEC4:
+    case F64MAT2:
+    case F64MAT3:
+    case F64MAT4:
+    case F64MAT2X2:
+    case F64MAT2X3:
+    case F64MAT2X4:
+    case F64MAT3X2:
+    case F64MAT3X3:
+    case F64MAT3X4:
+    case F64MAT4X2:
+    case F64MAT4X3:
+    case F64MAT4X4:
+        afterType = true;
+        if (parseContext.symbolTable.atBuiltInLevel() ||
+            ((parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+              parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_float64)) &&
+              parseContext.profile != EEsProfile && parseContext.version >= 450))
+            return keyword;
+        return identifierOrType();
 
     case FLOAT16_T:
     case F16VEC2:
@@ -1024,11 +1155,15 @@
     case F16MAT4X4:
         afterType = true;
         if (parseContext.symbolTable.atBuiltInLevel() ||
-            (parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float) &&
+            ((
+#ifdef AMD_EXTENSIONS
+              parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float) ||
+#endif
+             parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+             parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_float16)) &&
              parseContext.profile != EEsProfile && parseContext.version >= 450))
             return keyword;
         return identifierOrType();
-#endif
 
     case SAMPLERCUBEARRAY:
     case SAMPLERCUBEARRAYSHADOW:
diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp
index 233033e..e3c03bf 100644
--- a/glslang/MachineIndependent/SymbolTable.cpp
+++ b/glslang/MachineIndependent/SymbolTable.cpp
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -60,17 +61,15 @@
     switch (basicType) {
     case EbtFloat:              mangledName += 'f';      break;
     case EbtDouble:             mangledName += 'd';      break;
-#ifdef AMD_EXTENSIONS
     case EbtFloat16:            mangledName += "f16";    break;
-#endif
     case EbtInt:                mangledName += 'i';      break;
     case EbtUint:               mangledName += 'u';      break;
-    case EbtInt64:              mangledName += "i64";    break;
-    case EbtUint64:             mangledName += "u64";    break;
-#ifdef AMD_EXTENSIONS
+    case EbtInt8:               mangledName += "i8";     break;
+    case EbtUint8:              mangledName += "u8";     break;
     case EbtInt16:              mangledName += "i16";    break;
     case EbtUint16:             mangledName += "u16";    break;
-#endif
+    case EbtInt64:              mangledName += "i64";    break;
+    case EbtUint64:             mangledName += "u64";    break;
     case EbtBool:               mangledName += 'b';      break;
     case EbtAtomicUint:         mangledName += "au";     break;
     case EbtSampler:
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
index b1893b3..daf2dc1 100644
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -185,6 +186,15 @@
     extensionBehavior[E_GL_ARB_post_depth_coverage]          = EBhDisable;
     extensionBehavior[E_GL_ARB_shader_viewport_layer_array]  = EBhDisable;
 
+    extensionBehavior[E_GL_KHR_shader_subgroup_basic]            = EBhDisable;
+    extensionBehavior[E_GL_KHR_shader_subgroup_vote]             = EBhDisable;
+    extensionBehavior[E_GL_KHR_shader_subgroup_arithmetic]       = EBhDisable;
+    extensionBehavior[E_GL_KHR_shader_subgroup_ballot]           = EBhDisable;
+    extensionBehavior[E_GL_KHR_shader_subgroup_shuffle]          = EBhDisable;
+    extensionBehavior[E_GL_KHR_shader_subgroup_shuffle_relative] = EBhDisable;
+    extensionBehavior[E_GL_KHR_shader_subgroup_clustered]        = EBhDisable;
+    extensionBehavior[E_GL_KHR_shader_subgroup_quad]             = EBhDisable;
+
     extensionBehavior[E_GL_EXT_shader_non_constant_global_initializers] = EBhDisable;
     extensionBehavior[E_GL_EXT_shader_image_load_formatted]             = EBhDisable;
     extensionBehavior[E_GL_EXT_post_depth_coverage]                     = EBhDisable;
@@ -249,6 +259,16 @@
     // OVR extensions
     extensionBehavior[E_GL_OVR_multiview]                = EBhDisable;
     extensionBehavior[E_GL_OVR_multiview2]               = EBhDisable;
+
+    // explicit types
+    extensionBehavior[E_GL_KHX_shader_explicit_arithmetic_types]         = EBhDisable;
+    extensionBehavior[E_GL_KHX_shader_explicit_arithmetic_types_int8]    = EBhDisable;
+    extensionBehavior[E_GL_KHX_shader_explicit_arithmetic_types_int16]   = EBhDisable;
+    extensionBehavior[E_GL_KHX_shader_explicit_arithmetic_types_int32]   = EBhDisable;
+    extensionBehavior[E_GL_KHX_shader_explicit_arithmetic_types_int64]   = EBhDisable;
+    extensionBehavior[E_GL_KHX_shader_explicit_arithmetic_types_float16] = EBhDisable;
+    extensionBehavior[E_GL_KHX_shader_explicit_arithmetic_types_float32] = EBhDisable;
+    extensionBehavior[E_GL_KHX_shader_explicit_arithmetic_types_float64] = EBhDisable;
 }
 
 // Get code that is not part of a shared symbol table, is specific to this shader,
@@ -328,6 +348,16 @@
             "#define GL_EXT_shader_image_load_formatted 1\n"
             "#define GL_EXT_post_depth_coverage 1\n"
 
+            // GL_KHR_shader_subgroup
+            "#define GL_KHR_shader_subgroup_basic 1\n"
+            "#define GL_KHR_shader_subgroup_vote 1\n"
+            "#define GL_KHR_shader_subgroup_arithmetic 1\n"
+            "#define GL_KHR_shader_subgroup_ballot 1\n"
+            "#define GL_KHR_shader_subgroup_shuffle 1\n"
+            "#define GL_KHR_shader_subgroup_shuffle_relative 1\n"
+            "#define GL_KHR_shader_subgroup_clustered 1\n"
+            "#define GL_KHR_shader_subgroup_quad 1\n"
+
 #ifdef AMD_EXTENSIONS
             "#define GL_AMD_shader_ballot 1\n"
             "#define GL_AMD_shader_trinary_minmax 1\n"
@@ -346,6 +376,14 @@
             "#define GL_NV_viewport_array2 1\n"
             "#define GL_NV_shader_atomic_int64 1\n"
 #endif
+            "#define GL_KHX_shader_explicit_arithmetic_types 1\n"
+            "#define GL_KHX_shader_explicit_arithmetic_types_int8 1\n"
+            "#define GL_KHX_shader_explicit_arithmetic_types_int16 1\n"
+            "#define GL_KHX_shader_explicit_arithmetic_types_int32 1\n"
+            "#define GL_KHX_shader_explicit_arithmetic_types_int64 1\n"
+            "#define GL_KHX_shader_explicit_arithmetic_types_float16 1\n"
+            "#define GL_KHX_shader_explicit_arithmetic_types_float32 1\n"
+            "#define GL_KHX_shader_explicit_arithmetic_types_float64 1\n"
             ;
 
         if (version >= 150) {
@@ -680,6 +718,21 @@
         updateExtensionBehavior(line, "GL_OES_shader_io_blocks", behaviorString);
     else if (strcmp(extension, "GL_GOOGLE_include_directive") == 0)
         updateExtensionBehavior(line, "GL_GOOGLE_cpp_style_line_directive", behaviorString);
+    // subgroup_* to subgroup_basic
+    else if (strcmp(extension, "GL_KHR_shader_subgroup_vote") == 0)
+        updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString);
+    else if (strcmp(extension, "GL_KHR_shader_subgroup_arithmetic") == 0)
+        updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString);
+    else if (strcmp(extension, "GL_KHR_shader_subgroup_ballot") == 0)
+        updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString);
+    else if (strcmp(extension, "GL_KHR_shader_subgroup_shuffle") == 0)
+        updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString);
+    else if (strcmp(extension, "GL_KHR_shader_subgroup_shuffle_relative") == 0)
+        updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString);
+    else if (strcmp(extension, "GL_KHR_shader_subgroup_clustered") == 0)
+        updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString);
+    else if (strcmp(extension, "GL_KHR_shader_subgroup_quad") == 0)
+        updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString);
 }
 
 void TParseVersions::updateExtensionBehavior(const char* extension, TExtensionBehavior behavior)
@@ -737,35 +790,105 @@
     profileRequires(loc, ECompatibilityProfile, 400, nullptr, op);
 }
 
-#ifdef AMD_EXTENSIONS
-// Call for any operation needing GLSL 16-bit integer data-type support.
-void TParseVersions::int16Check(const TSourceLoc& loc, const char* op, bool builtIn)
+// Call for any operation needing GLSL float16 data-type support.
+void TParseVersions::float16Check(const TSourceLoc& loc, const char* op, bool builtIn)
 {
-    if (! builtIn) {
-        requireExtensions(loc, 1, &E_GL_AMD_gpu_shader_int16, "shader int16");
+    if (!builtIn) {
+#if AMD_EXTENSIONS
+        const char* const extensions[3] = {E_GL_AMD_gpu_shader_half_float,
+                                           E_GL_KHX_shader_explicit_arithmetic_types,
+                                           E_GL_KHX_shader_explicit_arithmetic_types_float16};
+
+#else
+        const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
+                                           E_GL_KHX_shader_explicit_arithmetic_types_float16};
+#endif
+        requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
         requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
         profileRequires(loc, ECoreProfile, 450, nullptr, op);
         profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
     }
 }
 
-// Call for any operation needing GLSL float16 data-type support.
-void TParseVersions::float16Check(const TSourceLoc& loc, const char* op, bool builtIn)
+// Call for any operation needing GLSL float32 data-type support.
+void TParseVersions::explicitFloat32Check(const TSourceLoc& loc, const char* op, bool builtIn)
 {
-    if (! builtIn) {
-        requireExtensions(loc, 1, &E_GL_AMD_gpu_shader_half_float, "shader half float");
+    if (!builtIn) {
+        const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
+                                           E_GL_KHX_shader_explicit_arithmetic_types_float32};
+        requireExtensions(loc, 2, extensions, "explicit types");
         requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
         profileRequires(loc, ECoreProfile, 450, nullptr, op);
         profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
     }
 }
+
+// Call for any operation needing GLSL float64 data-type support.
+void TParseVersions::explicitFloat64Check(const TSourceLoc& loc, const char* op, bool builtIn)
+{
+    if (!builtIn) {
+        const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
+                                           E_GL_KHX_shader_explicit_arithmetic_types_float64};
+        requireExtensions(loc, 2, extensions, "explicit types");
+        requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
+        profileRequires(loc, ECoreProfile, 450, nullptr, op);
+        profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
+    }
+}
+
+// Call for any operation needing GLSL explicit int8 data-type support.
+void TParseVersions::explicitInt8Check(const TSourceLoc& loc, const char* op, bool builtIn)
+{
+    if (! builtIn) {
+        const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
+                                           E_GL_KHX_shader_explicit_arithmetic_types_int8};
+        requireExtensions(loc, 2, extensions, "explicit types");
+        requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
+        profileRequires(loc, ECoreProfile, 450, nullptr, op);
+        profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
+    }
+}
+
+// Call for any operation needing GLSL explicit int16 data-type support.
+void TParseVersions::explicitInt16Check(const TSourceLoc& loc, const char* op, bool builtIn)
+{
+    if (! builtIn) {
+#if AMD_EXTENSIONS
+	const char* const extensions[3] = {E_GL_AMD_gpu_shader_int16,
+                                           E_GL_KHX_shader_explicit_arithmetic_types,
+                                           E_GL_KHX_shader_explicit_arithmetic_types_int16};
+#else
+        const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
+                                           E_GL_KHX_shader_explicit_arithmetic_types_int16};
 #endif
+        requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
+        requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
+        profileRequires(loc, ECoreProfile, 450, nullptr, op);
+        profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
+    }
+}
+
+// Call for any operation needing GLSL explicit int32 data-type support.
+void TParseVersions::explicitInt32Check(const TSourceLoc& loc, const char* op, bool builtIn)
+{
+    if (! builtIn) {
+        const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
+                                           E_GL_KHX_shader_explicit_arithmetic_types_int32};
+        requireExtensions(loc, 2, extensions, "explicit types");
+        requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
+        profileRequires(loc, ECoreProfile, 450, nullptr, op);
+        profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
+    }
+}
 
 // Call for any operation needing GLSL 64-bit integer data-type support.
 void TParseVersions::int64Check(const TSourceLoc& loc, const char* op, bool builtIn)
 {
     if (! builtIn) {
-        requireExtensions(loc, 1, &E_GL_ARB_gpu_shader_int64, "shader int64");
+        const char* const extensions[3] = {E_GL_ARB_gpu_shader_int64,
+                                           E_GL_KHX_shader_explicit_arithmetic_types,
+                                           E_GL_KHX_shader_explicit_arithmetic_types_int64};
+        requireExtensions(loc, 3, extensions, "shader int64");
         requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
         profileRequires(loc, ECoreProfile, 450, nullptr, op);
         profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h
index bd57103..ead9075 100644
--- a/glslang/MachineIndependent/Versions.h
+++ b/glslang/MachineIndependent/Versions.h
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -139,6 +140,15 @@
 const char* const E_GL_ARB_post_depth_coverage          = "GL_ARB_post_depth_coverage";
 const char* const E_GL_ARB_shader_viewport_layer_array  = "GL_ARB_shader_viewport_layer_array";
 
+const char* const E_GL_KHR_shader_subgroup_basic            = "GL_KHR_shader_subgroup_basic";
+const char* const E_GL_KHR_shader_subgroup_vote             = "GL_KHR_shader_subgroup_vote";
+const char* const E_GL_KHR_shader_subgroup_arithmetic       = "GL_KHR_shader_subgroup_arithmetic";
+const char* const E_GL_KHR_shader_subgroup_ballot           = "GL_KHR_shader_subgroup_ballot";
+const char* const E_GL_KHR_shader_subgroup_shuffle          = "GL_KHR_shader_subgroup_shuffle";
+const char* const E_GL_KHR_shader_subgroup_shuffle_relative = "GL_KHR_shader_subgroup_shuffle_relative";
+const char* const E_GL_KHR_shader_subgroup_clustered        = "GL_KHR_shader_subgroup_clustered";
+const char* const E_GL_KHR_shader_subgroup_quad             = "GL_KHR_shader_subgroup_quad";
+
 const char* const E_GL_EXT_shader_non_constant_global_initializers = "GL_EXT_shader_non_constant_global_initializers";
 const char* const E_GL_EXT_shader_image_load_formatted = "GL_EXT_shader_image_load_formatted";
 
@@ -218,6 +228,16 @@
 const char* const E_GL_OES_texture_buffer                       = "GL_OES_texture_buffer";
 const char* const E_GL_OES_texture_cube_map_array               = "GL_OES_texture_cube_map_array";
 
+// KHX
+const char* const E_GL_KHX_shader_explicit_arithmetic_types          = "GL_KHX_shader_explicit_arithmetic_types";
+const char* const E_GL_KHX_shader_explicit_arithmetic_types_int8     = "GL_KHX_shader_explicit_arithmetic_types_int8";
+const char* const E_GL_KHX_shader_explicit_arithmetic_types_int16    = "GL_KHX_shader_explicit_arithmetic_types_int16";
+const char* const E_GL_KHX_shader_explicit_arithmetic_types_int32    = "GL_KHX_shader_explicit_arithmetic_types_int32";
+const char* const E_GL_KHX_shader_explicit_arithmetic_types_int64    = "GL_KHX_shader_explicit_arithmetic_types_int64";
+const char* const E_GL_KHX_shader_explicit_arithmetic_types_float16  = "GL_KHX_shader_explicit_arithmetic_types_float16";
+const char* const E_GL_KHX_shader_explicit_arithmetic_types_float32  = "GL_KHX_shader_explicit_arithmetic_types_float32";
+const char* const E_GL_KHX_shader_explicit_arithmetic_types_float64  = "GL_KHX_shader_explicit_arithmetic_types_float64";
+
 // Arrays of extensions for the above AEP duplications
 
 const char* const AEP_geometry_shader[] = { E_GL_EXT_geometry_shader, E_GL_OES_geometry_shader };
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index a011935..c87ac7d 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -121,15 +122,28 @@
 %expect 1     // One shift reduce conflict because of if | else
 
 %token <lex> ATTRIBUTE VARYING
-%token <lex> CONST BOOL FLOAT DOUBLE INT UINT INT64_T UINT64_T INT16_T UINT16_T FLOAT16_T
+%token <lex> FLOAT16_T FLOAT FLOAT32_T DOUBLE FLOAT64_T
+%token <lex> CONST BOOL INT UINT INT64_T UINT64_T INT32_T UINT32_T INT16_T UINT16_T INT8_T UINT8_T
 %token <lex> BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT SUBROUTINE
-%token <lex> BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 I64VEC2 I64VEC3 I64VEC4 UVEC2 UVEC3 UVEC4 U64VEC2 U64VEC3 U64VEC4 VEC2 VEC3 VEC4
+%token <lex> BVEC2 BVEC3 BVEC4
+%token <lex> IVEC2 IVEC3 IVEC4
+%token <lex> UVEC2 UVEC3 UVEC4
+%token <lex> I64VEC2 I64VEC3 I64VEC4
+%token <lex> U64VEC2 U64VEC3 U64VEC4
+%token <lex> I32VEC2 I32VEC3 I32VEC4
+%token <lex> U32VEC2 U32VEC3 U32VEC4
+%token <lex> I16VEC2 I16VEC3 I16VEC4
+%token <lex> U16VEC2 U16VEC3 U16VEC4
+%token <lex> I8VEC2  I8VEC3  I8VEC4
+%token <lex> U8VEC2  U8VEC3  U8VEC4
+%token <lex> VEC2 VEC3 VEC4
 %token <lex> MAT2 MAT3 MAT4 CENTROID IN OUT INOUT
 %token <lex> UNIFORM PATCH SAMPLE BUFFER SHARED
 %token <lex> COHERENT VOLATILE RESTRICT READONLY WRITEONLY
 %token <lex> DVEC2 DVEC3 DVEC4 DMAT2 DMAT3 DMAT4
 %token <lex> F16VEC2 F16VEC3 F16VEC4 F16MAT2 F16MAT3 F16MAT4
-%token <lex> I16VEC2 I16VEC3 I16VEC4 U16VEC2 U16VEC3 U16VEC4
+%token <lex> F32VEC2 F32VEC3 F32VEC4 F32MAT2 F32MAT3 F32MAT4
+%token <lex> F64VEC2 F64VEC3 F64VEC4 F64MAT2 F64MAT3 F64MAT4
 %token <lex> NOPERSPECTIVE FLAT SMOOTH LAYOUT __EXPLICITINTERPAMD
 
 %token <lex> MAT2X2 MAT2X3 MAT2X4
@@ -141,6 +155,12 @@
 %token <lex> F16MAT2X2 F16MAT2X3 F16MAT2X4
 %token <lex> F16MAT3X2 F16MAT3X3 F16MAT3X4
 %token <lex> F16MAT4X2 F16MAT4X3 F16MAT4X4
+%token <lex> F32MAT2X2 F32MAT2X3 F32MAT2X4
+%token <lex> F32MAT3X2 F32MAT3X3 F32MAT3X4
+%token <lex> F32MAT4X2 F32MAT4X3 F32MAT4X4
+%token <lex> F64MAT2X2 F64MAT2X3 F64MAT2X4
+%token <lex> F64MAT3X2 F64MAT3X3 F64MAT3X4
+%token <lex> F64MAT4X2 F64MAT4X3 F64MAT4X4
 %token <lex> ATOMIC_UINT
 
 // combined image/sampler
@@ -189,7 +209,7 @@
 %token <lex> STRUCT VOID WHILE
 
 %token <lex> IDENTIFIER TYPE_NAME
-%token <lex> FLOATCONSTANT DOUBLECONSTANT INTCONSTANT UINTCONSTANT INT64CONSTANT UINT64CONSTANT INT16CONSTANT UINT16CONSTANT BOOLCONSTANT FLOAT16CONSTANT
+%token <lex> FLOATCONSTANT DOUBLECONSTANT INT16CONSTANT UINT16CONSTANT INT32CONSTANT UINT32CONSTANT INTCONSTANT UINTCONSTANT INT64CONSTANT UINT64CONSTANT BOOLCONSTANT FLOAT16CONSTANT
 %token <lex> LEFT_OP RIGHT_OP
 %token <lex> INC_OP DEC_OP LE_OP GE_OP EQ_OP NE_OP
 %token <lex> AND_OP OR_OP XOR_OP MUL_ASSIGN DIV_ASSIGN ADD_ASSIGN
@@ -259,6 +279,14 @@
     : variable_identifier {
         $$ = $1;
     }
+    | INT32CONSTANT {
+        parseContext.explicitInt32Check($1.loc, "32-bit signed literal");
+        $$ = parseContext.intermediate.addConstantUnion($1.i, $1.loc, true);
+    }
+    | UINT32CONSTANT {
+        parseContext.explicitInt32Check($1.loc, "32-bit signed literal");
+        $$ = parseContext.intermediate.addConstantUnion($1.u, $1.loc, true);
+    }
     | INTCONSTANT {
         $$ = parseContext.intermediate.addConstantUnion($1.i, $1.loc, true);
     }
@@ -275,16 +303,12 @@
         $$ = parseContext.intermediate.addConstantUnion($1.u64, $1.loc, true);
     }
     | INT16CONSTANT {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit integer literal");
+        parseContext.explicitInt16Check($1.loc, "16-bit integer literal");
         $$ = parseContext.intermediate.addConstantUnion((short)$1.i, $1.loc, true);
-#endif
     }
     | UINT16CONSTANT {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit unsigned integer literal");
+        parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer literal");
         $$ = parseContext.intermediate.addConstantUnion((unsigned short)$1.u, $1.loc, true);
-#endif
     }
     | FLOATCONSTANT {
         $$ = parseContext.intermediate.addConstantUnion($1.d, EbtFloat, $1.loc, true);
@@ -294,10 +318,8 @@
         $$ = parseContext.intermediate.addConstantUnion($1.d, EbtDouble, $1.loc, true);
     }
     | FLOAT16CONSTANT {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float literal");
         $$ = parseContext.intermediate.addConstantUnion($1.d, EbtFloat16, $1.loc, true);
-#endif
     }
     | BOOLCONSTANT {
         $$ = parseContext.intermediate.addConstantUnion($1.b, $1.loc, true);
@@ -1356,11 +1378,19 @@
         $$.basicType = EbtDouble;
     }
     | FLOAT16_T {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check($1.loc, "half float", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.float16Check($1.loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
-#endif
+    }
+    | FLOAT32_T {
+        parseContext.explicitFloat32Check($1.loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtFloat;
+    }
+    | FLOAT64_T {
+        parseContext.explicitFloat64Check($1.loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtDouble;
     }
     | INT {
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
@@ -1371,6 +1401,36 @@
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtUint;
     }
+    | INT8_T {
+        parseContext.explicitInt8Check($1.loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtInt8;
+    }
+    | UINT8_T {
+        parseContext.explicitInt8Check($1.loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint8;
+    }
+    | INT16_T {
+        parseContext.explicitInt16Check($1.loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtInt16;
+    }
+    | UINT16_T {
+        parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint16;
+    }
+    | INT32_T {
+        parseContext.explicitInt32Check($1.loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtInt;
+    }
+    | UINT32_T {
+        parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint;
+    }
     | INT64_T {
         parseContext.int64Check($1.loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
@@ -1381,20 +1441,6 @@
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtUint64;
     }
-    | INT16_T {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit integer", parseContext.symbolTable.atBuiltInLevel());
-        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-        $$.basicType = EbtInt16;
-#endif
-    }
-    | UINT16_T {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
-        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-        $$.basicType = EbtUint16;
-#endif
-    }
     | BOOL {
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtBool;
@@ -1433,28 +1479,58 @@
         $$.setVector(4);
     }
     | F16VEC2 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setVector(2);
-#endif
     }
     | F16VEC3 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setVector(3);
-#endif
     }
     | F16VEC4 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setVector(4);
-#endif
+    }
+    | F32VEC2 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setVector(2);
+    }
+    | F32VEC3 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setVector(3);
+    }
+    | F32VEC4 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setVector(4);
+    }
+    | F64VEC2 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setVector(2);
+    }
+    | F64VEC3 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setVector(3);
+    }
+    | F64VEC4 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setVector(4);
     }
     | BVEC2 {
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
@@ -1486,6 +1562,60 @@
         $$.basicType = EbtInt;
         $$.setVector(4);
     }
+    | I8VEC2 {
+ 	   parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ 	   $$.basicType = EbtInt8;
+ 	   $$.setVector(2);
+    }
+    | I8VEC3 {
+ 	   parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ 	   $$.basicType = EbtInt8;
+ 	   $$.setVector(3);
+    }
+    | I8VEC4 {
+ 	   parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ 	   $$.basicType = EbtInt8;
+ 	   $$.setVector(4);
+    }
+    | I16VEC2 {
+ 	   parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ 	   $$.basicType = EbtInt16;
+ 	   $$.setVector(2);
+    }
+    | I16VEC3 {
+ 	   parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ 	   $$.basicType = EbtInt16;
+ 	   $$.setVector(3);
+    }
+    | I16VEC4 {
+ 	   parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ 	   $$.basicType = EbtInt16;
+ 	   $$.setVector(4);
+    }
+    | I32VEC2 {
+        parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtInt;
+        $$.setVector(2);
+    }
+    | I32VEC3 {
+        parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtInt;
+        $$.setVector(3);
+    }
+    | I32VEC4 {
+        parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtInt;
+        $$.setVector(4);
+    }
     | I64VEC2 {
         parseContext.int64Check($1.loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
@@ -1504,30 +1634,6 @@
         $$.basicType = EbtInt64;
         $$.setVector(4);
     }
-    | I16VEC2 {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-        $$.basicType = EbtInt16;
-        $$.setVector(2);
-#endif
-    }
-    | I16VEC3 {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-        $$.basicType = EbtInt16;
-        $$.setVector(3);
-#endif
-    }
-    | I16VEC4 {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-        $$.basicType = EbtInt16;
-        $$.setVector(4);
-#endif
-    }
     | UVEC2 {
         parseContext.fullIntegerCheck($1.loc, "unsigned integer vector");
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
@@ -1546,6 +1652,60 @@
         $$.basicType = EbtUint;
         $$.setVector(4);
     }
+    | U8VEC2 {
+        parseContext.explicitInt8Check($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint8;
+        $$.setVector(2);
+    }
+    | U8VEC3 {
+        parseContext.explicitInt8Check($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtInt8;
+        $$.setVector(3);
+    }
+    | U8VEC4 {
+        parseContext.explicitInt8Check($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint8;
+        $$.setVector(4);
+    }
+    | U16VEC2 {
+        parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint16;
+        $$.setVector(2);
+    }
+    | U16VEC3 {
+        parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint16;
+        $$.setVector(3);
+    }
+    | U16VEC4 {
+        parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint16;
+        $$.setVector(4);
+    }
+    | U32VEC2 {
+        parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint;
+        $$.setVector(2);
+    }
+    | U32VEC3 {
+        parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint;
+        $$.setVector(3);
+    }
+    | U32VEC4 {
+        parseContext.explicitInt32Check($1.loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+        $$.basicType = EbtUint;
+        $$.setVector(4);
+    }
     | U64VEC2 {
         parseContext.int64Check($1.loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
@@ -1564,30 +1724,6 @@
         $$.basicType = EbtUint64;
         $$.setVector(4);
     }
-    | U16VEC2 {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-        $$.basicType = EbtUint16;
-        $$.setVector(2);
-#endif
-    }
-    | U16VEC3 {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-        $$.basicType = EbtUint16;
-        $$.setVector(3);
-#endif
-    }
-    | U16VEC4 {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
-        $$.basicType = EbtUint16;
-        $$.setVector(4);
-#endif
-    }
     | MAT2 {
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat;
@@ -1721,100 +1857,220 @@
         $$.setMatrix(4, 4);
     }
     | F16MAT2 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(2, 2);
-#endif
     }
     | F16MAT3 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(3, 3);
-#endif
     }
     | F16MAT4 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(4, 4);
-#endif
     }
     | F16MAT2X2 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(2, 2);
-#endif
     }
     | F16MAT2X3 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(2, 3);
-#endif
     }
     | F16MAT2X4 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(2, 4);
-#endif
     }
     | F16MAT3X2 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(3, 2);
-#endif
     }
     | F16MAT3X3 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(3, 3);
-#endif
     }
     | F16MAT3X4 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(3, 4);
-#endif
     }
     | F16MAT4X2 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(4, 2);
-#endif
     }
     | F16MAT4X3 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(4, 3);
-#endif
     }
     | F16MAT4X4 {
-#ifdef AMD_EXTENSIONS
         parseContext.float16Check($1.loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
         $$.basicType = EbtFloat16;
         $$.setMatrix(4, 4);
-#endif
+    }
+    | F32MAT2 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(2, 2);
+    }
+    | F32MAT3 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(3, 3);
+    }
+    | F32MAT4 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(4, 4);
+    }
+    | F32MAT2X2 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(2, 2);
+    }
+    | F32MAT2X3 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(2, 3);
+    }
+    | F32MAT2X4 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(2, 4);
+    }
+    | F32MAT3X2 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(3, 2);
+    }
+    | F32MAT3X3 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(3, 3);
+    }
+    | F32MAT3X4 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(3, 4);
+    }
+    | F32MAT4X2 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(4, 2);
+    }
+    | F32MAT4X3 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(4, 3);
+    }
+    | F32MAT4X4 {
+    	parseContext.explicitFloat32Check($1.loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtFloat;
+    	$$.setMatrix(4, 4);
+    }
+    | F64MAT2 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(2, 2);
+    }
+    | F64MAT3 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(3, 3);
+    }
+    | F64MAT4 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(4, 4);
+    }
+    | F64MAT2X2 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(2, 2);
+    }
+    | F64MAT2X3 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(2, 3);
+    }
+    | F64MAT2X4 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(2, 4);
+    }
+    | F64MAT3X2 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(3, 2);
+    }
+    | F64MAT3X3 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(3, 3);
+    }
+    | F64MAT3X4 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(3, 4);
+    }
+    | F64MAT4X2 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(4, 2);
+    }
+    | F64MAT4X3 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(4, 3);
+    }
+    | F64MAT4X4 {
+    	parseContext.explicitFloat64Check($1.loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+    	$$.basicType = EbtDouble;
+    	$$.setMatrix(4, 4);
     }
     | ATOMIC_UINT {
         parseContext.vulkanRemoved($1.loc, "atomic counter types");
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index fabec4b..4682b99 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -62,7 +62,7 @@
 
 
 /* Copy the first part of user declarations.  */
-#line 41 "MachineIndependent/glslang.y" /* yacc.c:339  */
+#line 42 "MachineIndependent/glslang.y" /* yacc.c:339  */
 
 
 /* Based on:
@@ -124,299 +124,349 @@
   {
     ATTRIBUTE = 258,
     VARYING = 259,
-    CONST = 260,
-    BOOL = 261,
-    FLOAT = 262,
+    FLOAT16_T = 260,
+    FLOAT = 261,
+    FLOAT32_T = 262,
     DOUBLE = 263,
-    INT = 264,
-    UINT = 265,
-    INT64_T = 266,
-    UINT64_T = 267,
-    INT16_T = 268,
-    UINT16_T = 269,
-    FLOAT16_T = 270,
-    BREAK = 271,
-    CONTINUE = 272,
-    DO = 273,
-    ELSE = 274,
-    FOR = 275,
-    IF = 276,
-    DISCARD = 277,
-    RETURN = 278,
-    SWITCH = 279,
-    CASE = 280,
-    DEFAULT = 281,
-    SUBROUTINE = 282,
-    BVEC2 = 283,
-    BVEC3 = 284,
-    BVEC4 = 285,
-    IVEC2 = 286,
-    IVEC3 = 287,
-    IVEC4 = 288,
-    I64VEC2 = 289,
-    I64VEC3 = 290,
-    I64VEC4 = 291,
-    UVEC2 = 292,
-    UVEC3 = 293,
-    UVEC4 = 294,
-    U64VEC2 = 295,
-    U64VEC3 = 296,
-    U64VEC4 = 297,
-    VEC2 = 298,
-    VEC3 = 299,
-    VEC4 = 300,
-    MAT2 = 301,
-    MAT3 = 302,
-    MAT4 = 303,
-    CENTROID = 304,
-    IN = 305,
-    OUT = 306,
-    INOUT = 307,
-    UNIFORM = 308,
-    PATCH = 309,
-    SAMPLE = 310,
-    BUFFER = 311,
-    SHARED = 312,
-    COHERENT = 313,
-    VOLATILE = 314,
-    RESTRICT = 315,
-    READONLY = 316,
-    WRITEONLY = 317,
-    DVEC2 = 318,
-    DVEC3 = 319,
-    DVEC4 = 320,
-    DMAT2 = 321,
-    DMAT3 = 322,
-    DMAT4 = 323,
-    F16VEC2 = 324,
-    F16VEC3 = 325,
-    F16VEC4 = 326,
-    F16MAT2 = 327,
-    F16MAT3 = 328,
-    F16MAT4 = 329,
-    I16VEC2 = 330,
-    I16VEC3 = 331,
-    I16VEC4 = 332,
-    U16VEC2 = 333,
-    U16VEC3 = 334,
-    U16VEC4 = 335,
-    NOPERSPECTIVE = 336,
-    FLAT = 337,
-    SMOOTH = 338,
-    LAYOUT = 339,
-    __EXPLICITINTERPAMD = 340,
-    MAT2X2 = 341,
-    MAT2X3 = 342,
-    MAT2X4 = 343,
-    MAT3X2 = 344,
-    MAT3X3 = 345,
-    MAT3X4 = 346,
-    MAT4X2 = 347,
-    MAT4X3 = 348,
-    MAT4X4 = 349,
-    DMAT2X2 = 350,
-    DMAT2X3 = 351,
-    DMAT2X4 = 352,
-    DMAT3X2 = 353,
-    DMAT3X3 = 354,
-    DMAT3X4 = 355,
-    DMAT4X2 = 356,
-    DMAT4X3 = 357,
-    DMAT4X4 = 358,
-    F16MAT2X2 = 359,
-    F16MAT2X3 = 360,
-    F16MAT2X4 = 361,
-    F16MAT3X2 = 362,
-    F16MAT3X3 = 363,
-    F16MAT3X4 = 364,
-    F16MAT4X2 = 365,
-    F16MAT4X3 = 366,
-    F16MAT4X4 = 367,
-    ATOMIC_UINT = 368,
-    SAMPLER1D = 369,
-    SAMPLER2D = 370,
-    SAMPLER3D = 371,
-    SAMPLERCUBE = 372,
-    SAMPLER1DSHADOW = 373,
-    SAMPLER2DSHADOW = 374,
-    SAMPLERCUBESHADOW = 375,
-    SAMPLER1DARRAY = 376,
-    SAMPLER2DARRAY = 377,
-    SAMPLER1DARRAYSHADOW = 378,
-    SAMPLER2DARRAYSHADOW = 379,
-    ISAMPLER1D = 380,
-    ISAMPLER2D = 381,
-    ISAMPLER3D = 382,
-    ISAMPLERCUBE = 383,
-    ISAMPLER1DARRAY = 384,
-    ISAMPLER2DARRAY = 385,
-    USAMPLER1D = 386,
-    USAMPLER2D = 387,
-    USAMPLER3D = 388,
-    USAMPLERCUBE = 389,
-    USAMPLER1DARRAY = 390,
-    USAMPLER2DARRAY = 391,
-    SAMPLER2DRECT = 392,
-    SAMPLER2DRECTSHADOW = 393,
-    ISAMPLER2DRECT = 394,
-    USAMPLER2DRECT = 395,
-    SAMPLERBUFFER = 396,
-    ISAMPLERBUFFER = 397,
-    USAMPLERBUFFER = 398,
-    SAMPLERCUBEARRAY = 399,
-    SAMPLERCUBEARRAYSHADOW = 400,
-    ISAMPLERCUBEARRAY = 401,
-    USAMPLERCUBEARRAY = 402,
-    SAMPLER2DMS = 403,
-    ISAMPLER2DMS = 404,
-    USAMPLER2DMS = 405,
-    SAMPLER2DMSARRAY = 406,
-    ISAMPLER2DMSARRAY = 407,
-    USAMPLER2DMSARRAY = 408,
-    SAMPLEREXTERNALOES = 409,
-    SAMPLER = 410,
-    SAMPLERSHADOW = 411,
-    TEXTURE1D = 412,
-    TEXTURE2D = 413,
-    TEXTURE3D = 414,
-    TEXTURECUBE = 415,
-    TEXTURE1DARRAY = 416,
-    TEXTURE2DARRAY = 417,
-    ITEXTURE1D = 418,
-    ITEXTURE2D = 419,
-    ITEXTURE3D = 420,
-    ITEXTURECUBE = 421,
-    ITEXTURE1DARRAY = 422,
-    ITEXTURE2DARRAY = 423,
-    UTEXTURE1D = 424,
-    UTEXTURE2D = 425,
-    UTEXTURE3D = 426,
-    UTEXTURECUBE = 427,
-    UTEXTURE1DARRAY = 428,
-    UTEXTURE2DARRAY = 429,
-    TEXTURE2DRECT = 430,
-    ITEXTURE2DRECT = 431,
-    UTEXTURE2DRECT = 432,
-    TEXTUREBUFFER = 433,
-    ITEXTUREBUFFER = 434,
-    UTEXTUREBUFFER = 435,
-    TEXTURECUBEARRAY = 436,
-    ITEXTURECUBEARRAY = 437,
-    UTEXTURECUBEARRAY = 438,
-    TEXTURE2DMS = 439,
-    ITEXTURE2DMS = 440,
-    UTEXTURE2DMS = 441,
-    TEXTURE2DMSARRAY = 442,
-    ITEXTURE2DMSARRAY = 443,
-    UTEXTURE2DMSARRAY = 444,
-    SUBPASSINPUT = 445,
-    SUBPASSINPUTMS = 446,
-    ISUBPASSINPUT = 447,
-    ISUBPASSINPUTMS = 448,
-    USUBPASSINPUT = 449,
-    USUBPASSINPUTMS = 450,
-    IMAGE1D = 451,
-    IIMAGE1D = 452,
-    UIMAGE1D = 453,
-    IMAGE2D = 454,
-    IIMAGE2D = 455,
-    UIMAGE2D = 456,
-    IMAGE3D = 457,
-    IIMAGE3D = 458,
-    UIMAGE3D = 459,
-    IMAGE2DRECT = 460,
-    IIMAGE2DRECT = 461,
-    UIMAGE2DRECT = 462,
-    IMAGECUBE = 463,
-    IIMAGECUBE = 464,
-    UIMAGECUBE = 465,
-    IMAGEBUFFER = 466,
-    IIMAGEBUFFER = 467,
-    UIMAGEBUFFER = 468,
-    IMAGE1DARRAY = 469,
-    IIMAGE1DARRAY = 470,
-    UIMAGE1DARRAY = 471,
-    IMAGE2DARRAY = 472,
-    IIMAGE2DARRAY = 473,
-    UIMAGE2DARRAY = 474,
-    IMAGECUBEARRAY = 475,
-    IIMAGECUBEARRAY = 476,
-    UIMAGECUBEARRAY = 477,
-    IMAGE2DMS = 478,
-    IIMAGE2DMS = 479,
-    UIMAGE2DMS = 480,
-    IMAGE2DMSARRAY = 481,
-    IIMAGE2DMSARRAY = 482,
-    UIMAGE2DMSARRAY = 483,
-    STRUCT = 484,
-    VOID = 485,
-    WHILE = 486,
-    IDENTIFIER = 487,
-    TYPE_NAME = 488,
-    FLOATCONSTANT = 489,
-    DOUBLECONSTANT = 490,
-    INTCONSTANT = 491,
-    UINTCONSTANT = 492,
-    INT64CONSTANT = 493,
-    UINT64CONSTANT = 494,
-    INT16CONSTANT = 495,
-    UINT16CONSTANT = 496,
-    BOOLCONSTANT = 497,
-    FLOAT16CONSTANT = 498,
-    LEFT_OP = 499,
-    RIGHT_OP = 500,
-    INC_OP = 501,
-    DEC_OP = 502,
-    LE_OP = 503,
-    GE_OP = 504,
-    EQ_OP = 505,
-    NE_OP = 506,
-    AND_OP = 507,
-    OR_OP = 508,
-    XOR_OP = 509,
-    MUL_ASSIGN = 510,
-    DIV_ASSIGN = 511,
-    ADD_ASSIGN = 512,
-    MOD_ASSIGN = 513,
-    LEFT_ASSIGN = 514,
-    RIGHT_ASSIGN = 515,
-    AND_ASSIGN = 516,
-    XOR_ASSIGN = 517,
-    OR_ASSIGN = 518,
-    SUB_ASSIGN = 519,
-    LEFT_PAREN = 520,
-    RIGHT_PAREN = 521,
-    LEFT_BRACKET = 522,
-    RIGHT_BRACKET = 523,
-    LEFT_BRACE = 524,
-    RIGHT_BRACE = 525,
-    DOT = 526,
-    COMMA = 527,
-    COLON = 528,
-    EQUAL = 529,
-    SEMICOLON = 530,
-    BANG = 531,
-    DASH = 532,
-    TILDE = 533,
-    PLUS = 534,
-    STAR = 535,
-    SLASH = 536,
-    PERCENT = 537,
-    LEFT_ANGLE = 538,
-    RIGHT_ANGLE = 539,
-    VERTICAL_BAR = 540,
-    CARET = 541,
-    AMPERSAND = 542,
-    QUESTION = 543,
-    INVARIANT = 544,
-    PRECISE = 545,
-    HIGH_PRECISION = 546,
-    MEDIUM_PRECISION = 547,
-    LOW_PRECISION = 548,
-    PRECISION = 549,
-    PACKED = 550,
-    RESOURCE = 551,
-    SUPERP = 552
+    FLOAT64_T = 264,
+    CONST = 265,
+    BOOL = 266,
+    INT = 267,
+    UINT = 268,
+    INT64_T = 269,
+    UINT64_T = 270,
+    INT32_T = 271,
+    UINT32_T = 272,
+    INT16_T = 273,
+    UINT16_T = 274,
+    INT8_T = 275,
+    UINT8_T = 276,
+    BREAK = 277,
+    CONTINUE = 278,
+    DO = 279,
+    ELSE = 280,
+    FOR = 281,
+    IF = 282,
+    DISCARD = 283,
+    RETURN = 284,
+    SWITCH = 285,
+    CASE = 286,
+    DEFAULT = 287,
+    SUBROUTINE = 288,
+    BVEC2 = 289,
+    BVEC3 = 290,
+    BVEC4 = 291,
+    IVEC2 = 292,
+    IVEC3 = 293,
+    IVEC4 = 294,
+    UVEC2 = 295,
+    UVEC3 = 296,
+    UVEC4 = 297,
+    I64VEC2 = 298,
+    I64VEC3 = 299,
+    I64VEC4 = 300,
+    U64VEC2 = 301,
+    U64VEC3 = 302,
+    U64VEC4 = 303,
+    I32VEC2 = 304,
+    I32VEC3 = 305,
+    I32VEC4 = 306,
+    U32VEC2 = 307,
+    U32VEC3 = 308,
+    U32VEC4 = 309,
+    I16VEC2 = 310,
+    I16VEC3 = 311,
+    I16VEC4 = 312,
+    U16VEC2 = 313,
+    U16VEC3 = 314,
+    U16VEC4 = 315,
+    I8VEC2 = 316,
+    I8VEC3 = 317,
+    I8VEC4 = 318,
+    U8VEC2 = 319,
+    U8VEC3 = 320,
+    U8VEC4 = 321,
+    VEC2 = 322,
+    VEC3 = 323,
+    VEC4 = 324,
+    MAT2 = 325,
+    MAT3 = 326,
+    MAT4 = 327,
+    CENTROID = 328,
+    IN = 329,
+    OUT = 330,
+    INOUT = 331,
+    UNIFORM = 332,
+    PATCH = 333,
+    SAMPLE = 334,
+    BUFFER = 335,
+    SHARED = 336,
+    COHERENT = 337,
+    VOLATILE = 338,
+    RESTRICT = 339,
+    READONLY = 340,
+    WRITEONLY = 341,
+    DVEC2 = 342,
+    DVEC3 = 343,
+    DVEC4 = 344,
+    DMAT2 = 345,
+    DMAT3 = 346,
+    DMAT4 = 347,
+    F16VEC2 = 348,
+    F16VEC3 = 349,
+    F16VEC4 = 350,
+    F16MAT2 = 351,
+    F16MAT3 = 352,
+    F16MAT4 = 353,
+    F32VEC2 = 354,
+    F32VEC3 = 355,
+    F32VEC4 = 356,
+    F32MAT2 = 357,
+    F32MAT3 = 358,
+    F32MAT4 = 359,
+    F64VEC2 = 360,
+    F64VEC3 = 361,
+    F64VEC4 = 362,
+    F64MAT2 = 363,
+    F64MAT3 = 364,
+    F64MAT4 = 365,
+    NOPERSPECTIVE = 366,
+    FLAT = 367,
+    SMOOTH = 368,
+    LAYOUT = 369,
+    __EXPLICITINTERPAMD = 370,
+    MAT2X2 = 371,
+    MAT2X3 = 372,
+    MAT2X4 = 373,
+    MAT3X2 = 374,
+    MAT3X3 = 375,
+    MAT3X4 = 376,
+    MAT4X2 = 377,
+    MAT4X3 = 378,
+    MAT4X4 = 379,
+    DMAT2X2 = 380,
+    DMAT2X3 = 381,
+    DMAT2X4 = 382,
+    DMAT3X2 = 383,
+    DMAT3X3 = 384,
+    DMAT3X4 = 385,
+    DMAT4X2 = 386,
+    DMAT4X3 = 387,
+    DMAT4X4 = 388,
+    F16MAT2X2 = 389,
+    F16MAT2X3 = 390,
+    F16MAT2X4 = 391,
+    F16MAT3X2 = 392,
+    F16MAT3X3 = 393,
+    F16MAT3X4 = 394,
+    F16MAT4X2 = 395,
+    F16MAT4X3 = 396,
+    F16MAT4X4 = 397,
+    F32MAT2X2 = 398,
+    F32MAT2X3 = 399,
+    F32MAT2X4 = 400,
+    F32MAT3X2 = 401,
+    F32MAT3X3 = 402,
+    F32MAT3X4 = 403,
+    F32MAT4X2 = 404,
+    F32MAT4X3 = 405,
+    F32MAT4X4 = 406,
+    F64MAT2X2 = 407,
+    F64MAT2X3 = 408,
+    F64MAT2X4 = 409,
+    F64MAT3X2 = 410,
+    F64MAT3X3 = 411,
+    F64MAT3X4 = 412,
+    F64MAT4X2 = 413,
+    F64MAT4X3 = 414,
+    F64MAT4X4 = 415,
+    ATOMIC_UINT = 416,
+    SAMPLER1D = 417,
+    SAMPLER2D = 418,
+    SAMPLER3D = 419,
+    SAMPLERCUBE = 420,
+    SAMPLER1DSHADOW = 421,
+    SAMPLER2DSHADOW = 422,
+    SAMPLERCUBESHADOW = 423,
+    SAMPLER1DARRAY = 424,
+    SAMPLER2DARRAY = 425,
+    SAMPLER1DARRAYSHADOW = 426,
+    SAMPLER2DARRAYSHADOW = 427,
+    ISAMPLER1D = 428,
+    ISAMPLER2D = 429,
+    ISAMPLER3D = 430,
+    ISAMPLERCUBE = 431,
+    ISAMPLER1DARRAY = 432,
+    ISAMPLER2DARRAY = 433,
+    USAMPLER1D = 434,
+    USAMPLER2D = 435,
+    USAMPLER3D = 436,
+    USAMPLERCUBE = 437,
+    USAMPLER1DARRAY = 438,
+    USAMPLER2DARRAY = 439,
+    SAMPLER2DRECT = 440,
+    SAMPLER2DRECTSHADOW = 441,
+    ISAMPLER2DRECT = 442,
+    USAMPLER2DRECT = 443,
+    SAMPLERBUFFER = 444,
+    ISAMPLERBUFFER = 445,
+    USAMPLERBUFFER = 446,
+    SAMPLERCUBEARRAY = 447,
+    SAMPLERCUBEARRAYSHADOW = 448,
+    ISAMPLERCUBEARRAY = 449,
+    USAMPLERCUBEARRAY = 450,
+    SAMPLER2DMS = 451,
+    ISAMPLER2DMS = 452,
+    USAMPLER2DMS = 453,
+    SAMPLER2DMSARRAY = 454,
+    ISAMPLER2DMSARRAY = 455,
+    USAMPLER2DMSARRAY = 456,
+    SAMPLEREXTERNALOES = 457,
+    SAMPLER = 458,
+    SAMPLERSHADOW = 459,
+    TEXTURE1D = 460,
+    TEXTURE2D = 461,
+    TEXTURE3D = 462,
+    TEXTURECUBE = 463,
+    TEXTURE1DARRAY = 464,
+    TEXTURE2DARRAY = 465,
+    ITEXTURE1D = 466,
+    ITEXTURE2D = 467,
+    ITEXTURE3D = 468,
+    ITEXTURECUBE = 469,
+    ITEXTURE1DARRAY = 470,
+    ITEXTURE2DARRAY = 471,
+    UTEXTURE1D = 472,
+    UTEXTURE2D = 473,
+    UTEXTURE3D = 474,
+    UTEXTURECUBE = 475,
+    UTEXTURE1DARRAY = 476,
+    UTEXTURE2DARRAY = 477,
+    TEXTURE2DRECT = 478,
+    ITEXTURE2DRECT = 479,
+    UTEXTURE2DRECT = 480,
+    TEXTUREBUFFER = 481,
+    ITEXTUREBUFFER = 482,
+    UTEXTUREBUFFER = 483,
+    TEXTURECUBEARRAY = 484,
+    ITEXTURECUBEARRAY = 485,
+    UTEXTURECUBEARRAY = 486,
+    TEXTURE2DMS = 487,
+    ITEXTURE2DMS = 488,
+    UTEXTURE2DMS = 489,
+    TEXTURE2DMSARRAY = 490,
+    ITEXTURE2DMSARRAY = 491,
+    UTEXTURE2DMSARRAY = 492,
+    SUBPASSINPUT = 493,
+    SUBPASSINPUTMS = 494,
+    ISUBPASSINPUT = 495,
+    ISUBPASSINPUTMS = 496,
+    USUBPASSINPUT = 497,
+    USUBPASSINPUTMS = 498,
+    IMAGE1D = 499,
+    IIMAGE1D = 500,
+    UIMAGE1D = 501,
+    IMAGE2D = 502,
+    IIMAGE2D = 503,
+    UIMAGE2D = 504,
+    IMAGE3D = 505,
+    IIMAGE3D = 506,
+    UIMAGE3D = 507,
+    IMAGE2DRECT = 508,
+    IIMAGE2DRECT = 509,
+    UIMAGE2DRECT = 510,
+    IMAGECUBE = 511,
+    IIMAGECUBE = 512,
+    UIMAGECUBE = 513,
+    IMAGEBUFFER = 514,
+    IIMAGEBUFFER = 515,
+    UIMAGEBUFFER = 516,
+    IMAGE1DARRAY = 517,
+    IIMAGE1DARRAY = 518,
+    UIMAGE1DARRAY = 519,
+    IMAGE2DARRAY = 520,
+    IIMAGE2DARRAY = 521,
+    UIMAGE2DARRAY = 522,
+    IMAGECUBEARRAY = 523,
+    IIMAGECUBEARRAY = 524,
+    UIMAGECUBEARRAY = 525,
+    IMAGE2DMS = 526,
+    IIMAGE2DMS = 527,
+    UIMAGE2DMS = 528,
+    IMAGE2DMSARRAY = 529,
+    IIMAGE2DMSARRAY = 530,
+    UIMAGE2DMSARRAY = 531,
+    STRUCT = 532,
+    VOID = 533,
+    WHILE = 534,
+    IDENTIFIER = 535,
+    TYPE_NAME = 536,
+    FLOATCONSTANT = 537,
+    DOUBLECONSTANT = 538,
+    INT16CONSTANT = 539,
+    UINT16CONSTANT = 540,
+    INT32CONSTANT = 541,
+    UINT32CONSTANT = 542,
+    INTCONSTANT = 543,
+    UINTCONSTANT = 544,
+    INT64CONSTANT = 545,
+    UINT64CONSTANT = 546,
+    BOOLCONSTANT = 547,
+    FLOAT16CONSTANT = 548,
+    LEFT_OP = 549,
+    RIGHT_OP = 550,
+    INC_OP = 551,
+    DEC_OP = 552,
+    LE_OP = 553,
+    GE_OP = 554,
+    EQ_OP = 555,
+    NE_OP = 556,
+    AND_OP = 557,
+    OR_OP = 558,
+    XOR_OP = 559,
+    MUL_ASSIGN = 560,
+    DIV_ASSIGN = 561,
+    ADD_ASSIGN = 562,
+    MOD_ASSIGN = 563,
+    LEFT_ASSIGN = 564,
+    RIGHT_ASSIGN = 565,
+    AND_ASSIGN = 566,
+    XOR_ASSIGN = 567,
+    OR_ASSIGN = 568,
+    SUB_ASSIGN = 569,
+    LEFT_PAREN = 570,
+    RIGHT_PAREN = 571,
+    LEFT_BRACKET = 572,
+    RIGHT_BRACKET = 573,
+    LEFT_BRACE = 574,
+    RIGHT_BRACE = 575,
+    DOT = 576,
+    COMMA = 577,
+    COLON = 578,
+    EQUAL = 579,
+    SEMICOLON = 580,
+    BANG = 581,
+    DASH = 582,
+    TILDE = 583,
+    PLUS = 584,
+    STAR = 585,
+    SLASH = 586,
+    PERCENT = 587,
+    LEFT_ANGLE = 588,
+    RIGHT_ANGLE = 589,
+    VERTICAL_BAR = 590,
+    CARET = 591,
+    AMPERSAND = 592,
+    QUESTION = 593,
+    INVARIANT = 594,
+    PRECISE = 595,
+    HIGH_PRECISION = 596,
+    MEDIUM_PRECISION = 597,
+    LOW_PRECISION = 598,
+    PRECISION = 599,
+    PACKED = 600,
+    RESOURCE = 601,
+    SUPERP = 602
   };
 #endif
 
@@ -425,7 +475,7 @@
 typedef union YYSTYPE YYSTYPE;
 union YYSTYPE
 {
-#line 68 "MachineIndependent/glslang.y" /* yacc.c:355  */
+#line 69 "MachineIndependent/glslang.y" /* yacc.c:355  */
 
     struct {
         glslang::TSourceLoc loc;
@@ -459,7 +509,7 @@
         };
     } interm;
 
-#line 463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355  */
+#line 513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355  */
 };
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
@@ -472,7 +522,7 @@
 #endif /* !YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED  */
 
 /* Copy the second part of user declarations.  */
-#line 102 "MachineIndependent/glslang.y" /* yacc.c:358  */
+#line 103 "MachineIndependent/glslang.y" /* yacc.c:358  */
 
 
 /* windows only pragma */
@@ -488,7 +538,7 @@
 extern int yylex(YYSTYPE*, TParseContext&);
 
 
-#line 492 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358  */
+#line 542 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -709,23 +759,23 @@
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  274
+#define YYFINAL  322
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   6614
+#define YYLAST   7751
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  298
+#define YYNTOKENS  348
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  100
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  450
+#define YYNRULES  500
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  582
+#define YYNSTATES  632
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   552
+#define YYMAXUTOK   602
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -789,59 +839,69 @@
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
-     295,   296,   297
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
+     345,   346,   347
 };
 
 #if YYDEBUG
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   253,   253,   259,   262,   265,   269,   273,   277,   283,
-     289,   292,   296,   302,   305,   313,   316,   319,   322,   325,
-     330,   338,   345,   352,   358,   362,   369,   372,   378,   385,
-     395,   403,   408,   438,   444,   448,   452,   472,   473,   474,
-     475,   481,   482,   487,   492,   501,   502,   507,   515,   516,
-     522,   531,   532,   537,   542,   547,   555,   556,   564,   575,
-     576,   585,   586,   595,   596,   605,   606,   614,   615,   623,
-     624,   632,   633,   633,   651,   652,   667,   671,   675,   679,
-     684,   688,   692,   696,   700,   704,   708,   715,   718,   729,
-     736,   741,   746,   754,   758,   762,   766,   771,   776,   785,
-     785,   796,   800,   807,   814,   817,   824,   832,   852,   875,
-     890,   913,   924,   934,   944,   954,   963,   966,   970,   974,
-     979,   987,   992,   997,  1002,  1007,  1016,  1027,  1054,  1063,
-    1070,  1077,  1084,  1096,  1102,  1105,  1112,  1116,  1120,  1128,
-    1137,  1140,  1151,  1154,  1157,  1161,  1165,  1169,  1176,  1180,
-    1192,  1206,  1211,  1217,  1223,  1230,  1236,  1241,  1246,  1251,
-    1259,  1263,  1267,  1271,  1275,  1279,  1285,  1294,  1297,  1305,
-    1309,  1318,  1323,  1331,  1335,  1345,  1349,  1353,  1358,  1365,
-    1369,  1374,  1379,  1384,  1391,  1398,  1402,  1407,  1412,  1417,
-    1423,  1429,  1435,  1443,  1451,  1459,  1464,  1469,  1474,  1479,
-    1484,  1489,  1495,  1501,  1507,  1515,  1523,  1531,  1537,  1543,
-    1549,  1555,  1561,  1567,  1575,  1583,  1591,  1596,  1601,  1606,
-    1611,  1616,  1621,  1626,  1631,  1636,  1641,  1646,  1651,  1657,
-    1663,  1669,  1675,  1681,  1687,  1693,  1699,  1705,  1711,  1717,
-    1723,  1731,  1739,  1747,  1755,  1763,  1771,  1779,  1787,  1795,
-    1803,  1811,  1819,  1824,  1829,  1834,  1839,  1844,  1849,  1854,
-    1859,  1864,  1869,  1874,  1879,  1884,  1889,  1894,  1899,  1904,
-    1909,  1914,  1919,  1924,  1929,  1934,  1939,  1944,  1949,  1954,
-    1959,  1964,  1969,  1974,  1979,  1984,  1989,  1994,  1999,  2004,
-    2009,  2014,  2019,  2024,  2029,  2034,  2039,  2044,  2049,  2054,
-    2059,  2064,  2069,  2074,  2079,  2084,  2089,  2094,  2099,  2104,
-    2109,  2114,  2119,  2124,  2129,  2134,  2139,  2144,  2149,  2154,
-    2159,  2164,  2169,  2174,  2179,  2184,  2189,  2194,  2199,  2204,
-    2209,  2214,  2219,  2224,  2229,  2234,  2239,  2244,  2249,  2254,
-    2259,  2264,  2269,  2274,  2279,  2284,  2289,  2294,  2299,  2304,
-    2309,  2314,  2319,  2324,  2329,  2334,  2339,  2344,  2349,  2354,
-    2359,  2364,  2370,  2376,  2382,  2388,  2394,  2400,  2406,  2411,
-    2427,  2432,  2437,  2445,  2445,  2456,  2456,  2466,  2469,  2482,
-    2500,  2524,  2528,  2534,  2539,  2550,  2553,  2559,  2568,  2571,
-    2577,  2581,  2582,  2588,  2589,  2590,  2591,  2592,  2593,  2594,
-    2598,  2599,  2603,  2599,  2615,  2616,  2620,  2620,  2627,  2627,
-    2641,  2644,  2652,  2660,  2671,  2672,  2676,  2683,  2687,  2695,
-    2699,  2712,  2712,  2732,  2735,  2741,  2753,  2765,  2765,  2780,
-    2780,  2796,  2796,  2817,  2820,  2826,  2829,  2835,  2839,  2846,
-    2851,  2856,  2863,  2866,  2875,  2879,  2888,  2891,  2894,  2902,
-    2902
+       0,   273,   273,   279,   282,   286,   290,   293,   297,   301,
+     305,   309,   313,   316,   320,   324,   327,   335,   338,   341,
+     344,   347,   352,   360,   367,   374,   380,   384,   391,   394,
+     400,   407,   417,   425,   430,   460,   466,   470,   474,   494,
+     495,   496,   497,   503,   504,   509,   514,   523,   524,   529,
+     537,   538,   544,   553,   554,   559,   564,   569,   577,   578,
+     586,   597,   598,   607,   608,   617,   618,   627,   628,   636,
+     637,   645,   646,   654,   655,   655,   673,   674,   689,   693,
+     697,   701,   706,   710,   714,   718,   722,   726,   730,   737,
+     740,   751,   758,   763,   768,   776,   780,   784,   788,   793,
+     798,   807,   807,   818,   822,   829,   836,   839,   846,   854,
+     874,   897,   912,   935,   946,   956,   966,   976,   985,   988,
+     992,   996,  1001,  1009,  1014,  1019,  1024,  1029,  1038,  1049,
+    1076,  1085,  1092,  1099,  1106,  1118,  1124,  1127,  1134,  1138,
+    1142,  1150,  1159,  1162,  1173,  1176,  1179,  1183,  1187,  1191,
+    1198,  1202,  1214,  1228,  1233,  1239,  1245,  1252,  1258,  1263,
+    1268,  1273,  1281,  1285,  1289,  1293,  1297,  1301,  1307,  1316,
+    1319,  1327,  1331,  1340,  1345,  1353,  1357,  1367,  1371,  1375,
+    1380,  1385,  1390,  1395,  1399,  1404,  1409,  1414,  1419,  1424,
+    1429,  1434,  1439,  1444,  1448,  1453,  1458,  1463,  1469,  1475,
+    1481,  1487,  1493,  1499,  1505,  1511,  1517,  1523,  1529,  1535,
+    1540,  1545,  1550,  1555,  1560,  1565,  1571,  1577,  1583,  1589,
+    1595,  1601,  1607,  1613,  1619,  1625,  1631,  1637,  1643,  1649,
+    1655,  1661,  1667,  1673,  1679,  1685,  1691,  1697,  1703,  1709,
+    1715,  1721,  1727,  1732,  1737,  1742,  1747,  1752,  1757,  1762,
+    1767,  1772,  1777,  1782,  1787,  1793,  1799,  1805,  1811,  1817,
+    1823,  1829,  1835,  1841,  1847,  1853,  1859,  1865,  1871,  1877,
+    1883,  1889,  1895,  1901,  1907,  1913,  1919,  1925,  1931,  1937,
+    1943,  1949,  1955,  1961,  1967,  1973,  1979,  1985,  1991,  1997,
+    2003,  2009,  2015,  2021,  2027,  2033,  2039,  2045,  2051,  2057,
+    2063,  2069,  2075,  2080,  2085,  2090,  2095,  2100,  2105,  2110,
+    2115,  2120,  2125,  2130,  2135,  2140,  2145,  2150,  2155,  2160,
+    2165,  2170,  2175,  2180,  2185,  2190,  2195,  2200,  2205,  2210,
+    2215,  2220,  2225,  2230,  2235,  2240,  2245,  2250,  2255,  2260,
+    2265,  2270,  2275,  2280,  2285,  2290,  2295,  2300,  2305,  2310,
+    2315,  2320,  2325,  2330,  2335,  2340,  2345,  2350,  2355,  2360,
+    2365,  2370,  2375,  2380,  2385,  2390,  2395,  2400,  2405,  2410,
+    2415,  2420,  2425,  2430,  2435,  2440,  2445,  2450,  2455,  2460,
+    2465,  2470,  2475,  2480,  2485,  2490,  2495,  2500,  2505,  2510,
+    2515,  2520,  2525,  2530,  2535,  2540,  2545,  2550,  2555,  2560,
+    2565,  2570,  2575,  2580,  2585,  2590,  2595,  2600,  2605,  2610,
+    2615,  2620,  2626,  2632,  2638,  2644,  2650,  2656,  2662,  2667,
+    2683,  2688,  2693,  2701,  2701,  2712,  2712,  2722,  2725,  2738,
+    2756,  2780,  2784,  2790,  2795,  2806,  2809,  2815,  2824,  2827,
+    2833,  2837,  2838,  2844,  2845,  2846,  2847,  2848,  2849,  2850,
+    2854,  2855,  2859,  2855,  2871,  2872,  2876,  2876,  2883,  2883,
+    2897,  2900,  2908,  2916,  2927,  2928,  2932,  2939,  2943,  2951,
+    2955,  2968,  2968,  2988,  2991,  2997,  3009,  3021,  3021,  3036,
+    3036,  3052,  3052,  3073,  3076,  3082,  3085,  3091,  3095,  3102,
+    3107,  3112,  3119,  3122,  3131,  3135,  3144,  3147,  3150,  3158,
+    3158
 };
 #endif
 
@@ -850,36 +910,45 @@
    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 static const char *const yytname[] =
 {
-  "$end", "error", "$undefined", "ATTRIBUTE", "VARYING", "CONST", "BOOL",
-  "FLOAT", "DOUBLE", "INT", "UINT", "INT64_T", "UINT64_T", "INT16_T",
-  "UINT16_T", "FLOAT16_T", "BREAK", "CONTINUE", "DO", "ELSE", "FOR", "IF",
-  "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT", "SUBROUTINE", "BVEC2",
-  "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4", "I64VEC2", "I64VEC3",
-  "I64VEC4", "UVEC2", "UVEC3", "UVEC4", "U64VEC2", "U64VEC3", "U64VEC4",
-  "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "CENTROID", "IN", "OUT",
-  "INOUT", "UNIFORM", "PATCH", "SAMPLE", "BUFFER", "SHARED", "COHERENT",
-  "VOLATILE", "RESTRICT", "READONLY", "WRITEONLY", "DVEC2", "DVEC3",
-  "DVEC4", "DMAT2", "DMAT3", "DMAT4", "F16VEC2", "F16VEC3", "F16VEC4",
-  "F16MAT2", "F16MAT3", "F16MAT4", "I16VEC2", "I16VEC3", "I16VEC4",
-  "U16VEC2", "U16VEC3", "U16VEC4", "NOPERSPECTIVE", "FLAT", "SMOOTH",
-  "LAYOUT", "__EXPLICITINTERPAMD", "MAT2X2", "MAT2X3", "MAT2X4", "MAT3X2",
-  "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3", "MAT4X4", "DMAT2X2", "DMAT2X3",
-  "DMAT2X4", "DMAT3X2", "DMAT3X3", "DMAT3X4", "DMAT4X2", "DMAT4X3",
-  "DMAT4X4", "F16MAT2X2", "F16MAT2X3", "F16MAT2X4", "F16MAT3X2",
+  "$end", "error", "$undefined", "ATTRIBUTE", "VARYING", "FLOAT16_T",
+  "FLOAT", "FLOAT32_T", "DOUBLE", "FLOAT64_T", "CONST", "BOOL", "INT",
+  "UINT", "INT64_T", "UINT64_T", "INT32_T", "UINT32_T", "INT16_T",
+  "UINT16_T", "INT8_T", "UINT8_T", "BREAK", "CONTINUE", "DO", "ELSE",
+  "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT",
+  "SUBROUTINE", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4",
+  "UVEC2", "UVEC3", "UVEC4", "I64VEC2", "I64VEC3", "I64VEC4", "U64VEC2",
+  "U64VEC3", "U64VEC4", "I32VEC2", "I32VEC3", "I32VEC4", "U32VEC2",
+  "U32VEC3", "U32VEC4", "I16VEC2", "I16VEC3", "I16VEC4", "U16VEC2",
+  "U16VEC3", "U16VEC4", "I8VEC2", "I8VEC3", "I8VEC4", "U8VEC2", "U8VEC3",
+  "U8VEC4", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "CENTROID",
+  "IN", "OUT", "INOUT", "UNIFORM", "PATCH", "SAMPLE", "BUFFER", "SHARED",
+  "COHERENT", "VOLATILE", "RESTRICT", "READONLY", "WRITEONLY", "DVEC2",
+  "DVEC3", "DVEC4", "DMAT2", "DMAT3", "DMAT4", "F16VEC2", "F16VEC3",
+  "F16VEC4", "F16MAT2", "F16MAT3", "F16MAT4", "F32VEC2", "F32VEC3",
+  "F32VEC4", "F32MAT2", "F32MAT3", "F32MAT4", "F64VEC2", "F64VEC3",
+  "F64VEC4", "F64MAT2", "F64MAT3", "F64MAT4", "NOPERSPECTIVE", "FLAT",
+  "SMOOTH", "LAYOUT", "__EXPLICITINTERPAMD", "MAT2X2", "MAT2X3", "MAT2X4",
+  "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3", "MAT4X4", "DMAT2X2",
+  "DMAT2X3", "DMAT2X4", "DMAT3X2", "DMAT3X3", "DMAT3X4", "DMAT4X2",
+  "DMAT4X3", "DMAT4X4", "F16MAT2X2", "F16MAT2X3", "F16MAT2X4", "F16MAT3X2",
   "F16MAT3X3", "F16MAT3X4", "F16MAT4X2", "F16MAT4X3", "F16MAT4X4",
-  "ATOMIC_UINT", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE",
-  "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW",
-  "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW",
-  "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
-  "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
-  "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
-  "USAMPLER2DARRAY", "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW",
-  "ISAMPLER2DRECT", "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER",
-  "USAMPLERBUFFER", "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW",
-  "ISAMPLERCUBEARRAY", "USAMPLERCUBEARRAY", "SAMPLER2DMS", "ISAMPLER2DMS",
-  "USAMPLER2DMS", "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY",
-  "USAMPLER2DMSARRAY", "SAMPLEREXTERNALOES", "SAMPLER", "SAMPLERSHADOW",
-  "TEXTURE1D", "TEXTURE2D", "TEXTURE3D", "TEXTURECUBE", "TEXTURE1DARRAY",
+  "F32MAT2X2", "F32MAT2X3", "F32MAT2X4", "F32MAT3X2", "F32MAT3X3",
+  "F32MAT3X4", "F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2",
+  "F64MAT2X3", "F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4",
+  "F64MAT4X2", "F64MAT4X3", "F64MAT4X4", "ATOMIC_UINT", "SAMPLER1D",
+  "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE", "SAMPLER1DSHADOW",
+  "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER1DARRAY",
+  "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW", "SAMPLER2DARRAYSHADOW",
+  "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D", "ISAMPLERCUBE",
+  "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D", "USAMPLER2D",
+  "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY", "USAMPLER2DARRAY",
+  "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW", "ISAMPLER2DRECT",
+  "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER", "USAMPLERBUFFER",
+  "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW", "ISAMPLERCUBEARRAY",
+  "USAMPLERCUBEARRAY", "SAMPLER2DMS", "ISAMPLER2DMS", "USAMPLER2DMS",
+  "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY", "USAMPLER2DMSARRAY",
+  "SAMPLEREXTERNALOES", "SAMPLER", "SAMPLERSHADOW", "TEXTURE1D",
+  "TEXTURE2D", "TEXTURE3D", "TEXTURECUBE", "TEXTURE1DARRAY",
   "TEXTURE2DARRAY", "ITEXTURE1D", "ITEXTURE2D", "ITEXTURE3D",
   "ITEXTURECUBE", "ITEXTURE1DARRAY", "ITEXTURE2DARRAY", "UTEXTURE1D",
   "UTEXTURE2D", "UTEXTURE3D", "UTEXTURECUBE", "UTEXTURE1DARRAY",
@@ -897,21 +966,22 @@
   "IIMAGECUBEARRAY", "UIMAGECUBEARRAY", "IMAGE2DMS", "IIMAGE2DMS",
   "UIMAGE2DMS", "IMAGE2DMSARRAY", "IIMAGE2DMSARRAY", "UIMAGE2DMSARRAY",
   "STRUCT", "VOID", "WHILE", "IDENTIFIER", "TYPE_NAME", "FLOATCONSTANT",
-  "DOUBLECONSTANT", "INTCONSTANT", "UINTCONSTANT", "INT64CONSTANT",
-  "UINT64CONSTANT", "INT16CONSTANT", "UINT16CONSTANT", "BOOLCONSTANT",
-  "FLOAT16CONSTANT", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP",
-  "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN",
-  "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN",
-  "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN",
-  "RIGHT_PAREN", "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_BRACE",
-  "RIGHT_BRACE", "DOT", "COMMA", "COLON", "EQUAL", "SEMICOLON", "BANG",
-  "DASH", "TILDE", "PLUS", "STAR", "SLASH", "PERCENT", "LEFT_ANGLE",
-  "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", "AMPERSAND", "QUESTION",
-  "INVARIANT", "PRECISE", "HIGH_PRECISION", "MEDIUM_PRECISION",
-  "LOW_PRECISION", "PRECISION", "PACKED", "RESOURCE", "SUPERP", "$accept",
-  "variable_identifier", "primary_expression", "postfix_expression",
-  "integer_expression", "function_call", "function_call_or_method",
-  "function_call_generic", "function_call_header_no_parameters",
+  "DOUBLECONSTANT", "INT16CONSTANT", "UINT16CONSTANT", "INT32CONSTANT",
+  "UINT32CONSTANT", "INTCONSTANT", "UINTCONSTANT", "INT64CONSTANT",
+  "UINT64CONSTANT", "BOOLCONSTANT", "FLOAT16CONSTANT", "LEFT_OP",
+  "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP",
+  "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN",
+  "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN",
+  "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET",
+  "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON",
+  "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH",
+  "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET",
+  "AMPERSAND", "QUESTION", "INVARIANT", "PRECISE", "HIGH_PRECISION",
+  "MEDIUM_PRECISION", "LOW_PRECISION", "PRECISION", "PACKED", "RESOURCE",
+  "SUPERP", "$accept", "variable_identifier", "primary_expression",
+  "postfix_expression", "integer_expression", "function_call",
+  "function_call_or_method", "function_call_generic",
+  "function_call_header_no_parameters",
   "function_call_header_with_parameters", "function_call_header",
   "function_identifier", "unary_expression", "unary_operator",
   "multiplicative_expression", "additive_expression", "shift_expression",
@@ -979,16 +1049,21 @@
      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
-     545,   546,   547,   548,   549,   550,   551,   552
+     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
+     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
+     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
+     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
+     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
+     595,   596,   597,   598,   599,   600,   601,   602
 };
 # endif
 
-#define YYPACT_NINF -525
+#define YYPACT_NINF -448
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-525)))
+  (!!((Yystate) == (-448)))
 
-#define YYTABLE_NINF -407
+#define YYTABLE_NINF -457
 
 #define yytable_value_is_error(Yytable_value) \
   0
@@ -997,65 +1072,70 @@
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-    2619,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -243,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -228,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -215,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -157,  -525,  -216,  -218,  -205,
-    -141,  4260,  -165,  -525,   -94,  -525,  -525,  -525,  -525,  3183,
-    -525,  -525,  -525,  -117,  -525,  -525,   575,  -525,  -525,   -80,
-     -48,  -114,  -525,  6381,  -242,  -525,  -525,  -113,  -525,  4260,
-    -525,  -525,  -525,  4260,   -75,   -74,  -525,  -235,  -190,  -525,
-    -525,  -525,  4765,  -108,  -525,  -525,  -525,  -186,  -525,  -112,
-    -178,  -525,  -525,  4260,  -115,  -525,  -226,   867,  -525,  -525,
-    -525,  -525,  -117,  -229,  -525,  5039,  -224,  -525,   -71,  -525,
-    -158,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  5861,  5861,  5861,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -223,  -525,  -525,  -525,  -102,  -177,  6121,  -100,
-    -525,  5861,  -204,  -171,  -132,  -221,  -199,  -124,  -120,  -111,
-     -84,   -83,  -233,   -98,  -525,  5313,  -525,   -60,  5861,  -525,
-     -48,  4260,  4260,   -59,  3456,  -525,  -525,  -525,   -99,   -97,
-    -525,   -90,   -88,   -96,  5587,   -85,  5861,   -92,   -79,   -81,
-    -525,  -525,  -191,  -525,  -525,  -153,  -525,  -218,   -78,  -525,
-    -525,  -525,  -525,  1159,  -525,  -525,  -525,  -525,  -525,  -525,
-    -108,  5039,  -193,  5039,  -525,  -525,  5039,  4260,  -525,   -47,
-    -525,  -525,  -525,  -176,  -525,  -525,  5861,   -42,  -525,  -525,
-    5861,   -73,  -525,  -525,  -525,  5861,  5861,  5861,  5861,  5861,
-    5861,  5861,  5861,  5861,  5861,  5861,  5861,  5861,  5861,  5861,
-    5861,  5861,  5861,  5861,  -525,  -525,  -525,   -76,  -525,  -525,
-    -525,  -525,  3724,   -59,  -117,  -152,  -525,  -525,  -525,  -525,
-    -525,  1451,  -525,  5861,  -525,  -525,  -143,  5861,  -180,  -525,
-    -525,  -525,  1451,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  5861,  5861,  -525,  -525,  -525,  -525,
-    5039,  -525,  -133,  -525,  3992,  -525,  -525,   -72,   -77,  -525,
-    -525,  -525,  -525,  -525,  -204,  -204,  -171,  -171,  -132,  -132,
-    -132,  -132,  -221,  -221,  -199,  -124,  -120,  -111,   -84,   -83,
-    5861,  -525,  -525,  -142,  -108,   -59,  -525,   -37,  2327,  -175,
-    -525,  -163,  -525,  2892,  1451,  -525,  -525,  -525,  -525,  4491,
-    -525,  -525,  -129,  -525,  -525,   -68,  -525,  -525,  2892,   -70,
-    -525,   -77,   -32,  4260,   -63,   -66,  -525,  -525,  5861,  5861,
-    -525,   -69,   -61,   188,   -58,  2035,  -525,   -56,   -57,  1743,
-    -525,  -525,  -161,  5861,  1743,   -70,  -525,  -525,  1451,  5039,
-    -525,  -525,  -525,   -67,   -77,  -525,  -525,  1451,   -54,  -525,
-    -525,  -525
+      -1,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -286,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,    51,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,    13,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,    98,  -448,    12,    43,    61,    57,  4724,
+      24,  -448,   101,  -448,  -448,  -448,  -448,  3360,  -448,  -448,
+    -448,    71,  -448,  -448,   625,  -448,  -448,   120,   202,   105,
+    -448,  7309,    27,  -448,  -448,   126,  -448,  4724,  -448,  -448,
+    -448,  4724,   130,   132,  -448,  -293,    64,  -448,  -448,  -448,
+    5359,   129,  -448,  -448,  -448,    68,  -448,   124,    75,  -448,
+    -448,  4724,   125,  -448,    53,   967,  -448,  -448,  -448,  -448,
+      71,  -294,  -448,  5684,     4,  -448,   171,  -448,    95,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  6659,  6659,  6659,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,    54,  -448,  -448,  -448,   136,    76,  6984,   138,
+    -448,  6659,   112,   -21,    28,    14,    26,   117,   119,   121,
+     155,   154,   -13,   141,  -448,  6009,  -448,   180,  6659,  -448,
+     202,  4724,  4724,   181,  3701,  -448,  -448,  -448,   137,   140,
+    -448,   151,   152,   143,  6334,   156,  6659,   147,   157,   153,
+    -448,  -448,    49,  -448,  -448,    96,  -448,    43,   159,  -448,
+    -448,  -448,  -448,  1309,  -448,  -448,  -448,  -448,  -448,  -448,
+     129,  5684,    48,  5684,  -448,  -448,  5684,  4724,  -448,   195,
+    -448,  -448,  -448,    89,  -448,  -448,  6659,   197,  -448,  -448,
+    6659,   162,  -448,  -448,  -448,  6659,  6659,  6659,  6659,  6659,
+    6659,  6659,  6659,  6659,  6659,  6659,  6659,  6659,  6659,  6659,
+    6659,  6659,  6659,  6659,  -448,  -448,  -448,   163,  -448,  -448,
+    -448,  -448,  4042,   181,    71,    97,  -448,  -448,  -448,  -448,
+    -448,  1651,  -448,  6659,  -448,  -448,   103,  6659,   -26,  -448,
+    -448,  -448,  1651,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  6659,  6659,  -448,  -448,  -448,  -448,
+    5684,  -448,    -4,  -448,  4383,  -448,  -448,   166,   164,  -448,
+    -448,  -448,  -448,  -448,   112,   112,   -21,   -21,    28,    28,
+      28,    28,    14,    14,    26,   117,   119,   121,   155,   154,
+    6659,  -448,  -448,   107,   129,   181,  -448,   206,  2677,    91,
+    -448,    92,  -448,  3019,  1651,  -448,  -448,  -448,  -448,  5034,
+    -448,  -448,    73,  -448,  -448,   172,  -448,  -448,  3019,   169,
+    -448,   164,   209,  4724,   174,   175,  -448,  -448,  6659,  6659,
+    -448,   173,   183,   466,   177,  2335,  -448,   178,   176,  1993,
+    -448,  -448,    93,  6659,  1993,   169,  -448,  -448,  1651,  5684,
+    -448,  -448,  -448,   179,   164,  -448,  -448,  1651,   182,  -448,
+    -448,  -448
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1063,95 +1143,100 @@
      means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,   149,   150,   148,   185,   176,   177,   179,   180,   181,
-     182,   183,   184,   178,   165,   195,   196,   197,   198,   199,
-     200,   201,   202,   203,   207,   208,   209,   210,   211,   212,
-     186,   187,   188,   216,   217,   218,   154,   152,   153,   151,
-     157,   155,   156,   158,   159,   160,   161,   162,   163,   164,
-     189,   190,   191,   228,   229,   230,   192,   193,   194,   240,
-     241,   242,   204,   205,   206,   213,   214,   215,   131,   130,
-     129,     0,   132,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
-     262,   263,   266,   267,   268,   269,   270,   271,   273,   274,
-     275,   276,   277,   278,   280,   281,   282,   283,   284,   285,
-     286,   264,   265,   272,   279,   287,   288,   289,   290,   291,
-     292,   361,   293,   294,   295,   296,   297,   298,   299,   300,
-     302,   303,   304,   305,   306,   307,   309,   310,   311,   312,
-     313,   314,   316,   317,   318,   319,   320,   321,   301,   308,
-     315,   322,   323,   324,   325,   326,   327,   362,   363,   364,
-     365,   366,   367,   328,   329,   330,   331,   332,   333,   334,
-     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
-     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
-     355,   356,   357,   358,   359,   360,     0,   175,   369,   448,
-     128,   139,   370,   371,   372,     0,   447,     0,   449,     0,
-     105,   104,     0,   116,   121,   146,   145,   143,   147,     0,
-     140,   142,   126,   169,   144,   368,     0,   444,   446,     0,
-       0,     0,   375,     0,     0,    93,    90,     0,   103,     0,
-     112,   106,   114,     0,   115,     0,    91,   122,     0,    96,
-     141,   127,     0,   170,     1,   445,   167,     0,   138,   136,
-       0,   134,   373,     0,     0,    94,     0,     0,   450,   107,
-     111,   113,   109,   117,   108,     0,   123,    99,     0,    97,
-       0,     2,    10,    11,     4,     5,     6,     7,     8,     9,
-      13,    12,     0,     0,     0,   171,    39,    38,    40,    37,
-       3,    15,    33,    17,    22,    23,     0,     0,    27,     0,
-      41,     0,    45,    48,    51,    56,    59,    61,    63,    65,
-      67,    69,    71,     0,    31,     0,   166,     0,     0,   133,
-       0,     0,     0,     0,     0,   377,    92,    95,     0,     0,
-     429,     0,     0,     0,     0,     0,     0,     0,     0,   401,
-     410,   414,    41,    74,    87,     0,   390,     0,   126,   393,
-     412,   392,   391,     0,   394,   395,   396,   397,   398,   399,
-     110,     0,   118,     0,   385,   125,     0,     0,   101,     0,
-      98,    34,    35,     0,    19,    20,     0,     0,    25,    24,
-       0,   175,    28,    30,    36,     0,     0,     0,     0,     0,
+       0,   151,   152,   180,   178,   181,   179,   182,   150,   193,
+     183,   184,   191,   192,   189,   190,   187,   188,   185,   186,
+     167,   209,   210,   211,   212,   213,   214,   227,   228,   229,
+     224,   225,   226,   239,   240,   241,   221,   222,   223,   236,
+     237,   238,   218,   219,   220,   233,   234,   235,   215,   216,
+     217,   230,   231,   232,   194,   195,   196,   242,   243,   244,
+     156,   154,   155,   153,   159,   157,   158,   160,   161,   162,
+     163,   164,   165,   166,   197,   198,   199,   254,   255,   256,
+     200,   201,   202,   266,   267,   268,   203,   204,   205,   278,
+     279,   280,   206,   207,   208,   290,   291,   292,   133,   132,
+     131,     0,   134,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   293,
+     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
+     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
+     316,   317,   318,   319,   320,   321,   323,   324,   325,   326,
+     327,   328,   330,   331,   332,   333,   334,   335,   336,   314,
+     315,   322,   329,   337,   338,   339,   340,   341,   342,   411,
+     343,   344,   345,   346,   347,   348,   349,   350,   352,   353,
+     354,   355,   356,   357,   359,   360,   361,   362,   363,   364,
+     366,   367,   368,   369,   370,   371,   351,   358,   365,   372,
+     373,   374,   375,   376,   377,   412,   413,   414,   415,   416,
+     417,   378,   379,   380,   381,   382,   383,   384,   385,   386,
+     387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
+     397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
+     407,   408,   409,   410,     0,   177,   419,   498,   130,   141,
+     420,   421,   422,     0,   497,     0,   499,     0,   107,   106,
+       0,   118,   123,   148,   147,   145,   149,     0,   142,   144,
+     128,   171,   146,   418,     0,   494,   496,     0,     0,     0,
+     425,     0,     0,    95,    92,     0,   105,     0,   114,   108,
+     116,     0,   117,     0,    93,   124,     0,    98,   143,   129,
+       0,   172,     1,   495,   169,     0,   140,   138,     0,   136,
+     423,     0,     0,    96,     0,     0,   500,   109,   113,   115,
+     111,   119,   110,     0,   125,   101,     0,    99,     0,     2,
+      12,    13,    10,    11,     4,     5,     6,     7,     8,     9,
+      15,    14,     0,     0,     0,   173,    41,    40,    42,    39,
+       3,    17,    35,    19,    24,    25,     0,     0,    29,     0,
+      43,     0,    47,    50,    53,    58,    61,    63,    65,    67,
+      69,    71,    73,     0,    33,     0,   168,     0,     0,   135,
+       0,     0,     0,     0,     0,   427,    94,    97,     0,     0,
+     479,     0,     0,     0,     0,     0,     0,     0,     0,   451,
+     460,   464,    43,    76,    89,     0,   440,     0,   128,   443,
+     462,   442,   441,     0,   444,   445,   446,   447,   448,   449,
+     112,     0,   120,     0,   435,   127,     0,     0,   103,     0,
+     100,    36,    37,     0,    21,    22,     0,     0,    27,    26,
+       0,   177,    30,    32,    38,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    72,   172,   173,     0,   168,    89,
-     137,   135,     0,     0,   383,     0,   381,   376,   378,   440,
-     439,     0,   431,     0,   443,   441,     0,     0,     0,   426,
-     427,   400,     0,    77,    78,    80,    79,    82,    83,    84,
-      85,    86,    81,    76,     0,     0,   415,   411,   413,   120,
-       0,   388,     0,   124,     0,   102,    14,     0,    21,    18,
-      29,    42,    43,    44,    47,    46,    49,    50,    54,    55,
-      52,    53,    57,    58,    60,    62,    64,    66,    68,    70,
-       0,   174,   374,     0,   384,     0,   379,     0,     0,     0,
-     442,     0,   425,     0,   402,    75,    88,   119,   386,     0,
-     100,    16,     0,   380,   382,     0,   434,   433,   436,   408,
-     421,   419,     0,     0,     0,     0,   387,   389,     0,     0,
-     435,     0,     0,   418,     0,     0,   416,     0,     0,     0,
-     403,    73,     0,   437,     0,   408,   407,   409,   423,     0,
-     405,   428,   404,     0,   438,   432,   417,   424,     0,   420,
-     430,   422
+       0,     0,     0,     0,    74,   174,   175,     0,   170,    91,
+     139,   137,     0,     0,   433,     0,   431,   426,   428,   490,
+     489,     0,   481,     0,   493,   491,     0,     0,     0,   476,
+     477,   450,     0,    79,    80,    82,    81,    84,    85,    86,
+      87,    88,    83,    78,     0,     0,   465,   461,   463,   122,
+       0,   438,     0,   126,     0,   104,    16,     0,    23,    20,
+      31,    44,    45,    46,    49,    48,    51,    52,    56,    57,
+      54,    55,    59,    60,    62,    64,    66,    68,    70,    72,
+       0,   176,   424,     0,   434,     0,   429,     0,     0,     0,
+     492,     0,   475,     0,   452,    77,    90,   121,   436,     0,
+     102,    18,     0,   430,   432,     0,   484,   483,   486,   458,
+     471,   469,     0,     0,     0,     0,   437,   439,     0,     0,
+     485,     0,     0,   468,     0,     0,   466,     0,     0,     0,
+     453,    75,     0,   487,     0,   458,   457,   459,   473,     0,
+     455,   478,   454,     0,   488,   482,   467,   474,     0,   470,
+     480,   472
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -103,  -525,  -278,  -274,  -297,  -273,  -214,  -211,
-    -210,  -212,  -209,  -208,  -525,  -261,  -525,  -292,  -525,  -308,
-    -525,     4,  -525,  -525,  -525,     5,  -525,  -525,  -525,   -41,
-     -38,   -39,  -525,  -525,  -504,  -525,  -525,  -525,  -525,  -123,
-    -525,  -230,  -237,  -525,  -525,     0,  -246,  -525,     1,  -525,
-    -525,  -525,  -337,  -342,  -207,  -286,  -378,  -525,  -285,  -376,
-    -524,  -322,  -525,  -525,  -330,  -327,  -525,  -525,   -22,  -452,
-    -275,  -525,  -525,  -298,  -525,  -525,  -525,  -525,  -525,  -525,
-    -525,  -525,  -525,  -525,  -525,  -525,  -525,    -2,  -525,  -525
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  7268,  -448,   -38,   -36,  -447,   -39,    25,    30,
+      31,    29,    23,    32,  -448,   -31,  -448,   -61,  -448,   -80,
+    -448,     1,  -448,  -448,  -448,    21,  -448,  -448,  -448,   196,
+     199,   203,  -448,  -448,  -268,  -448,  -448,  -448,  -448,   113,
+    -448,     2,    -9,  -448,  -448,     0,   -11,  -448,   243,  -448,
+    -448,  -448,  -102,  -118,    33,   -48,  -143,  -448,   -47,  -148,
+    -295,   -84,  -448,  -448,   -92,   -91,  -448,  -448,   218,  -224,
+     -43,  -448,  -448,   -60,  -448,  -448,  -448,  -448,  -448,  -448,
+    -448,  -448,  -448,  -448,  -448,  -448,  -448,   233,  -448,  -448
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,   320,   321,   322,   487,   323,   324,   325,   326,   327,
-     328,   329,   372,   331,   332,   333,   334,   335,   336,   337,
-     338,   339,   340,   341,   342,   373,   510,   374,   474,   375,
-     440,   376,   227,   397,   300,   377,   229,   230,   231,   260,
-     261,   262,   232,   233,   234,   235,   236,   237,   280,   281,
-     238,   239,   240,   241,   277,   344,   273,   243,   244,   245,
-     351,   283,   354,   355,   445,   446,   395,   482,   379,   380,
-     381,   382,   462,   545,   571,   553,   554,   555,   572,   383,
-     384,   385,   556,   544,   386,   557,   578,   387,   388,   523,
-     451,   518,   538,   551,   552,   389,   246,   247,   248,   257
+      -1,   370,   371,   372,   537,   373,   374,   375,   376,   377,
+     378,   379,   422,   381,   382,   383,   384,   385,   386,   387,
+     388,   389,   390,   391,   392,   423,   560,   424,   524,   425,
+     490,   426,   275,   447,   348,   427,   277,   278,   279,   308,
+     309,   310,   280,   281,   282,   283,   284,   285,   328,   329,
+     286,   287,   288,   289,   325,   394,   321,   291,   292,   293,
+     401,   331,   404,   405,   495,   496,   445,   532,   429,   430,
+     431,   432,   512,   595,   621,   603,   604,   605,   622,   433,
+     434,   435,   606,   594,   436,   607,   628,   437,   438,   573,
+     501,   568,   588,   601,   602,   439,   294,   295,   296,   305
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -1159,126 +1244,10 @@
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     242,   263,   270,   394,   226,   228,   403,   478,   286,   278,
-     524,   343,   448,   479,   442,   481,   254,   251,   483,   542,
-     433,   296,   249,   404,   405,   272,   270,   422,   423,   263,
-     294,   567,   272,   285,   542,   570,   412,   250,   272,   295,
-     570,   345,   -32,   345,   406,   391,   390,   392,   407,   357,
-     396,   426,   427,   352,   252,   434,   456,   256,   458,   255,
-     484,   258,   424,   425,   463,   464,   465,   466,   467,   468,
-     469,   470,   471,   472,   345,   517,   415,   416,   417,   297,
-     346,   480,   298,   473,   437,   299,   347,   439,   349,   409,
-     486,   539,   475,   522,   350,   410,   475,   475,   488,   394,
-     448,   394,   527,   540,   394,   573,   418,   265,   419,   475,
-     266,   475,   420,   421,   399,   270,   577,   400,   490,   475,
-     515,   352,   476,   516,   352,   498,   499,   500,   501,   475,
-     515,   259,   520,   533,   222,   223,   224,   528,   267,   529,
-     494,   495,   448,   475,   548,   519,   496,   497,   478,   521,
-     272,   547,   276,   502,   503,   282,   287,   292,   293,   345,
-     356,   398,   348,   428,   408,   413,   429,   352,   431,   330,
-     435,   432,   438,   444,   430,   452,   449,   453,   450,   454,
-     457,   459,   525,   526,   279,   485,   460,   -31,   394,   461,
-     489,   579,   511,   -26,   535,   475,   531,   549,   514,  -406,
-     558,   478,   532,   559,   560,   564,   563,   565,   580,   401,
-     402,   369,   352,   568,   504,   541,   581,   569,   505,   507,
-     506,   289,   290,   508,   291,   509,   253,   441,   414,   534,
-     541,   264,   566,   536,   575,   288,   513,   394,   576,   271,
-     550,   562,   330,   537,   275,   330,   242,     0,     0,     0,
-     226,   228,     0,   284,   352,   574,   561,     0,     0,   264,
-       0,     0,     0,   264,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   394,     0,     0,
-       0,     0,     0,   353,     0,     0,     0,   378,     0,     0,
-       0,     0,     0,   543,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   270,     0,   543,     0,
-       0,     0,   491,   492,   493,   330,   330,   330,   330,   330,
-     330,   330,   330,   330,   330,   330,   330,   330,   330,   330,
-     330,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   353,   443,     0,   353,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   378,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   353,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   353,     0,     0,     0,     0,     0,     0,     0,
-       0,   378,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   378,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   353,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   378,     0,
-       0,     0,     0,   378,   378,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   378,     0,
-       0,     0,     0,   271,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   378,     0,     0,     0,   378,
-       0,     0,     0,     0,   378,     0,     0,     0,   378,     0,
-       0,     0,     0,     0,     0,   274,     0,   378,     1,     2,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
-     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
-     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,     0,     0,   218,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
-       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,   358,   359,   360,     0,   361,   362,   363,
-     364,   365,   366,   367,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
-      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
-      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
-     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
-     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
-     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
-     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
-     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
-     210,   211,   212,   213,   214,   215,   216,   217,   368,   301,
-     218,   302,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,     0,     0,   312,   313,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   314,     0,     0,     0,   369,   370,     0,     0,
-       0,     0,   371,   316,   317,   318,   319,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
-     224,   225,     1,     2,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,   358,   359,   360,     0,   361,
-     362,   363,   364,   365,   366,   367,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
+     290,   274,     1,     2,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,   276,   342,   320,   320,   548,   549,   550,   551,   297,
+     441,   343,    20,    21,    22,    23,    24,    25,    26,    27,
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
@@ -1298,16 +1267,152 @@
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-     368,   301,   218,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,     0,     0,   312,   313,     0,     0,     0,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   318,   312,
+     266,   311,   444,   326,   453,   528,   498,   319,   574,   393,
+     483,   334,   302,   299,   290,   274,   525,   572,   529,   492,
+     531,   332,   318,   533,   344,   592,   468,   312,   469,   311,
+     617,   312,   472,   473,   620,   276,   578,   462,   579,   620,
+     592,   395,   470,   471,   267,   484,   476,   477,   446,   440,
+     442,   403,   300,   402,   506,   428,   508,   303,   268,   269,
+     270,   271,   272,   273,   320,   534,   313,   474,   475,   314,
+     454,   455,   333,   567,   513,   514,   515,   516,   517,   518,
+     519,   520,   521,   522,   487,   395,   298,   489,   304,   -34,
+     395,   456,   530,   523,   498,   457,   538,   306,   407,   307,
+     444,   315,   444,   345,   396,   444,   346,   577,   320,   347,
+     397,   399,   459,   318,   627,   525,   598,   400,   460,   540,
+     324,   403,   493,   402,   403,   536,   402,   589,   590,   623,
+     340,   525,   341,   525,   525,   525,   498,   449,   525,   565,
+     450,   526,   566,   569,   330,   525,   528,   571,   570,   565,
+     544,   545,   583,   428,   546,   547,   597,   552,   553,   270,
+     271,   272,   465,   466,   467,   335,   395,   403,   398,   402,
+     406,   448,   458,   463,   478,   479,   480,   481,   482,   485,
+     488,   494,   499,   575,   576,   500,   502,   503,   504,   444,
+     509,   507,   510,   511,   -33,   535,   629,   539,   -28,   528,
+     582,   561,   327,   564,   581,   585,   525,   599,  -456,   608,
+     609,   615,   403,   591,   402,   610,   419,   618,   613,   614,
+     619,   428,   631,   554,   630,   558,   337,   338,   591,   555,
+     557,   556,   428,   491,   339,   559,   301,   584,   444,   612,
+     616,   586,   625,   336,   626,   587,   563,   323,   600,     0,
+       0,     0,     0,   624,   403,     0,   402,   611,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   314,     0,     0,     0,   369,   477,
-       0,     0,     0,     0,   371,   316,   317,   318,   319,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
-     222,   223,   224,   225,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,   358,   359,   360,
-       0,   361,   362,   363,   364,   365,   366,   367,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+       0,     0,     0,     0,     0,     0,     0,     0,   444,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   428,     0,
+       0,     0,     0,   428,   428,   593,     0,     0,     0,     0,
+       0,     0,     0,     0,   318,     0,     0,     0,   428,     0,
+     593,     0,     0,   319,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   428,     0,     0,     0,   428,
+       0,     0,     0,     0,   428,     0,     0,     0,   428,     0,
+       0,     0,     0,     0,     0,   322,     0,   428,     1,     2,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    20,    21,
+      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
+     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
+     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,     0,     0,   266,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     267,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   268,   269,   270,   271,   272,   273,
+       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,   408,
+     409,   410,     0,   411,   412,   413,   414,   415,   416,   417,
+      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   418,   349,   266,   350,
+     351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
+     361,     0,     0,   362,   363,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   364,     0,     0,     0,   419,   420,     0,     0,
+       0,     0,   421,   366,   367,   368,   369,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   268,   269,   270,   271,
+     272,   273,     1,     2,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,   408,   409,   410,     0,   411,   412,   413,   414,   415,
+     416,   417,    20,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   418,   349,
+     266,   350,   351,   352,   353,   354,   355,   356,   357,   358,
+     359,   360,   361,     0,     0,   362,   363,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   364,     0,     0,     0,   419,   527,
+       0,     0,     0,     0,   421,   366,   367,   368,   369,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   268,   269,
+     270,   271,   272,   273,     1,     2,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,   408,   409,   410,     0,   411,   412,   413,
+     414,   415,   416,   417,    20,    21,    22,    23,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
@@ -1327,16 +1432,21 @@
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   368,   301,   218,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,     0,     0,   312,   313,     0,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     418,   349,   266,   350,   351,   352,   353,   354,   355,   356,
+     357,   358,   359,   360,   361,     0,     0,   362,   363,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   314,     0,     0,     0,
-     369,     0,     0,     0,     0,     0,   371,   316,   317,   318,
-     319,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     220,   221,   222,   223,   224,   225,     1,     2,     3,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,   358,
-     359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
+       0,     0,     0,     0,     0,     0,   364,     0,     0,     0,
+     419,     0,     0,     0,     0,     0,   421,   366,   367,   368,
+     369,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     268,   269,   270,   271,   272,   273,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,   408,   409,   410,     0,   411,
+     412,   413,   414,   415,   416,   417,    20,    21,    22,    23,
       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
@@ -1356,16 +1466,21 @@
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   368,   301,   218,   302,   303,   304,
-     305,   306,   307,   308,   309,   310,   311,     0,     0,   312,
-     313,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   314,     0,
-       0,     0,   287,     0,     0,     0,     0,     0,   371,   316,
-     317,   318,   319,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   220,   221,   222,   223,   224,   225,     1,     2,
+     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
+     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
+     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
+     264,   265,   418,   349,   266,   350,   351,   352,   353,   354,
+     355,   356,   357,   358,   359,   360,   361,     0,     0,   362,
+     363,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   364,     0,
+       0,     0,   335,     0,     0,     0,     0,     0,   421,   366,
+     367,   368,   369,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   268,   269,   270,   271,   272,   273,     1,     2,
        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,   358,   359,   360,     0,   361,   362,   363,   364,   365,
-     366,   367,    14,    15,    16,    17,    18,    19,    20,    21,
+      13,    14,    15,    16,    17,    18,    19,   408,   409,   410,
+       0,   411,   412,   413,   414,   415,   416,   417,    20,    21,
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
@@ -1385,16 +1500,21 @@
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,   368,   301,   218,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
-       0,   312,   313,     0,     0,     0,     0,     0,     0,     0,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   418,   349,   266,   350,   351,   352,
+     353,   354,   355,   356,   357,   358,   359,   360,   361,     0,
+       0,   362,   363,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     371,   316,   317,   318,   319,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
+     364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     421,   366,   367,   368,   369,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   268,   269,   270,   271,   272,   273,
        1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    14,    15,    16,    17,    18,    19,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
@@ -1414,17 +1534,22 @@
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
-     210,   211,   212,   213,   214,   215,   216,   217,     0,   301,
-     218,   302,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,     0,     0,   312,   313,     0,     0,     0,     0,     0,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,     0,   349,   266,   350,
+     351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
+     361,     0,     0,   362,   363,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   314,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   371,   316,   317,   318,   319,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
-     224,   225,     1,     2,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
+       0,     0,   364,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   421,   366,   367,   368,   369,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   268,   269,   270,   271,
+     272,   273,     1,     2,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    20,    21,    22,    23,    24,    25,    26,    27,
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
@@ -1444,151 +1569,21 @@
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-       0,     0,   218,     0,     0,     0,     0,     0,     0,     0,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,     0,   349,
+     266,   350,   351,   352,   353,   354,   355,   356,   357,   358,
+     359,   360,   361,     0,     0,   362,   363,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   219,     1,     2,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,   220,   221,
-     222,   223,   224,   225,     0,     0,     0,     0,     0,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
-      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
-     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
-     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
-     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
-     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
-     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
-     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-     215,   216,   217,     0,   301,   218,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,     0,     0,   312,   313,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   314,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   316,   317,
-     318,   319,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   220,   221,   222,   223,   224,     1,     2,     3,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,     0,   268,   218,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   269,     1,
-       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,   220,   221,   222,   223,   224,     0,     0,     0,
-       0,     0,     0,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,     0,     0,   218,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   447,     1,     2,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
-       0,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
-      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
-      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
-      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
-     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
-     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
-     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
-     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
-     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
-     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
-     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
-     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
-     213,   214,   215,   216,   217,     0,     0,   218,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   512,     1,     2,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,     0,     0,
-       0,     0,     0,   220,   221,   222,   223,   224,     0,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
-      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
-     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
-     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
-     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
-     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
-     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
-     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-     215,   216,   217,     0,     0,   218,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   530,     1,     2,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,     0,     0,     0,     0,
-       0,   220,   221,   222,   223,   224,     0,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
+       0,     0,     0,     0,   364,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   366,   367,   368,   369,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   268,   269,
+     270,   271,   272,     1,     2,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    20,    21,    22,    23,    24,    25,    26,
       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
@@ -1608,15 +1603,26 @@
      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
-     217,     0,     0,   218,     0,     0,     0,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   261,   262,   263,   264,   265,     0,
+     316,   266,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   317,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
+     269,   270,   271,   272,     1,     2,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
-     221,   222,   223,   224,    50,    51,    52,    53,    54,    55,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,     0,     0,     0,     0,     0,    73,    74,    75,
+      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
@@ -1631,261 +1637,22 @@
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,     0,   301,   218,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,     0,     0,   312,   313,     0,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+       0,     0,   266,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   314,     0,     0,     0,
-     393,   546,     0,     0,     0,     0,     0,   316,   317,   318,
-     319,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    15,    16,    17,    18,    19,    20,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,     0,     0,     0,     0,
-       0,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
-     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
-     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,     0,   301,   218,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
-       0,   312,   313,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     314,     0,     0,   315,     0,     0,     0,     0,     0,     0,
-       0,   316,   317,   318,   319,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
-       0,     0,     0,     0,     0,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-       0,   301,   218,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,     0,     0,   312,   313,     0,     0,     0,
+       0,   497,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   314,     0,     0,     0,   393,     0,
-       0,     0,     0,     0,     0,   316,   317,   318,   319,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,     0,     0,     0,     0,     0,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,     0,   301,   218,   302,   303,   304,
-     305,   306,   307,   308,   309,   310,   311,     0,     0,   312,
-     313,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   314,     0,
-       0,   436,     0,     0,     0,     0,     0,     0,     0,   316,
-     317,   318,   319,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    35,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-      60,    61,    62,    63,    64,    65,    66,    67,     0,     0,
-       0,     0,     0,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
-     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
-     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
-     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
-     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
-     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
-     210,   211,   212,   213,   214,   215,   216,   217,     0,   301,
-     218,   302,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,     0,     0,   312,   313,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   314,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   455,   316,   317,   318,   319,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,     0,     0,     0,     0,     0,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,     0,   301,   218,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,     0,     0,   312,   313,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   314,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,   316,   317,   318,
-     319,     0,     0,     0,     0,     0,     0,     0,     0,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,     0,     0,     0,     0,     0,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   411,     0,   301,   218,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,     0,     0,   312,   313,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   314,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,   316,   317,   318,
-     319,     0,     0,     0,     0,     0,     0,     0,     0,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,     0,     0,     0,     0,     0,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,     0,     0,   218
-};
-
-static const yytype_int16 yycheck[] =
-{
-       0,   231,   239,   295,     0,     0,   314,   383,   254,    57,
-     462,   272,   354,   391,   351,   393,   232,   232,   396,   523,
-     253,   267,   265,   246,   247,   267,   263,   248,   249,   259,
-     265,   555,   267,   275,   538,   559,   328,   265,   267,   274,
-     564,   267,   265,   267,   267,   274,   292,   293,   271,   275,
-     274,   250,   251,   283,   269,   288,   364,   275,   366,   275,
-     397,   266,   283,   284,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   267,   451,   280,   281,   282,   269,
-     266,   274,   272,   274,   345,   275,   272,   348,   266,   266,
-     266,   266,   272,   273,   272,   272,   272,   272,   406,   391,
-     442,   393,   480,   266,   396,   266,   277,   272,   279,   272,
-     275,   272,   244,   245,   272,   352,   568,   275,   410,   272,
-     272,   351,   275,   275,   354,   422,   423,   424,   425,   272,
-     272,   272,   275,   275,   291,   292,   293,   270,   232,   272,
-     418,   419,   484,   272,   273,   453,   420,   421,   524,   457,
-     267,   529,   232,   426,   427,   269,   269,   232,   232,   267,
-     275,   232,   274,   287,   266,   265,   286,   397,   252,   272,
-     268,   254,   232,   232,   285,   265,   275,   265,   275,   275,
-     265,   273,   474,   475,   232,   232,   265,   265,   480,   270,
-     232,   569,   268,   266,   231,   272,   268,   265,   444,   269,
-     232,   577,   510,   266,   270,   266,   275,    19,   275,   312,
-     313,   269,   442,   269,   428,   523,   270,   274,   429,   431,
-     430,   259,   263,   432,   263,   433,   225,   350,   331,   515,
-     538,   231,   554,   518,   564,   257,   443,   529,   565,   239,
-     538,   549,   345,   518,   246,   348,   246,    -1,    -1,    -1,
-     246,   246,    -1,   253,   484,   563,   548,    -1,    -1,   259,
-      -1,    -1,    -1,   263,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   569,    -1,    -1,
-      -1,    -1,    -1,   283,    -1,    -1,    -1,   287,    -1,    -1,
-      -1,    -1,    -1,   523,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   543,    -1,   538,    -1,
-      -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
-     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
-     433,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   351,   352,    -1,   354,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   383,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   442,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   451,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   462,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   484,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   518,    -1,
-      -1,    -1,    -1,   523,   524,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   538,    -1,
-      -1,    -1,    -1,   543,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   555,    -1,    -1,    -1,   559,
-      -1,    -1,    -1,    -1,   564,    -1,    -1,    -1,   568,    -1,
-      -1,    -1,    -1,    -1,    -1,     0,    -1,   577,     3,     4,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
+     268,   269,   270,   271,   272,     1,     2,     3,     4,     5,
+       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
@@ -1905,15 +1672,54 @@
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   227,   228,   229,   230,    -1,    -1,   233,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     275,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   289,   290,   291,   292,   293,   294,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    -1,    20,    21,    22,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,     0,     0,   266,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   562,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   268,   269,   270,   271,   272,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
+      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
+      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
+     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
+     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
+     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
+     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
+     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
+     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
+     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
+     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
+     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
+     264,   265,     0,     0,   266,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   580,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   268,   269,   270,   271,   272,     1,     2,     3,
+       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    20,    21,    22,
       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
@@ -1936,14 +1742,422 @@
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
-     243,    -1,    -1,   246,   247,    -1,    -1,    -1,    -1,    -1,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,     0,     0,   266,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     3,
+       4,     5,     6,     7,     0,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
+       0,     0,     0,   268,   269,   270,   271,   272,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,     0,     0,     0,     0,     0,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,     0,   349,   266,   350,   351,   352,   353,
+     354,   355,   356,   357,   358,   359,   360,   361,     0,     0,
+     362,   363,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
+       0,     0,     0,   443,   596,     0,     0,     0,     0,     0,
+     366,   367,   368,   369,     3,     4,     5,     6,     7,     0,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+       0,     0,     0,     0,     0,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,     0,   349,
+     266,   350,   351,   352,   353,   354,   355,   356,   357,   358,
+     359,   360,   361,     0,     0,   362,   363,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   364,     0,     0,   365,     0,     0,
+       0,     0,     0,     0,     0,   366,   367,   368,   369,     3,
+       4,     5,     6,     7,     0,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,     0,     0,     0,     0,     0,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,     0,   349,   266,   350,   351,   352,   353,
+     354,   355,   356,   357,   358,   359,   360,   361,     0,     0,
+     362,   363,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
+       0,     0,     0,   443,     0,     0,     0,     0,     0,     0,
+     366,   367,   368,   369,     3,     4,     5,     6,     7,     0,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+       0,     0,     0,     0,     0,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,     0,   349,
+     266,   350,   351,   352,   353,   354,   355,   356,   357,   358,
+     359,   360,   361,     0,     0,   362,   363,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   364,     0,     0,   486,     0,     0,
+       0,     0,     0,     0,     0,   366,   367,   368,   369,     3,
+       4,     5,     6,     7,     0,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,     0,     0,     0,     0,     0,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,     0,   349,   266,   350,   351,   352,   353,
+     354,   355,   356,   357,   358,   359,   360,   361,     0,     0,
+     362,   363,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   505,
+     366,   367,   368,   369,     3,     4,     5,     6,     7,     0,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+       0,     0,     0,     0,     0,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,     0,   349,
+     266,   350,   351,   352,   353,   354,   355,   356,   357,   358,
+     359,   360,   361,     0,     0,   362,   363,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   364,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   366,   367,   368,   369,     3,
+       4,     5,     6,     7,     0,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,     0,     0,     0,     0,     0,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   461,     0,   349,   266,   350,   351,   352,   353,
+     354,   355,   356,   357,   358,   359,   360,   361,     0,     0,
+     362,   363,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     366,   367,   368,   369,     3,     4,     5,     6,     7,     0,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+       0,     0,     0,     0,     0,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   380,     0,
+     266,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     451,   452,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   464,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   380,     0,     0,   380,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   541,   542,   543,   380,   380,   380,   380,
+     380,   380,   380,   380,   380,   380,   380,   380,   380,   380,
+     380,   380
+};
+
+static const yytype_int16 yycheck[] =
+{
+       0,     0,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,     0,   315,   317,   317,   472,   473,   474,   475,   315,
+     324,   324,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,   287,   279,
+     281,   279,   343,    81,   364,   433,   404,   287,   512,   320,
+     303,   302,   280,   280,   294,   294,   322,   323,   441,   401,
+     443,   301,   311,   446,   315,   573,   327,   307,   329,   307,
+     605,   311,   298,   299,   609,   294,   320,   378,   322,   614,
+     588,   317,   294,   295,   325,   338,   300,   301,   324,   340,
+     341,   331,   319,   331,   414,   335,   416,   325,   339,   340,
+     341,   342,   343,   344,   317,   447,   322,   333,   334,   325,
+     296,   297,   325,   501,   305,   306,   307,   308,   309,   310,
+     311,   312,   313,   314,   395,   317,   315,   398,   325,   315,
+     317,   317,   324,   324,   492,   321,   456,   316,   325,   322,
+     441,   280,   443,   319,   316,   446,   322,   530,   317,   325,
+     322,   316,   316,   402,   618,   322,   323,   322,   322,   460,
+     280,   401,   402,   401,   404,   316,   404,   316,   316,   316,
+     280,   322,   280,   322,   322,   322,   534,   322,   322,   322,
+     325,   325,   325,   503,   319,   322,   574,   507,   325,   322,
+     468,   469,   325,   433,   470,   471,   579,   476,   477,   341,
+     342,   343,   330,   331,   332,   319,   317,   447,   324,   447,
+     325,   280,   316,   315,   337,   336,   335,   302,   304,   318,
+     280,   280,   325,   524,   525,   325,   315,   315,   325,   530,
+     323,   315,   315,   320,   315,   280,   619,   280,   316,   627,
+     560,   318,   280,   494,   318,   279,   322,   315,   319,   280,
+     316,    25,   492,   573,   492,   320,   319,   319,   325,   316,
+     324,   501,   320,   478,   325,   482,   307,   311,   588,   479,
+     481,   480,   512,   400,   311,   483,   273,   565,   579,   599,
+     604,   568,   614,   305,   615,   568,   493,   294,   588,    -1,
+      -1,    -1,    -1,   613,   534,    -1,   534,   598,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   265,    -1,    -1,    -1,   269,   270,    -1,    -1,
-      -1,    -1,   275,   276,   277,   278,   279,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   289,   290,   291,   292,
-     293,   294,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    -1,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   619,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   568,    -1,
+      -1,    -1,    -1,   573,   574,   573,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   593,    -1,    -1,    -1,   588,    -1,
+     588,    -1,    -1,   593,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   605,    -1,    -1,    -1,   609,
+      -1,    -1,    -1,    -1,   614,    -1,    -1,    -1,   618,    -1,
+      -1,    -1,    -1,    -1,    -1,     0,    -1,   627,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,    -1,    -1,   281,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     325,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   339,   340,   341,   342,   343,   344,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    -1,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,    -1,    -1,   296,   297,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   315,    -1,    -1,    -1,   319,   320,    -1,    -1,
+      -1,    -1,   325,   326,   327,   328,   329,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   339,   340,   341,   342,
+     343,   344,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
@@ -1965,14 +2179,19 @@
      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,    -1,    -1,   246,   247,    -1,    -1,    -1,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,    -1,    -1,   296,   297,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   265,    -1,    -1,    -1,   269,   270,
-      -1,    -1,    -1,    -1,   275,   276,   277,   278,   279,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   289,   290,
-     291,   292,   293,   294,     3,     4,     5,     6,     7,     8,
+      -1,    -1,    -1,    -1,   315,    -1,    -1,    -1,   319,   320,
+      -1,    -1,    -1,    -1,   325,   326,   327,   328,   329,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   339,   340,
+     341,   342,   343,   344,     3,     4,     5,     6,     7,     8,
        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
@@ -1994,14 +2213,19 @@
      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,    -1,    -1,   246,   247,    -1,
+     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
+     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,    -1,    -1,   296,   297,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,    -1,
-     269,    -1,    -1,    -1,    -1,    -1,   275,   276,   277,   278,
-     279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     289,   290,   291,   292,   293,   294,     3,     4,     5,     6,
+      -1,    -1,    -1,    -1,    -1,    -1,   315,    -1,    -1,    -1,
+     319,    -1,    -1,    -1,    -1,    -1,   325,   326,   327,   328,
+     329,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     339,   340,   341,   342,   343,   344,     3,     4,     5,     6,
        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    -1,    20,    21,    22,    23,    24,    25,    26,
+      17,    18,    19,    20,    21,    22,    23,    24,    -1,    26,
       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
@@ -2023,15 +2247,20 @@
      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
-     237,   238,   239,   240,   241,   242,   243,    -1,    -1,   246,
-     247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,
-      -1,    -1,   269,    -1,    -1,    -1,    -1,    -1,   275,   276,
-     277,   278,   279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   289,   290,   291,   292,   293,   294,     3,     4,
+     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
+     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
+     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
+     287,   288,   289,   290,   291,   292,   293,    -1,    -1,   296,
+     297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   315,    -1,
+      -1,    -1,   319,    -1,    -1,    -1,    -1,    -1,   325,   326,
+     327,   328,   329,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   339,   340,   341,   342,   343,   344,     3,     4,
        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    -1,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      -1,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
@@ -2052,15 +2281,20 @@
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
-     235,   236,   237,   238,   239,   240,   241,   242,   243,    -1,
-      -1,   246,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,    -1,
+      -1,   296,   297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     265,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     275,   276,   277,   278,   279,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   289,   290,   291,   292,   293,   294,
+     315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     325,   326,   327,   328,   329,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   339,   340,   341,   342,   343,   344,
        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    32,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
@@ -2080,17 +2314,22 @@
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,    -1,   232,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
-     243,    -1,    -1,   246,   247,    -1,    -1,    -1,    -1,    -1,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,    -1,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,    -1,    -1,   296,   297,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   265,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   275,   276,   277,   278,   279,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   289,   290,   291,   292,
-     293,   294,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   325,   326,   327,   328,   329,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   339,   340,   341,   342,
+     343,   344,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    33,    34,    35,    36,    37,    38,    39,    40,
       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
@@ -2110,151 +2349,21 @@
      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-      -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,    -1,    -1,   296,   297,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   275,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,   289,   290,
-     291,   292,   293,   294,    -1,    -1,    -1,    -1,    -1,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,    -1,   232,   233,   234,   235,   236,   237,
-     238,   239,   240,   241,   242,   243,    -1,    -1,   246,   247,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   276,   277,
-     278,   279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   289,   290,   291,   292,   293,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
-      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
-     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
-     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
-     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
-     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
-     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
-     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
-     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
-     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,    -1,   232,   233,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,   289,   290,   291,   292,   293,    -1,    -1,    -1,
-      -1,    -1,    -1,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,    -1,    -1,   233,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   270,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      -1,    -1,    -1,    -1,    -1,   289,   290,   291,   292,   293,
-      -1,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,    -1,    -1,   233,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   270,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,    -1,    -1,
-      -1,    -1,    -1,   289,   290,   291,   292,   293,    -1,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,    -1,    -1,   233,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   270,     3,     4,     5,     6,     7,     8,     9,
-      10,    11,    12,    13,    14,    15,    -1,    -1,    -1,    -1,
-      -1,   289,   290,   291,   292,   293,    -1,    27,    28,    29,
-      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      -1,    -1,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   326,   327,   328,   329,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   339,   340,
+     341,   342,   343,     3,     4,     5,     6,     7,     8,     9,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    33,    34,    35,    36,    37,    38,    39,
       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
@@ -2274,15 +2383,26 @@
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,    -1,    -1,   233,    -1,    -1,    -1,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,    -1,
+     280,   281,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   325,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   339,
+     340,   341,   342,   343,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   289,
-     290,   291,   292,   293,    63,    64,    65,    66,    67,    68,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
       69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
@@ -2297,74 +2417,60 @@
      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,    -1,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,    -1,    -1,   246,   247,    -1,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
+     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+      -1,    -1,   281,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,    -1,
-     269,   270,    -1,    -1,    -1,    -1,    -1,   276,   277,   278,
-     279,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,    64,
-      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,
-      -1,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
-     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
-     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
-     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
-     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
-     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
-     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   227,   228,   229,   230,    -1,   232,   233,   234,
-     235,   236,   237,   238,   239,   240,   241,   242,   243,    -1,
-      -1,   246,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     265,    -1,    -1,   268,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   276,   277,   278,   279,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-      -1,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,    -1,    -1,   246,   247,    -1,    -1,    -1,
+      -1,   320,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   265,    -1,    -1,    -1,   269,    -1,
-      -1,    -1,    -1,    -1,    -1,   276,   277,   278,   279,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    -1,
+     339,   340,   341,   342,   343,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,    -1,    -1,   281,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   320,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   339,   340,   341,   342,   343,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    33,    34,    35,    36,
       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,    48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    63,    64,    65,    66,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,    86,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
@@ -2379,114 +2485,321 @@
      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,    -1,   232,   233,   234,   235,   236,
-     237,   238,   239,   240,   241,   242,   243,    -1,    -1,   246,
-     247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,
-      -1,   268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   276,
-     277,   278,   279,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
-      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
-      43,    44,    45,    46,    47,    48,    -1,    -1,    -1,    -1,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
+     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
+     277,   278,    -1,    -1,   281,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    -1,    -1,
-      -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    92,
-      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
-     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
-     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
-     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
-     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
-     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
-     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
-     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
-     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
-     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,    -1,   232,
-     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
-     243,    -1,    -1,   246,   247,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   265,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   275,   276,   277,   278,   279,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,    -1,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,    -1,    -1,   246,   247,    -1,
+      -1,    -1,    -1,   320,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   265,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,   276,   277,   278,
-     279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      -1,    -1,   339,   340,   341,   342,   343,     3,     4,     5,
+       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,    -1,    -1,   281,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,    -1,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,    -1,    -1,   246,   247,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   265,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,   276,   277,   278,
-     279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
+       6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   339,   340,   341,   342,   343,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,    -1,    -1,   233
+      -1,    87,    88,    89,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,    -1,    -1,    -1,    -1,    -1,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
+     286,   287,   288,   289,   290,   291,   292,   293,    -1,    -1,
+     296,   297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   315,
+      -1,    -1,    -1,   319,   320,    -1,    -1,    -1,    -1,    -1,
+     326,   327,   328,   329,     5,     6,     7,     8,     9,    -1,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+      -1,    -1,    -1,    -1,    -1,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,    -1,    -1,   296,   297,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   315,    -1,    -1,   318,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   326,   327,   328,   329,     5,
+       6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    87,    88,    89,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,    -1,    -1,    -1,    -1,    -1,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
+     286,   287,   288,   289,   290,   291,   292,   293,    -1,    -1,
+     296,   297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   315,
+      -1,    -1,    -1,   319,    -1,    -1,    -1,    -1,    -1,    -1,
+     326,   327,   328,   329,     5,     6,     7,     8,     9,    -1,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+      -1,    -1,    -1,    -1,    -1,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,    -1,    -1,   296,   297,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   315,    -1,    -1,   318,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   326,   327,   328,   329,     5,
+       6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    87,    88,    89,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,    -1,    -1,    -1,    -1,    -1,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
+     286,   287,   288,   289,   290,   291,   292,   293,    -1,    -1,
+     296,   297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   315,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   325,
+     326,   327,   328,   329,     5,     6,     7,     8,     9,    -1,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+      -1,    -1,    -1,    -1,    -1,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,    -1,    -1,   296,   297,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   326,   327,   328,   329,     5,
+       6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    87,    88,    89,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,    -1,    -1,    -1,    -1,    -1,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,    -1,   280,   281,   282,   283,   284,   285,
+     286,   287,   288,   289,   290,   291,   292,   293,    -1,    -1,
+     296,   297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   315,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     326,   327,   328,   329,     5,     6,     7,     8,     9,    -1,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+      -1,    -1,    -1,    -1,    -1,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,   320,    -1,
+     281,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     362,   363,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   381,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   395,    -1,    -1,   398,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   465,   466,   467,   468,   469,   470,   471,
+     472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
+     482,   483
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -2494,7 +2807,7 @@
 static const yytype_uint16 yystos[] =
 {
        0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    27,    28,    29,    30,    31,    32,
+      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
@@ -2514,118 +2827,133 @@
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   233,   275,
-     289,   290,   291,   292,   293,   294,   329,   330,   333,   334,
-     335,   336,   340,   341,   342,   343,   344,   345,   348,   349,
-     350,   351,   353,   355,   356,   357,   394,   395,   396,   265,
-     265,   232,   269,   356,   232,   275,   275,   397,   266,   272,
-     337,   338,   339,   349,   353,   272,   275,   232,   232,   275,
-     350,   353,   267,   354,     0,   395,   232,   352,    57,   232,
-     346,   347,   269,   359,   353,   275,   354,   269,   376,   338,
-     337,   339,   232,   232,   265,   274,   354,   269,   272,   275,
-     332,   232,   234,   235,   236,   237,   238,   239,   240,   241,
-     242,   243,   246,   247,   265,   268,   276,   277,   278,   279,
-     299,   300,   301,   303,   304,   305,   306,   307,   308,   309,
-     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
-     320,   321,   322,   323,   353,   267,   266,   272,   274,   266,
-     272,   358,   349,   353,   360,   361,   275,   275,    16,    17,
-      18,    20,    21,    22,    23,    24,    25,    26,   231,   269,
-     270,   275,   310,   323,   325,   327,   329,   333,   353,   366,
-     367,   368,   369,   377,   378,   379,   382,   385,   386,   393,
-     354,   274,   354,   269,   325,   364,   274,   331,   232,   272,
-     275,   310,   310,   327,   246,   247,   267,   271,   266,   266,
-     272,   230,   325,   265,   310,   280,   281,   282,   277,   279,
-     244,   245,   248,   249,   283,   284,   250,   251,   287,   286,
-     285,   252,   254,   253,   288,   268,   268,   323,   232,   323,
-     328,   347,   360,   353,   232,   362,   363,   270,   361,   275,
-     275,   388,   265,   265,   275,   275,   327,   265,   327,   273,
-     265,   270,   370,   255,   256,   257,   258,   259,   260,   261,
-     262,   263,   264,   274,   326,   272,   275,   270,   367,   364,
-     274,   364,   365,   364,   360,   232,   266,   302,   327,   232,
-     325,   310,   310,   310,   312,   312,   313,   313,   314,   314,
-     314,   314,   315,   315,   316,   317,   318,   319,   320,   321,
-     324,   268,   270,   362,   354,   272,   275,   367,   389,   327,
-     275,   327,   273,   387,   377,   325,   325,   364,   270,   272,
-     270,   268,   327,   275,   363,   231,   366,   378,   390,   266,
-     266,   327,   342,   349,   381,   371,   270,   364,   273,   265,
-     381,   391,   392,   373,   374,   375,   380,   383,   232,   266,
-     270,   325,   327,   275,   266,    19,   369,   368,   269,   274,
-     368,   372,   376,   266,   327,   372,   373,   377,   384,   364,
-     275,   270
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   281,   325,   339,   340,
+     341,   342,   343,   344,   379,   380,   383,   384,   385,   386,
+     390,   391,   392,   393,   394,   395,   398,   399,   400,   401,
+     403,   405,   406,   407,   444,   445,   446,   315,   315,   280,
+     319,   406,   280,   325,   325,   447,   316,   322,   387,   388,
+     389,   399,   403,   322,   325,   280,   280,   325,   400,   403,
+     317,   404,     0,   445,   280,   402,    81,   280,   396,   397,
+     319,   409,   403,   325,   404,   319,   426,   388,   387,   389,
+     280,   280,   315,   324,   404,   319,   322,   325,   382,   280,
+     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
+     292,   293,   296,   297,   315,   318,   326,   327,   328,   329,
+     349,   350,   351,   353,   354,   355,   356,   357,   358,   359,
+     360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
+     370,   371,   372,   373,   403,   317,   316,   322,   324,   316,
+     322,   408,   399,   403,   410,   411,   325,   325,    22,    23,
+      24,    26,    27,    28,    29,    30,    31,    32,   279,   319,
+     320,   325,   360,   373,   375,   377,   379,   383,   403,   416,
+     417,   418,   419,   427,   428,   429,   432,   435,   436,   443,
+     404,   324,   404,   319,   375,   414,   324,   381,   280,   322,
+     325,   360,   360,   377,   296,   297,   317,   321,   316,   316,
+     322,   278,   375,   315,   360,   330,   331,   332,   327,   329,
+     294,   295,   298,   299,   333,   334,   300,   301,   337,   336,
+     335,   302,   304,   303,   338,   318,   318,   373,   280,   373,
+     378,   397,   410,   403,   280,   412,   413,   320,   411,   325,
+     325,   438,   315,   315,   325,   325,   377,   315,   377,   323,
+     315,   320,   420,   305,   306,   307,   308,   309,   310,   311,
+     312,   313,   314,   324,   376,   322,   325,   320,   417,   414,
+     324,   414,   415,   414,   410,   280,   316,   352,   377,   280,
+     375,   360,   360,   360,   362,   362,   363,   363,   364,   364,
+     364,   364,   365,   365,   366,   367,   368,   369,   370,   371,
+     374,   318,   320,   412,   404,   322,   325,   417,   439,   377,
+     325,   377,   323,   437,   427,   375,   375,   414,   320,   322,
+     320,   318,   377,   325,   413,   279,   416,   428,   440,   316,
+     316,   377,   392,   399,   431,   421,   320,   414,   323,   315,
+     431,   441,   442,   423,   424,   425,   430,   433,   280,   316,
+     320,   375,   377,   325,   316,    25,   419,   418,   319,   324,
+     418,   422,   426,   316,   377,   422,   423,   427,   434,   414,
+     325,   320
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   298,   299,   300,   300,   300,   300,   300,   300,   300,
-     300,   300,   300,   300,   300,   301,   301,   301,   301,   301,
-     301,   302,   303,   304,   305,   305,   306,   306,   307,   307,
-     308,   309,   309,   310,   310,   310,   310,   311,   311,   311,
-     311,   312,   312,   312,   312,   313,   313,   313,   314,   314,
-     314,   315,   315,   315,   315,   315,   316,   316,   316,   317,
-     317,   318,   318,   319,   319,   320,   320,   321,   321,   322,
-     322,   323,   324,   323,   325,   325,   326,   326,   326,   326,
-     326,   326,   326,   326,   326,   326,   326,   327,   327,   328,
-     329,   329,   329,   329,   329,   329,   329,   329,   329,   331,
-     330,   332,   332,   333,   334,   334,   335,   335,   336,   337,
-     337,   338,   338,   338,   338,   339,   340,   340,   340,   340,
-     340,   341,   341,   341,   341,   341,   342,   342,   343,   344,
-     344,   344,   344,   345,   346,   346,   347,   347,   347,   348,
-     349,   349,   350,   350,   350,   350,   350,   350,   351,   351,
-     351,   351,   351,   351,   351,   351,   351,   351,   351,   351,
-     351,   351,   351,   351,   351,   351,   351,   352,   352,   353,
-     353,   354,   354,   354,   354,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     355,   355,   355,   355,   355,   355,   355,   355,   355,   355,
-     356,   356,   356,   358,   357,   359,   357,   360,   360,   361,
-     361,   362,   362,   363,   363,   364,   364,   364,   365,   365,
-     366,   367,   367,   368,   368,   368,   368,   368,   368,   368,
-     369,   370,   371,   369,   372,   372,   374,   373,   375,   373,
-     376,   376,   377,   377,   378,   378,   379,   380,   380,   381,
-     381,   383,   382,   384,   384,   385,   385,   387,   386,   388,
-     386,   389,   386,   390,   390,   391,   391,   392,   392,   393,
-     393,   393,   393,   393,   394,   394,   395,   395,   395,   397,
-     396
+       0,   348,   349,   350,   350,   350,   350,   350,   350,   350,
+     350,   350,   350,   350,   350,   350,   350,   351,   351,   351,
+     351,   351,   351,   352,   353,   354,   355,   355,   356,   356,
+     357,   357,   358,   359,   359,   360,   360,   360,   360,   361,
+     361,   361,   361,   362,   362,   362,   362,   363,   363,   363,
+     364,   364,   364,   365,   365,   365,   365,   365,   366,   366,
+     366,   367,   367,   368,   368,   369,   369,   370,   370,   371,
+     371,   372,   372,   373,   374,   373,   375,   375,   376,   376,
+     376,   376,   376,   376,   376,   376,   376,   376,   376,   377,
+     377,   378,   379,   379,   379,   379,   379,   379,   379,   379,
+     379,   381,   380,   382,   382,   383,   384,   384,   385,   385,
+     386,   387,   387,   388,   388,   388,   388,   389,   390,   390,
+     390,   390,   390,   391,   391,   391,   391,   391,   392,   392,
+     393,   394,   394,   394,   394,   395,   396,   396,   397,   397,
+     397,   398,   399,   399,   400,   400,   400,   400,   400,   400,
+     401,   401,   401,   401,   401,   401,   401,   401,   401,   401,
+     401,   401,   401,   401,   401,   401,   401,   401,   401,   402,
+     402,   403,   403,   404,   404,   404,   404,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     405,   405,   405,   405,   405,   405,   405,   405,   405,   405,
+     406,   406,   406,   408,   407,   409,   407,   410,   410,   411,
+     411,   412,   412,   413,   413,   414,   414,   414,   415,   415,
+     416,   417,   417,   418,   418,   418,   418,   418,   418,   418,
+     419,   420,   421,   419,   422,   422,   424,   423,   425,   423,
+     426,   426,   427,   427,   428,   428,   429,   430,   430,   431,
+     431,   433,   432,   434,   434,   435,   435,   437,   436,   438,
+     436,   439,   436,   440,   440,   441,   441,   442,   442,   443,
+     443,   443,   443,   443,   444,   444,   445,   445,   445,   447,
+     446
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
 static const yytype_uint8 yyr2[] =
 {
        0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     3,     1,     4,     1,     3,     2,
-       2,     1,     1,     1,     2,     2,     2,     1,     2,     3,
-       2,     1,     1,     1,     2,     2,     2,     1,     1,     1,
-       1,     1,     3,     3,     3,     1,     3,     3,     1,     3,
-       3,     1,     3,     3,     3,     3,     1,     3,     3,     1,
+       1,     1,     1,     1,     1,     1,     3,     1,     4,     1,
+       3,     2,     2,     1,     1,     1,     2,     2,     2,     1,
+       2,     3,     2,     1,     1,     1,     2,     2,     2,     1,
+       1,     1,     1,     1,     3,     3,     3,     1,     3,     3,
+       1,     3,     3,     1,     3,     3,     3,     3,     1,     3,
        3,     1,     3,     1,     3,     1,     3,     1,     3,     1,
-       3,     1,     0,     6,     1,     3,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
-       2,     2,     4,     2,     3,     4,     2,     3,     4,     0,
-       6,     2,     3,     2,     1,     1,     2,     3,     3,     2,
-       3,     2,     1,     2,     1,     1,     1,     3,     4,     6,
-       5,     1,     2,     3,     5,     4,     1,     2,     1,     1,
-       1,     1,     1,     4,     1,     3,     1,     3,     1,     1,
-       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
+       3,     1,     3,     1,     0,     6,     1,     3,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     4,     1,     3,     1,
-       2,     2,     3,     3,     4,     1,     1,     1,     1,     1,
+       3,     1,     2,     2,     4,     2,     3,     4,     2,     3,
+       4,     0,     6,     2,     3,     2,     1,     1,     2,     3,
+       3,     2,     3,     2,     1,     2,     1,     1,     1,     3,
+       4,     6,     5,     1,     2,     3,     5,     4,     1,     2,
+       1,     1,     1,     1,     1,     4,     1,     3,     1,     3,
+       1,     1,     1,     2,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     4,     1,
+       3,     1,     2,     2,     3,     3,     4,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
@@ -3336,238 +3664,250 @@
   switch (yyn)
     {
         case 2:
-#line 253 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 273 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
     }
-#line 3344 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 3:
-#line 259 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 279 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 3352 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 4:
-#line 262 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 282 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
     }
-#line 3360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 5:
-#line 265 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 286 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
+    }
+#line 3698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 6:
+#line 290 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
+    }
+#line 3706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 7:
+#line 293 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
     }
-#line 3369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3715 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 6:
-#line 269 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 8:
+#line 297 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true);
     }
-#line 3378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 7:
-#line 273 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 9:
+#line 301 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true);
     }
-#line 3387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 8:
-#line 277 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit integer literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
-#endif
-    }
-#line 3398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 9:
-#line 283 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
-#endif
-    }
-#line 3409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3733 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 10:
-#line 289 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 305 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
     }
-#line 3417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 11:
-#line 292 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 309 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
+    }
+#line 3751 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 12:
+#line 313 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
+    }
+#line 3759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 13:
+#line 316 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true);
     }
-#line 3426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 12:
-#line 296 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
-#endif
-    }
-#line 3437 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 13:
-#line 302 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
-    }
-#line 3445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3768 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 14:
-#line 305 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 320 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
+    }
+#line 3777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 15:
+#line 324 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
+    }
+#line 3785 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 16:
+#line 327 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
         if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
             (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
     }
-#line 3455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 15:
-#line 313 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
-    }
-#line 3463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 16:
-#line 316 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
-    }
-#line 3471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 17:
-#line 319 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 335 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 3479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 18:
-#line 322 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 338 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
+        (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
     }
-#line 3487 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3811 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 19:
-#line 325 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 341 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
+    }
+#line 3819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 20:
+#line 344 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
+    }
+#line 3827 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 21:
+#line 347 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
         parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 3497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3837 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 20:
-#line 330 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 22:
+#line 352 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
         parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 3507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 21:
-#line 338 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 23:
+#line 360 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 3516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3856 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 22:
-#line 345 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 24:
+#line 367 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);
         delete (yyvsp[0].interm).function;
     }
-#line 3525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 23:
-#line 352 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm) = (yyvsp[0].interm);
-    }
-#line 3533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 24:
-#line 358 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm) = (yyvsp[-1].interm);
-        (yyval.interm).loc = (yyvsp[0].lex).loc;
-    }
-#line 3542 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 25:
-#line 362 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 374 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm) = (yyvsp[0].interm);
+    }
+#line 3873 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 26:
+#line 380 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-1].interm);
         (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 3551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 26:
-#line 369 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm) = (yyvsp[-1].interm);
-    }
-#line 3559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3882 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 27:
-#line 372 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 384 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm) = (yyvsp[0].interm);
+        (yyval.interm) = (yyvsp[-1].interm);
+        (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 3567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 28:
-#line 378 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 391 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm) = (yyvsp[-1].interm);
+    }
+#line 3899 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 29:
+#line 394 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm) = (yyvsp[0].interm);
+    }
+#line 3907 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 30:
+#line 400 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TParameter param = { 0, new TType };
         param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -3575,11 +3915,11 @@
         (yyval.interm).function = (yyvsp[-1].interm).function;
         (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
     }
-#line 3579 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3919 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 29:
-#line 385 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 31:
+#line 407 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TParameter param = { 0, new TType };
         param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -3587,29 +3927,29 @@
         (yyval.interm).function = (yyvsp[-2].interm).function;
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
     }
-#line 3591 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3931 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 30:
-#line 395 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 32:
+#line 417 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-1].interm);
     }
-#line 3599 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3939 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 31:
-#line 403 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 33:
+#line 425 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // Constructor
         (yyval.interm).intermNode = 0;
         (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
     }
-#line 3609 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3949 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 32:
-#line 408 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 34:
+#line 430 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // Should be a method or subroutine call, but we haven't recognized the arguments yet.
@@ -3637,40 +3977,40 @@
             (yyval.interm).function = new TFunction(&empty, TType(EbtVoid), EOpNull);
         }
     }
-#line 3641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 33:
-#line 438 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 35:
+#line 460 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.variableCheck((yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())
             parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");
     }
-#line 3652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3992 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 34:
-#line 444 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 36:
+#line 466 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode));
     }
-#line 3661 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 35:
-#line 448 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 37:
+#line 470 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode));
     }
-#line 3670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 36:
-#line 452 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 38:
+#line 474 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm).op != EOpNull) {
             char errorOp[2] = {0, 0};
@@ -3687,179 +4027,179 @@
                 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
         }
     }
-#line 3691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 37:
-#line 472 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
-#line 3697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 38:
-#line 473 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
-#line 3703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4031 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 39:
-#line 474 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
-#line 3709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 494 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
+#line 4037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 40:
-#line 475 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
-              parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
-#line 3716 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 495 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
+#line 4043 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 41:
-#line 481 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3722 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 496 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
+#line 4049 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 42:
-#line 482 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 497 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
+              parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
+#line 4056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 43:
+#line 503 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
+#line 4062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 44:
+#line 504 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4072 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 43:
-#line 487 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 45:
+#line 509 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 44:
-#line 492 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 46:
+#line 514 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 45:
-#line 501 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 47:
+#line 523 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4099 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 46:
-#line 502 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 48:
+#line 524 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4109 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 47:
-#line 507 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 49:
+#line 529 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4119 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 48:
-#line 515 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 50:
+#line 537 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3785 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4125 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 49:
-#line 516 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 51:
+#line 538 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 50:
-#line 522 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 52:
+#line 544 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3807 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 51:
-#line 531 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 53:
+#line 553 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3813 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4153 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 52:
-#line 532 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 54:
+#line 554 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4163 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 53:
-#line 537 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 55:
+#line 559 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4173 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 54:
-#line 542 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 56:
+#line 564 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4183 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 55:
-#line 547 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 57:
+#line 569 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4193 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 56:
-#line 555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 58:
+#line 577 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3859 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4199 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 57:
-#line 556 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 59:
+#line 578 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
         parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
@@ -3868,11 +4208,11 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3872 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 58:
-#line 564 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 60:
+#line 586 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
         parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
@@ -3881,124 +4221,124 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 59:
-#line 575 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 61:
+#line 597 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4231 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 60:
-#line 576 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 62:
+#line 598 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 61:
-#line 585 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 63:
+#line 607 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 62:
-#line 586 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 64:
+#line 608 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3919 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 63:
-#line 595 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 65:
+#line 617 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 64:
-#line 596 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 66:
+#line 618 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3936 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 65:
-#line 605 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 67:
+#line 627 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 66:
-#line 606 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 68:
+#line 628 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 67:
-#line 614 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 69:
+#line 636 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3958 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 68:
-#line 615 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 70:
+#line 637 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 69:
-#line 623 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 71:
+#line 645 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 70:
-#line 624 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 72:
+#line 646 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 71:
-#line 632 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 72:
-#line 633 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        ++parseContext.controlFlowNestingLevel;
-    }
-#line 3998 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4324 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 73:
-#line 636 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 654 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
+#line 4330 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 74:
+#line 655 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        ++parseContext.controlFlowNestingLevel;
+    }
+#line 4338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 75:
+#line 658 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.controlFlowNestingLevel;
         parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));
@@ -4011,17 +4351,17 @@
             (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         }
     }
-#line 4015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4355 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 74:
-#line 651 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 76:
+#line 673 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 75:
-#line 652 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 77:
+#line 674 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");
         parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
@@ -4034,119 +4374,119 @@
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
         }
     }
-#line 4038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 76:
-#line 667 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 78:
+#line 689 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpAssign;
     }
-#line 4047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 77:
-#line 671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 79:
+#line 693 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpMulAssign;
     }
-#line 4056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4396 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 78:
-#line 675 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 80:
+#line 697 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpDivAssign;
     }
-#line 4065 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4405 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 79:
-#line 679 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 81:
+#line 701 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpModAssign;
     }
-#line 4075 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4415 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 80:
-#line 684 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 82:
+#line 706 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpAddAssign;
     }
-#line 4084 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4424 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 81:
-#line 688 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 83:
+#line 710 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpSubAssign;
     }
-#line 4093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4433 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 82:
-#line 692 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 84:
+#line 714 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
     }
-#line 4102 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4442 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 83:
-#line 696 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 85:
+#line 718 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
     }
-#line 4111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 84:
-#line 700 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 86:
+#line 722 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
     }
-#line 4120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 85:
-#line 704 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 87:
+#line 726 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
     }
-#line 4129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 86:
-#line 708 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 88:
+#line 730 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
     }
-#line 4138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 87:
-#line 715 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 89:
+#line 737 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4486 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 88:
-#line 718 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 90:
+#line 740 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
@@ -4155,40 +4495,40 @@
             (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         }
     }
-#line 4159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4499 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 89:
-#line 729 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 91:
+#line 751 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4168 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 90:
-#line 736 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 92:
+#line 758 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);
         (yyval.interm.intermNode) = 0;
         // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
     }
-#line 4178 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4518 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 91:
-#line 741 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 93:
+#line 763 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate())
             (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);
         (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;
     }
-#line 4188 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 92:
-#line 746 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 94:
+#line 768 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");
 
@@ -4197,75 +4537,75 @@
         parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
         (yyval.interm.intermNode) = 0;
     }
-#line 4201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 93:
-#line 754 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 95:
+#line 776 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
         (yyval.interm.intermNode) = 0;
     }
-#line 4210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4550 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 94:
-#line 758 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 96:
+#line 780 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
         (yyval.interm.intermNode) = 0;
     }
-#line 4219 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 95:
-#line 762 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 97:
+#line 784 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
         (yyval.interm.intermNode) = 0;
     }
-#line 4228 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 96:
-#line 766 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 98:
+#line 788 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
         parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
         (yyval.interm.intermNode) = 0;
     }
-#line 4238 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 97:
-#line 771 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 99:
+#line 793 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
         parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
         (yyval.interm.intermNode) = 0;
     }
-#line 4248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 98:
-#line 776 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 100:
+#line 798 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);
         (yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);
         parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
         (yyval.interm.intermNode) = 0;
     }
-#line 4259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4599 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 99:
-#line 785 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 101:
+#line 807 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
-#line 4265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4605 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 100:
-#line 785 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 102:
+#line 807 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.structNestingLevel;
         parseContext.blockName = (yyvsp[-4].lex).string;
@@ -4275,54 +4615,54 @@
         (yyval.interm).loc = (yyvsp[-5].interm.type).loc;
         (yyval.interm).typeList = (yyvsp[-1].interm.typeList);
     }
-#line 4279 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 101:
-#line 796 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 103:
+#line 818 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.identifierList) = new TIdentifierList;
         (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
     }
-#line 4288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 102:
-#line 800 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 104:
+#line 822 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
         (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
     }
-#line 4297 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 103:
-#line 807 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 105:
+#line 829 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).function = (yyvsp[-1].interm.function);
         (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 4306 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 104:
-#line 814 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.function) = (yyvsp[0].interm.function);
-    }
-#line 4314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 105:
-#line 817 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.function) = (yyvsp[0].interm.function);
-    }
-#line 4322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 106:
-#line 824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 836 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.function) = (yyvsp[0].interm.function);
+    }
+#line 4654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 107:
+#line 839 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.function) = (yyvsp[0].interm.function);
+    }
+#line 4662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 108:
+#line 846 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // Add the parameter
         (yyval.interm.function) = (yyvsp[-1].interm.function);
@@ -4331,11 +4671,11 @@
         else
             delete (yyvsp[0].interm).param.type;
     }
-#line 4335 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4675 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 107:
-#line 832 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 109:
+#line 854 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // Only first parameter of one-parameter functions can be void
@@ -4353,11 +4693,11 @@
             (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
         }
     }
-#line 4357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 108:
-#line 852 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 110:
+#line 874 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {
             parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",
@@ -4377,11 +4717,11 @@
         function = new TFunction((yyvsp[-1].lex).string, type);
         (yyval.interm.function) = function;
     }
-#line 4381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4721 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 109:
-#line 875 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 111:
+#line 897 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -4397,11 +4737,11 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).param = param;
     }
-#line 4401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 110:
-#line 890 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 112:
+#line 912 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -4419,11 +4759,11 @@
         (yyval.interm).loc = (yyvsp[-1].lex).loc;
         (yyval.interm).param = param;
     }
-#line 4423 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4763 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 111:
-#line 913 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 113:
+#line 935 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
         if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -4435,11 +4775,11 @@
         parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
 
     }
-#line 4439 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 112:
-#line 924 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 114:
+#line 946 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
 
@@ -4447,11 +4787,11 @@
         parseContext.paramCheckFix((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
         parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
     }
-#line 4451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4791 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 113:
-#line 934 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 115:
+#line 956 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
         if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -4462,11 +4802,11 @@
         parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
         parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
     }
-#line 4466 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 114:
-#line 944 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 116:
+#line 966 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
 
@@ -4474,118 +4814,118 @@
         parseContext.paramCheckFix((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
         parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
     }
-#line 4478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4818 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 115:
-#line 954 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 117:
+#line 976 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TParameter param = { 0, new TType((yyvsp[0].interm.type)) };
         (yyval.interm).param = param;
         if ((yyvsp[0].interm.type).arraySizes)
             parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);
     }
-#line 4489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 116:
-#line 963 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 118:
+#line 985 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 4497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4837 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 117:
-#line 966 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 119:
+#line 988 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-2].interm);
         parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
     }
-#line 4506 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4846 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 118:
-#line 970 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 120:
+#line 992 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-3].interm);
         parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);
     }
-#line 4515 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4855 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 119:
-#line 974 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 121:
+#line 996 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-5].interm).type;
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
     }
-#line 4525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 120:
-#line 979 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 122:
+#line 1001 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-4].interm).type;
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
     }
-#line 4535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 121:
-#line 987 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 123:
+#line 1009 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[0].interm.type);
         (yyval.interm).intermNode = 0;
         parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
     }
-#line 4545 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 122:
-#line 992 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 124:
+#line 1014 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-1].interm.type);
         (yyval.interm).intermNode = 0;
         parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));
     }
-#line 4555 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 123:
-#line 997 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 125:
+#line 1019 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-2].interm.type);
         (yyval.interm).intermNode = 0;
         parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);
     }
-#line 4565 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 124:
-#line 1002 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 126:
+#line 1024 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-4].interm.type);
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
     }
-#line 4575 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 125:
-#line 1007 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 127:
+#line 1029 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-3].interm.type);
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
     }
-#line 4585 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 126:
-#line 1016 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 128:
+#line 1038 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
 
@@ -4597,11 +4937,11 @@
 
         parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
     }
-#line 4601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 127:
-#line 1027 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 129:
+#line 1049 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
         parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
@@ -4626,22 +4966,22 @@
              (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
             (yyval.interm.type).qualifier.smooth = true;
     }
-#line 4630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 128:
-#line 1054 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 130:
+#line 1076 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");
         parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.invariant = true;
     }
-#line 4641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 129:
-#line 1063 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 131:
+#line 1085 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
@@ -4649,11 +4989,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.smooth = true;
     }
-#line 4653 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 130:
-#line 1070 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 132:
+#line 1092 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
@@ -4661,11 +5001,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.flat = true;
     }
-#line 4665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 131:
-#line 1077 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 133:
+#line 1099 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
         parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "noperspective");
@@ -4673,11 +5013,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.nopersp = true;
     }
-#line 4677 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 132:
-#line 1084 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 134:
+#line 1106 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
@@ -4687,84 +5027,84 @@
         (yyval.interm.type).qualifier.explicitInterp = true;
 #endif
     }
-#line 4691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 133:
-#line 1096 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type) = (yyvsp[-1].interm.type);
-    }
-#line 4699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 134:
-#line 1102 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-    }
-#line 4707 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5031 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 135:
-#line 1105 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1118 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type) = (yyvsp[-1].interm.type);
+    }
+#line 5039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 136:
+#line 1124 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 137:
+#line 1127 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[-2].interm.type);
         (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
         parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
     }
-#line 4717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 136:
-#line 1112 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 138:
+#line 1134 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);
     }
-#line 4726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5066 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 137:
-#line 1116 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 139:
+#line 1138 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[-2].lex).loc);
         parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode));
     }
-#line 4735 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5075 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 138:
-#line 1120 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 140:
+#line 1142 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { // because "shared" is both an identifier and a keyword
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         TString strShared("shared");
         parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);
     }
-#line 4745 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5085 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 139:
-#line 1128 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 141:
+#line 1150 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");
         parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.noContraction = true;
     }
-#line 4756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5096 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 140:
-#line 1137 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 142:
+#line 1159 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 141:
-#line 1140 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 143:
+#line 1162 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[-1].interm.type);
         if ((yyval.interm.type).basicType == EbtVoid)
@@ -4773,72 +5113,72 @@
         (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
         parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
     }
-#line 4777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 142:
-#line 1151 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-    }
-#line 4785 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 143:
-#line 1154 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-    }
-#line 4793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 144:
-#line 1157 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1173 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5125 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 145:
+#line 1176 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 146:
+#line 1179 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 145:
-#line 1161 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        // allow inheritance of storage qualifier from block declaration
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-    }
-#line 4811 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 146:
-#line 1165 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        // allow inheritance of storage qualifier from block declaration
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-    }
-#line 4820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5142 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 147:
-#line 1169 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1183 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // allow inheritance of storage qualifier from block declaration
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5151 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 148:
-#line 1176 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1187 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        // allow inheritance of storage qualifier from block declaration
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 149:
+#line 1191 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        // allow inheritance of storage qualifier from block declaration
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5169 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 150:
+#line 1198 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqConst;  // will later turn into EvqConstReadOnly, if the initializer is not constant
     }
-#line 4838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5178 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 149:
-#line 1180 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 151:
+#line 1202 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
@@ -4851,11 +5191,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqVaryingIn;
     }
-#line 4855 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5195 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 150:
-#line 1192 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 152:
+#line 1214 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
@@ -4870,43 +5210,43 @@
         else
             (yyval.interm.type).qualifier.storage = EvqVaryingIn;
     }
-#line 4874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5214 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 151:
-#line 1206 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 153:
+#line 1228 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "inout");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqInOut;
     }
-#line 4884 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5224 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 152:
-#line 1211 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 154:
+#line 1233 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "in");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later
         (yyval.interm.type).qualifier.storage = EvqIn;
     }
-#line 4895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5235 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 153:
-#line 1217 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 155:
+#line 1239 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "out");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later
         (yyval.interm.type).qualifier.storage = EvqOut;
     }
-#line 4906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5246 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 154:
-#line 1223 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 156:
+#line 1245 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
         parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
@@ -4914,52 +5254,52 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.centroid = true;
     }
-#line 4918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5258 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 155:
-#line 1230 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 157:
+#line 1252 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "patch");
         parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.patch = true;
     }
-#line 4929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 156:
-#line 1236 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 158:
+#line 1258 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "sample");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.sample = true;
     }
-#line 4939 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5279 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 157:
-#line 1241 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 159:
+#line 1263 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqUniform;
     }
-#line 4949 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 158:
-#line 1246 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 160:
+#line 1268 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqBuffer;
     }
-#line 4959 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 159:
-#line 1251 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 161:
+#line 1273 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "shared");
         parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
@@ -4968,126 +5308,126 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqShared;
     }
-#line 4972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 160:
-#line 1259 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 162:
+#line 1281 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.coherent = true;
     }
-#line 4981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5321 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 161:
-#line 1263 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 163:
+#line 1285 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.volatil = true;
     }
-#line 4990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5330 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 162:
-#line 1267 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 164:
+#line 1289 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.restrict = true;
     }
-#line 4999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5339 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 163:
-#line 1271 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 165:
+#line 1293 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.readonly = true;
     }
-#line 5008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 164:
-#line 1275 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 166:
+#line 1297 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.writeonly = true;
     }
-#line 5017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 165:
-#line 1279 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 167:
+#line 1301 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
         parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
         parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
     }
-#line 5028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 166:
-#line 1285 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 168:
+#line 1307 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
         parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
         parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
         (yyval.interm.type).init((yyvsp[-3].lex).loc);
     }
-#line 5039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 167:
-#line 1294 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 169:
+#line 1316 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // TODO
     }
-#line 5047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 168:
-#line 1297 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 170:
+#line 1319 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // TODO: 4.0 semantics: subroutines
         // 1) make sure each identifier is a type declared earlier with SUBROUTINE
         // 2) save all of the identifiers for future comparison with the declared function
     }
-#line 5057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 169:
-#line 1305 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 171:
+#line 1327 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
         (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
     }
-#line 5066 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5406 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 170:
-#line 1309 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 172:
+#line 1331 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayDimCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes, 0);
         (yyval.interm.type) = (yyvsp[-1].interm.type);
         (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
         (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
     }
-#line 5077 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 171:
-#line 1318 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 173:
+#line 1340 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[-1].lex).loc;
         (yyval.interm).arraySizes = new TArraySizes;
         (yyval.interm).arraySizes->addInnerSize();
     }
-#line 5087 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5427 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 172:
-#line 1323 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 174:
+#line 1345 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[-2].lex).loc;
         (yyval.interm).arraySizes = new TArraySizes;
@@ -5096,20 +5436,20 @@
         parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
         (yyval.interm).arraySizes->addInnerSize(size);
     }
-#line 5100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5440 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 173:
-#line 1331 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 175:
+#line 1353 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-2].interm);
         (yyval.interm).arraySizes->addInnerSize();
     }
-#line 5109 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5449 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 174:
-#line 1335 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 176:
+#line 1357 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-3].interm);
 
@@ -5117,2047 +5457,2521 @@
         parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
         (yyval.interm).arraySizes->addInnerSize(size);
     }
-#line 5121 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 175:
-#line 1345 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 177:
+#line 1367 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtVoid;
     }
-#line 5130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5470 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 176:
-#line 1349 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 178:
+#line 1371 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
     }
-#line 5139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 177:
-#line 1353 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 179:
+#line 1375 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
     }
-#line 5149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 178:
-#line 1358 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 180:
+#line 1380 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.float16Check((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
-#endif
     }
-#line 5161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5499 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 179:
-#line 1365 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 181:
+#line 1385 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+    }
+#line 5509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 182:
+#line 1390 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+    }
+#line 5519 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 183:
+#line 1395 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
     }
-#line 5170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 180:
-#line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 184:
+#line 1399 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint;
     }
-#line 5180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5538 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 181:
-#line 1374 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 185:
+#line 1404 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt8;
+    }
+#line 5548 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 186:
+#line 1409 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint8;
+    }
+#line 5558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 187:
+#line 1414 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt16;
+    }
+#line 5568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 188:
+#line 1419 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint16;
+    }
+#line 5578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 189:
+#line 1424 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt;
+    }
+#line 5588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 190:
+#line 1429 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint;
+    }
+#line 5598 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 191:
+#line 1434 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt64;
     }
-#line 5190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 182:
-#line 1379 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 192:
+#line 1439 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint64;
     }
-#line 5200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 183:
-#line 1384 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit integer", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
-#endif
-    }
-#line 5212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 184:
-#line 1391 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint16;
-#endif
-    }
-#line 5224 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 185:
-#line 1398 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtBool;
-    }
-#line 5233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 186:
-#line 1402 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(2);
-    }
-#line 5243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 187:
-#line 1407 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(3);
-    }
-#line 5253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 188:
-#line 1412 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(4);
-    }
-#line 5263 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 189:
-#line 1417 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setVector(2);
-    }
-#line 5274 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 190:
-#line 1423 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setVector(3);
-    }
-#line 5285 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 191:
-#line 1429 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setVector(4);
-    }
-#line 5296 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 192:
-#line 1435 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setVector(2);
-#endif
-    }
-#line 5309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 193:
-#line 1443 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1444 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setVector(3);
-#endif
+        (yyval.interm.type).basicType = EbtBool;
     }
-#line 5322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 194:
-#line 1451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1448 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(2);
+    }
+#line 5637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 195:
+#line 1453 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(3);
+    }
+#line 5647 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 196:
+#line 1458 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(4);
+    }
+#line 5657 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 197:
+#line 1463 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(2);
+    }
+#line 5668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 198:
+#line 1469 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(3);
+    }
+#line 5679 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 199:
+#line 1475 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(4);
+    }
+#line 5690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 200:
+#line 1481 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setVector(2);
+    }
+#line 5701 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 201:
+#line 1487 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setVector(3);
+    }
+#line 5712 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 202:
+#line 1493 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
         parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
         (yyval.interm.type).setVector(4);
-#endif
     }
-#line 5335 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 195:
-#line 1459 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtBool;
-        (yyval.interm.type).setVector(2);
-    }
-#line 5345 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 196:
-#line 1464 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtBool;
-        (yyval.interm.type).setVector(3);
-    }
-#line 5355 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 197:
-#line 1469 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtBool;
-        (yyval.interm.type).setVector(4);
-    }
-#line 5365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 198:
-#line 1474 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
-        (yyval.interm.type).setVector(2);
-    }
-#line 5375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 199:
-#line 1479 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
-        (yyval.interm.type).setVector(3);
-    }
-#line 5385 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 200:
-#line 1484 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
-        (yyval.interm.type).setVector(4);
-    }
-#line 5395 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 201:
-#line 1489 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt64;
-        (yyval.interm.type).setVector(2);
-    }
-#line 5406 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 202:
-#line 1495 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt64;
-        (yyval.interm.type).setVector(3);
-    }
-#line 5417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 203:
-#line 1501 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1499 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt64;
-        (yyval.interm.type).setVector(4);
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setVector(2);
     }
-#line 5428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5734 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 204:
-#line 1507 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1505 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
-        (yyval.interm.type).setVector(2);
-#endif
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setVector(3);
     }
-#line 5441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5745 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 205:
-#line 1515 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1511 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
-        (yyval.interm.type).setVector(3);
-#endif
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setVector(4);
     }
-#line 5454 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 206:
-#line 1523 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1517 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
-        (yyval.interm.type).setVector(4);
-#endif
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setVector(2);
     }
-#line 5467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5767 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 207:
-#line 1531 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1523 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(2);
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setVector(3);
     }
-#line 5478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5778 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 208:
-#line 1537 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1529 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(3);
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setVector(4);
     }
-#line 5489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 209:
-#line 1543 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1535 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(4);
+        (yyval.interm.type).basicType = EbtBool;
+        (yyval.interm.type).setVector(2);
     }
-#line 5500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5799 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 210:
-#line 1549 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1540 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint64;
-        (yyval.interm.type).setVector(2);
+        (yyval.interm.type).basicType = EbtBool;
+        (yyval.interm.type).setVector(3);
     }
-#line 5511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 211:
-#line 1555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1545 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint64;
-        (yyval.interm.type).setVector(3);
+        (yyval.interm.type).basicType = EbtBool;
+        (yyval.interm.type).setVector(4);
     }
-#line 5522 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 212:
-#line 1561 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint64;
-        (yyval.interm.type).setVector(4);
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(2);
     }
-#line 5533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 213:
-#line 1567 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint16;
-        (yyval.interm.type).setVector(2);
-#endif
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(3);
     }
-#line 5546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5839 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 214:
-#line 1575 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1560 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint16;
-        (yyval.interm.type).setVector(3);
-#endif
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(4);
     }
-#line 5559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5849 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 215:
-#line 1583 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1565 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.int16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint16;
-        (yyval.interm.type).setVector(4);
-#endif
+ 	   parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ 	   (yyval.interm.type).basicType = EbtInt8;
+ 	   (yyval.interm.type).setVector(2);
     }
-#line 5572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5860 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 216:
-#line 1591 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1571 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 2);
+ 	   parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ 	   (yyval.interm.type).basicType = EbtInt8;
+ 	   (yyval.interm.type).setVector(3);
     }
-#line 5582 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5871 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 217:
-#line 1596 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1577 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 3);
+ 	   parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ 	   (yyval.interm.type).basicType = EbtInt8;
+ 	   (yyval.interm.type).setVector(4);
     }
-#line 5592 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5882 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 218:
-#line 1601 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1583 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 4);
+ 	   parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ 	   (yyval.interm.type).basicType = EbtInt16;
+ 	   (yyval.interm.type).setVector(2);
     }
-#line 5602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5893 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 219:
-#line 1606 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1589 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 2);
+ 	   parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ 	   (yyval.interm.type).basicType = EbtInt16;
+ 	   (yyval.interm.type).setVector(3);
     }
-#line 5612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 220:
-#line 1611 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1595 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 3);
-    }
-#line 5622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 221:
-#line 1616 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 4);
-    }
-#line 5632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 222:
-#line 1621 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 2);
-    }
-#line 5642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 223:
-#line 1626 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 3);
-    }
-#line 5652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 224:
-#line 1631 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 4);
-    }
-#line 5662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 225:
-#line 1636 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 2);
-    }
-#line 5672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 226:
-#line 1641 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 3);
-    }
-#line 5682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 227:
-#line 1646 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 4);
-    }
-#line 5692 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 228:
-#line 1651 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 5703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 229:
-#line 1657 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(3, 3);
-    }
-#line 5714 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 230:
-#line 1663 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(4, 4);
-    }
-#line 5725 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 231:
-#line 1669 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 5736 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 232:
-#line 1675 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(2, 3);
-    }
-#line 5747 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 233:
-#line 1681 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(2, 4);
-    }
-#line 5758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 234:
-#line 1687 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(3, 2);
-    }
-#line 5769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 235:
-#line 1693 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(3, 3);
-    }
-#line 5780 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 236:
-#line 1699 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(3, 4);
-    }
-#line 5791 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 237:
-#line 1705 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(4, 2);
-    }
-#line 5802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 238:
-#line 1711 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(4, 3);
-    }
-#line 5813 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 239:
-#line 1717 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setMatrix(4, 4);
-    }
-#line 5824 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 240:
-#line 1723 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 2);
-#endif
-    }
-#line 5837 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 241:
-#line 1731 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(3, 3);
-#endif
-    }
-#line 5850 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 242:
-#line 1739 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(4, 4);
-#endif
-    }
-#line 5863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 243:
-#line 1747 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 2);
-#endif
-    }
-#line 5876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 244:
-#line 1755 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 3);
-#endif
-    }
-#line 5889 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 245:
-#line 1763 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 4);
-#endif
-    }
-#line 5902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 246:
-#line 1771 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(3, 2);
-#endif
+ 	   parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ 	   (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ 	   (yyval.interm.type).basicType = EbtInt16;
+ 	   (yyval.interm.type).setVector(4);
     }
 #line 5915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 247:
-#line 1779 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 221:
+#line 1601 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(3, 3);
-#endif
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(2);
     }
-#line 5928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5926 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 248:
-#line 1787 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 222:
+#line 1607 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(3, 4);
-#endif
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(3);
     }
-#line 5941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 249:
-#line 1795 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 223:
+#line 1613 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(4, 2);
-#endif
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(4);
     }
-#line 5954 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5948 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 250:
-#line 1803 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 224:
+#line 1619 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(4, 3);
-#endif
+        (yyval.interm.type).basicType = EbtInt64;
+        (yyval.interm.type).setVector(2);
     }
-#line 5967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5959 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 251:
-#line 1811 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 225:
+#line 1625 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-#ifdef AMD_EXTENSIONS
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(4, 4);
-#endif
+        (yyval.interm.type).basicType = EbtInt64;
+        (yyval.interm.type).setVector(3);
     }
-#line 5980 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 252:
-#line 1819 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 226:
+#line 1631 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtAtomicUint;
+        (yyval.interm.type).basicType = EbtInt64;
+        (yyval.interm.type).setVector(4);
     }
-#line 5990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 253:
-#line 1824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 227:
+#line 1637 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd1D);
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(2);
     }
-#line 6000 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5992 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 254:
-#line 1829 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 228:
+#line 1643 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(3);
     }
-#line 6010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6003 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 255:
-#line 1834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 229:
+#line 1649 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd3D);
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(4);
     }
-#line 6020 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6014 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 256:
-#line 1839 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 230:
+#line 1655 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, EsdCube);
+        (yyval.interm.type).basicType = EbtUint8;
+        (yyval.interm.type).setVector(2);
     }
-#line 6030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6025 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 257:
-#line 1844 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 231:
+#line 1661 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
+        (yyval.interm.type).basicType = EbtInt8;
+        (yyval.interm.type).setVector(3);
     }
-#line 6040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6036 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 258:
-#line 1849 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 232:
+#line 1667 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
+        (yyval.interm.type).basicType = EbtUint8;
+        (yyval.interm.type).setVector(4);
     }
-#line 6050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 259:
-#line 1854 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 233:
+#line 1673 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
+        (yyval.interm.type).basicType = EbtUint16;
+        (yyval.interm.type).setVector(2);
     }
-#line 6060 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6058 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 260:
-#line 1859 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 234:
+#line 1679 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
+        (yyval.interm.type).basicType = EbtUint16;
+        (yyval.interm.type).setVector(3);
     }
-#line 6070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6069 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 261:
-#line 1864 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 235:
+#line 1685 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
+        (yyval.interm.type).basicType = EbtUint16;
+        (yyval.interm.type).setVector(4);
     }
 #line 6080 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 262:
-#line 1869 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 236:
+#line 1691 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(2);
     }
-#line 6090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 263:
-#line 1874 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 237:
+#line 1697 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(3);
     }
-#line 6100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6102 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 264:
-#line 1879 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 238:
+#line 1703 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(4);
     }
-#line 6110 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6113 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 265:
-#line 1884 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 239:
+#line 1709 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
+        (yyval.interm.type).basicType = EbtUint64;
+        (yyval.interm.type).setVector(2);
     }
-#line 6120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6124 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 266:
-#line 1889 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 240:
+#line 1715 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, Esd1D);
+        (yyval.interm.type).basicType = EbtUint64;
+        (yyval.interm.type).setVector(3);
     }
-#line 6130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6135 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 267:
-#line 1894 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 241:
+#line 1721 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, Esd2D);
+        (yyval.interm.type).basicType = EbtUint64;
+        (yyval.interm.type).setVector(4);
     }
-#line 6140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 268:
-#line 1899 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 242:
+#line 1727 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, Esd3D);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 2);
     }
-#line 6150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 269:
-#line 1904 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 243:
+#line 1732 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, EsdCube);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 3);
     }
-#line 6160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 270:
-#line 1909 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 244:
+#line 1737 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 4);
     }
-#line 6170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 271:
-#line 1914 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 245:
+#line 1742 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 2);
     }
-#line 6180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6186 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 272:
-#line 1919 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 246:
+#line 1747 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 3);
     }
-#line 6190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6196 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 273:
-#line 1924 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 247:
+#line 1752 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, Esd1D);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 4);
     }
-#line 6200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6206 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 274:
-#line 1929 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 248:
+#line 1757 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, Esd2D);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 2);
     }
-#line 6210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 275:
-#line 1934 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 249:
+#line 1762 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, Esd3D);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 3);
     }
-#line 6220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 276:
-#line 1939 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 250:
+#line 1767 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, EsdCube);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 4);
     }
-#line 6230 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6236 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 277:
-#line 1944 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 251:
+#line 1772 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, Esd1D, true);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 2);
     }
-#line 6240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6246 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 278:
-#line 1949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 252:
+#line 1777 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, Esd2D, true);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 3);
     }
-#line 6250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6256 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 279:
-#line 1954 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 253:
+#line 1782 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, EsdCube, true);
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 4);
     }
-#line 6260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6266 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 280:
-#line 1959 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 254:
+#line 1787 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, EsdRect);
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(2, 2);
     }
-#line 6270 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6277 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 281:
-#line 1964 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 255:
+#line 1793 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 3);
     }
-#line 6280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 282:
-#line 1969 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 256:
+#line 1799 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, EsdRect);
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 4);
     }
-#line 6290 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 283:
-#line 1974 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 257:
+#line 1805 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, EsdRect);
-    }
-#line 6300 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 284:
-#line 1979 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(2, 2);
     }
 #line 6310 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 285:
-#line 1984 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 258:
+#line 1811 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(2, 3);
     }
-#line 6320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6321 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 259:
+#line 1817 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(2, 4);
+    }
+#line 6332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 260:
+#line 1823 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 2);
+    }
+#line 6343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 261:
+#line 1829 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 6354 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 262:
+#line 1835 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(3, 4);
+    }
+#line 6365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 263:
+#line 1841 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 2);
+    }
+#line 6376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 264:
+#line 1847 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 3);
+    }
+#line 6387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 265:
+#line 1853 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setMatrix(4, 4);
+    }
+#line 6398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 266:
+#line 1859 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(2, 2);
+    }
+#line 6409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 267:
+#line 1865 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 6420 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 268:
+#line 1871 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(4, 4);
+    }
+#line 6431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 269:
+#line 1877 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(2, 2);
+    }
+#line 6442 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 270:
+#line 1883 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(2, 3);
+    }
+#line 6453 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 271:
+#line 1889 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(2, 4);
+    }
+#line 6464 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 272:
+#line 1895 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 2);
+    }
+#line 6475 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 273:
+#line 1901 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 6486 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 274:
+#line 1907 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 4);
+    }
+#line 6497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 275:
+#line 1913 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(4, 2);
+    }
+#line 6508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 276:
+#line 1919 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(4, 3);
+    }
+#line 6519 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 277:
+#line 1925 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(4, 4);
+    }
+#line 6530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 278:
+#line 1931 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(2, 2);
+    }
+#line 6541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 279:
+#line 1937 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(3, 3);
+    }
+#line 6552 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 280:
+#line 1943 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(4, 4);
+    }
+#line 6563 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 281:
+#line 1949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(2, 2);
+    }
+#line 6574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 282:
+#line 1955 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(2, 3);
+    }
+#line 6585 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 283:
+#line 1961 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(2, 4);
+    }
+#line 6596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 284:
+#line 1967 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(3, 2);
+    }
+#line 6607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 285:
+#line 1973 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(3, 3);
+    }
+#line 6618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 286:
-#line 1989 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1979 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(3, 4);
     }
-#line 6330 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6629 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 287:
-#line 1994 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1985 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(4, 2);
     }
-#line 6340 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6640 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 288:
-#line 1999 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1991 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(4, 3);
     }
-#line 6350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6651 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 289:
-#line 2004 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1997 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);
+    	parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtFloat;
+    	(yyval.interm.type).setMatrix(4, 4);
     }
-#line 6360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 290:
-#line 2009 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2003 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(2, 2);
     }
-#line 6370 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6673 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 291:
-#line 2014 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2009 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(3, 3);
     }
-#line 6380 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6684 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 292:
-#line 2019 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2015 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(4, 4);
     }
-#line 6390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6695 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 293:
-#line 2024 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2021 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.setPureSampler(false);
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(2, 2);
     }
-#line 6400 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 294:
-#line 2029 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2027 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.setPureSampler(true);
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(2, 3);
     }
-#line 6410 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 295:
-#line 2034 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2033 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtSampler;
-        (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(2, 4);
     }
-#line 6420 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6728 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 296:
 #line 2039 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(3, 2);
+    }
+#line 6739 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 297:
+#line 2045 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(3, 3);
+    }
+#line 6750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 298:
+#line 2051 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(3, 4);
+    }
+#line 6761 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 299:
+#line 2057 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(4, 2);
+    }
+#line 6772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 300:
+#line 2063 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(4, 3);
+    }
+#line 6783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 301:
+#line 2069 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+    	parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
+    	(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+    	(yyval.interm.type).basicType = EbtDouble;
+    	(yyval.interm.type).setMatrix(4, 4);
+    }
+#line 6794 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 302:
+#line 2075 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtAtomicUint;
+    }
+#line 6804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 303:
+#line 2080 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd1D);
+    }
+#line 6814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 304:
+#line 2085 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
+    }
+#line 6824 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 305:
+#line 2090 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd3D);
+    }
+#line 6834 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 306:
+#line 2095 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, EsdCube);
+    }
+#line 6844 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 307:
+#line 2100 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
+    }
+#line 6854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 308:
+#line 2105 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
+    }
+#line 6864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 309:
+#line 2110 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
+    }
+#line 6874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 310:
+#line 2115 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
+    }
+#line 6884 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 311:
+#line 2120 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
+    }
+#line 6894 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 312:
+#line 2125 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
+    }
+#line 6904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 313:
+#line 2130 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
+    }
+#line 6914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 314:
+#line 2135 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
+    }
+#line 6924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 315:
+#line 2140 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
+    }
+#line 6934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 316:
+#line 2145 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, Esd1D);
+    }
+#line 6944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 317:
+#line 2150 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, Esd2D);
+    }
+#line 6954 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 318:
+#line 2155 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, Esd3D);
+    }
+#line 6964 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 319:
+#line 2160 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, EsdCube);
+    }
+#line 6974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 320:
+#line 2165 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
+    }
+#line 6984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 321:
+#line 2170 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
+    }
+#line 6994 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 322:
+#line 2175 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
+    }
+#line 7004 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 323:
+#line 2180 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, Esd1D);
+    }
+#line 7014 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 324:
+#line 2185 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, Esd2D);
+    }
+#line 7024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 325:
+#line 2190 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, Esd3D);
+    }
+#line 7034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 326:
+#line 2195 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, EsdCube);
+    }
+#line 7044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 327:
+#line 2200 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, Esd1D, true);
+    }
+#line 7054 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 328:
+#line 2205 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, Esd2D, true);
+    }
+#line 7064 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 329:
+#line 2210 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, EsdCube, true);
+    }
+#line 7074 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 330:
+#line 2215 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, EsdRect);
+    }
+#line 7084 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 331:
+#line 2220 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
+    }
+#line 7094 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 332:
+#line 2225 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, EsdRect);
+    }
+#line 7104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 333:
+#line 2230 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, EsdRect);
+    }
+#line 7114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 334:
+#line 2235 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);
+    }
+#line 7124 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 335:
+#line 2240 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
+    }
+#line 7134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 336:
+#line 2245 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
+    }
+#line 7144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 337:
+#line 2250 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
+    }
+#line 7154 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 338:
+#line 2255 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
+    }
+#line 7164 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 339:
+#line 2260 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);
+    }
+#line 7174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 340:
+#line 2265 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
+    }
+#line 7184 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 341:
+#line 2270 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
+    }
+#line 7194 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 342:
+#line 2275 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
+    }
+#line 7204 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 343:
+#line 2280 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.setPureSampler(false);
+    }
+#line 7214 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 344:
+#line 2285 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.setPureSampler(true);
+    }
+#line 7224 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 345:
+#line 2290 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtSampler;
+        (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
+    }
+#line 7234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 346:
+#line 2295 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);
     }
-#line 6430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7244 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 297:
-#line 2044 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 347:
+#line 2300 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);
     }
-#line 6440 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 298:
-#line 2049 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 348:
+#line 2305 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);
     }
-#line 6450 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7264 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 299:
-#line 2054 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 349:
+#line 2310 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true);
     }
-#line 6460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7274 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 300:
-#line 2059 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 350:
+#line 2315 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);
     }
-#line 6470 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7284 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 301:
-#line 2064 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 351:
+#line 2320 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);
     }
-#line 6480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7294 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 302:
-#line 2069 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 352:
+#line 2325 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);
     }
-#line 6490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7304 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 303:
-#line 2074 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 353:
+#line 2330 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);
     }
-#line 6500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 304:
-#line 2079 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 354:
+#line 2335 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);
     }
-#line 6510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7324 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 305:
-#line 2084 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 355:
+#line 2340 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);
     }
-#line 6520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 306:
-#line 2089 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 356:
+#line 2345 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);
     }
-#line 6530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7344 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 307:
-#line 2094 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 357:
+#line 2350 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);
     }
-#line 6540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7354 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 308:
-#line 2099 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 358:
+#line 2355 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);
     }
-#line 6550 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 309:
-#line 2104 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 359:
+#line 2360 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);
     }
-#line 6560 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7374 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 310:
-#line 2109 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 360:
+#line 2365 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);
     }
-#line 6570 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7384 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 311:
-#line 2114 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 361:
+#line 2370 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);
     }
-#line 6580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7394 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 312:
-#line 2119 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 362:
+#line 2375 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);
     }
-#line 6590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7404 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 313:
-#line 2124 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 363:
+#line 2380 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);
     }
-#line 6600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7414 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 314:
-#line 2129 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 364:
+#line 2385 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);
     }
-#line 6610 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7424 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 315:
-#line 2134 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 365:
+#line 2390 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true);
     }
-#line 6620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7434 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 316:
-#line 2139 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 366:
+#line 2395 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect);
     }
-#line 6630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7444 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 317:
-#line 2144 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 367:
+#line 2400 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);
     }
-#line 6640 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7454 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 318:
-#line 2149 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 368:
+#line 2405 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdRect);
     }
-#line 6650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7464 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 319:
-#line 2154 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 369:
+#line 2410 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer);
     }
-#line 6660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7474 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 320:
-#line 2159 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 370:
+#line 2415 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);
     }
-#line 6670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7484 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 321:
-#line 2164 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 371:
+#line 2420 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer);
     }
-#line 6680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 322:
-#line 2169 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 372:
+#line 2425 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true);
     }
-#line 6690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7504 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 323:
-#line 2174 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 373:
+#line 2430 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);
     }
-#line 6700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7514 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 324:
-#line 2179 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 374:
+#line 2435 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true);
     }
-#line 6710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7524 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 325:
-#line 2184 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 375:
+#line 2440 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true);
     }
-#line 6720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 326:
-#line 2189 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 376:
+#line 2445 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);
     }
-#line 6730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7544 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 327:
-#line 2194 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 377:
+#line 2450 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true);
     }
-#line 6740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7554 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 328:
-#line 2199 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 378:
+#line 2455 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D);
     }
-#line 6750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 329:
-#line 2204 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 379:
+#line 2460 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd1D);
     }
-#line 6760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 330:
-#line 2209 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 380:
+#line 2465 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd1D);
     }
-#line 6770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 331:
-#line 2214 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 381:
+#line 2470 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D);
     }
-#line 6780 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7594 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 332:
-#line 2219 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 382:
+#line 2475 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D);
     }
-#line 6790 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 333:
-#line 2224 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 383:
+#line 2480 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D);
     }
-#line 6800 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7614 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 334:
-#line 2229 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 384:
+#line 2485 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd3D);
     }
-#line 6810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7624 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 335:
-#line 2234 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 385:
+#line 2490 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd3D);
     }
-#line 6820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7634 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 336:
-#line 2239 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 386:
+#line 2495 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd3D);
     }
-#line 6830 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7644 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 337:
-#line 2244 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 387:
+#line 2500 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdRect);
     }
-#line 6840 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 338:
-#line 2249 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 388:
+#line 2505 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdRect);
     }
-#line 6850 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7664 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 339:
-#line 2254 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 389:
+#line 2510 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdRect);
     }
-#line 6860 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7674 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 340:
-#line 2259 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 390:
+#line 2515 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube);
     }
-#line 6870 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7684 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 341:
-#line 2264 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 391:
+#line 2520 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdCube);
     }
-#line 6880 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7694 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 342:
-#line 2269 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 392:
+#line 2525 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdCube);
     }
-#line 6890 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 343:
-#line 2274 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 393:
+#line 2530 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer);
     }
-#line 6900 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7714 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 344:
-#line 2279 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 394:
+#line 2535 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);
     }
-#line 6910 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 345:
-#line 2284 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 395:
+#line 2540 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer);
     }
-#line 6920 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7734 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 346:
-#line 2289 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 396:
+#line 2545 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true);
     }
-#line 6930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7744 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 347:
-#line 2294 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 397:
+#line 2550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);
     }
-#line 6940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7754 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 348:
-#line 2299 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 398:
+#line 2555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true);
     }
-#line 6950 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 349:
-#line 2304 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 399:
+#line 2560 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true);
     }
-#line 6960 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7774 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 350:
-#line 2309 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 400:
+#line 2565 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);
     }
-#line 6970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7784 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 351:
-#line 2314 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 401:
+#line 2570 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true);
     }
-#line 6980 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7794 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 352:
-#line 2319 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 402:
+#line 2575 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true);
     }
-#line 6990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 353:
-#line 2324 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 403:
+#line 2580 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);
     }
-#line 7000 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 354:
-#line 2329 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 404:
+#line 2585 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);
     }
-#line 7010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7824 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 355:
-#line 2334 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 405:
+#line 2590 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);
     }
-#line 7020 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7834 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 356:
-#line 2339 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 406:
+#line 2595 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);
     }
-#line 7030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7844 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 357:
-#line 2344 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 407:
+#line 2600 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);
     }
-#line 7040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 358:
-#line 2349 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 408:
+#line 2605 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);
     }
-#line 7050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 359:
-#line 2354 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 409:
+#line 2610 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);
     }
-#line 7060 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 360:
-#line 2359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 410:
+#line 2615 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);
     }
-#line 7070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7884 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 361:
-#line 2364 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 411:
+#line 2620 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {  // GL_OES_EGL_image_external
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
         (yyval.interm.type).sampler.external = true;
     }
-#line 7081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 362:
-#line 2370 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 412:
+#line 2626 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtFloat);
     }
-#line 7092 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 363:
-#line 2376 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 413:
+#line 2632 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtFloat, true);
     }
-#line 7103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7917 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 364:
-#line 2382 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 414:
+#line 2638 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtInt);
     }
-#line 7114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 365:
-#line 2388 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 415:
+#line 2644 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtInt, true);
     }
-#line 7125 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7939 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 366:
-#line 2394 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 416:
+#line 2650 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtUint);
     }
-#line 7136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7950 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 367:
-#line 2400 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 417:
+#line 2656 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtUint, true);
     }
-#line 7147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 368:
-#line 2406 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 418:
+#line 2662 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
         (yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
         parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));
     }
-#line 7157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7971 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 369:
-#line 2411 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 419:
+#line 2667 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // This is for user defined type names.  The lexical phase looked up the
@@ -7171,47 +7985,47 @@
         } else
             parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
     }
-#line 7175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7989 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 370:
-#line 2427 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 420:
+#line 2683 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);
     }
-#line 7185 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 371:
-#line 2432 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 421:
+#line 2688 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);
     }
-#line 7195 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8009 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 372:
-#line 2437 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 422:
+#line 2693 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);
     }
-#line 7205 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8019 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 373:
-#line 2445 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 423:
+#line 2701 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
-#line 7211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8025 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 374:
-#line 2445 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 424:
+#line 2701 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
         parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
@@ -7223,17 +8037,17 @@
         (yyval.interm.type).userDef = structure;
         --parseContext.structNestingLevel;
     }
-#line 7227 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8041 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 375:
-#line 2456 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 425:
+#line 2712 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
-#line 7233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 376:
-#line 2456 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 426:
+#line 2712 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
         (yyval.interm.type).init((yyvsp[-4].lex).loc);
@@ -7241,19 +8055,19 @@
         (yyval.interm.type).userDef = structure;
         --parseContext.structNestingLevel;
     }
-#line 7245 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 377:
-#line 2466 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 427:
+#line 2722 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = (yyvsp[0].interm.typeList);
     }
-#line 7253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8067 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 378:
-#line 2469 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 428:
+#line 2725 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
         for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
@@ -7264,11 +8078,11 @@
             (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
         }
     }
-#line 7268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 379:
-#line 2482 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 429:
+#line 2738 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -7287,11 +8101,11 @@
             (*(yyval.interm.typeList))[i].type->mergeType((yyvsp[-2].interm.type));
         }
     }
-#line 7291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 380:
-#line 2500 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 430:
+#line 2756 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalQualifierFixCheck((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier);
         if ((yyvsp[-2].interm.type).arraySizes) {
@@ -7313,38 +8127,38 @@
             (*(yyval.interm.typeList))[i].type->mergeType((yyvsp[-2].interm.type));
         }
     }
-#line 7317 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8131 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 381:
-#line 2524 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 431:
+#line 2780 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = new TTypeList;
         (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
     }
-#line 7326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 382:
-#line 2528 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 432:
+#line 2784 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
     }
-#line 7334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 383:
-#line 2534 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 433:
+#line 2790 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeLine).type = new TType(EbtVoid);
         (yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;
         (yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);
     }
-#line 7344 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8158 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 384:
-#line 2539 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 434:
+#line 2795 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayDimCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes, 0);
 
@@ -7353,219 +8167,219 @@
         (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
         (yyval.interm.typeLine).type->newArraySizes(*(yyvsp[0].interm).arraySizes);
     }
-#line 7357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8171 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 385:
-#line 2550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 435:
+#line 2806 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 7365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8179 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 386:
-#line 2553 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 436:
+#line 2809 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         const char* initFeature = "{ } style initializers";
         parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);
         parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
         (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
     }
-#line 7376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 387:
-#line 2559 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 437:
+#line 2815 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         const char* initFeature = "{ } style initializers";
         parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);
         parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
         (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 7387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 388:
-#line 2568 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 438:
+#line 2824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
     }
-#line 7395 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8209 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 389:
-#line 2571 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 439:
+#line 2827 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
     }
-#line 7403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8217 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 390:
-#line 2577 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 440:
+#line 2833 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8223 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 391:
-#line 2581 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 441:
+#line 2837 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7415 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8229 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 392:
-#line 2582 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 442:
+#line 2838 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7421 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8235 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 393:
-#line 2588 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 443:
+#line 2844 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7427 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 394:
-#line 2589 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 444:
+#line 2845 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7433 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8247 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 395:
-#line 2590 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 445:
+#line 2846 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7439 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 396:
-#line 2591 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 446:
+#line 2847 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 397:
-#line 2592 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 447:
+#line 2848 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 398:
-#line 2593 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 448:
+#line 2849 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 399:
-#line 2594 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 449:
+#line 2850 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8277 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 400:
-#line 2598 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 450:
+#line 2854 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = 0; }
-#line 7469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8283 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 401:
-#line 2599 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 451:
+#line 2855 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.statementNestingLevel;
     }
-#line 7478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 402:
-#line 2603 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 452:
+#line 2859 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         --parseContext.statementNestingLevel;
     }
-#line 7487 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8301 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 403:
-#line 2607 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 453:
+#line 2863 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
             (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
         (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
     }
-#line 7497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8311 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 404:
-#line 2615 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 454:
+#line 2871 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8317 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 405:
-#line 2616 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 455:
+#line 2872 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8323 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 406:
-#line 2620 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 456:
+#line 2876 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 407:
-#line 2623 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 457:
+#line 2879 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.controlFlowNestingLevel;
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7526 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8340 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 408:
-#line 2627 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 458:
+#line 2883 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7536 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 409:
-#line 2632 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 459:
+#line 2888 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 410:
-#line 2641 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 460:
+#line 2897 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
     }
-#line 7555 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 411:
-#line 2644 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 461:
+#line 2900 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())
             (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
         (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);
     }
-#line 7565 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8379 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 412:
-#line 2652 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 462:
+#line 2908 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
         if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
@@ -7574,11 +8388,11 @@
             (yyval.interm.intermNode) = 0;  // start a fresh subsequence for what's after this case
         }
     }
-#line 7578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 413:
-#line 2660 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 463:
+#line 2916 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
                                             (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
@@ -7587,59 +8401,59 @@
         } else
             (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
     }
-#line 7591 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8405 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 414:
-#line 2671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 464:
+#line 2927 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = 0; }
-#line 7597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8411 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 415:
-#line 2672 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 465:
+#line 2928 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
-#line 7603 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 416:
-#line 2676 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 466:
+#line 2932 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));
         (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);
     }
-#line 7612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 417:
-#line 2683 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 467:
+#line 2939 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
         (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
     }
-#line 7621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 418:
-#line 2687 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 468:
+#line 2943 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
         (yyval.interm.nodePair).node2 = 0;
     }
-#line 7630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8444 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 419:
-#line 2695 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 469:
+#line 2951 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
     }
-#line 7639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8453 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 420:
-#line 2699 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 470:
+#line 2955 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
 
@@ -7650,11 +8464,11 @@
         else
             (yyval.interm.intermTypedNode) = 0;
     }
-#line 7654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8468 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 421:
-#line 2712 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 471:
+#line 2968 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // start new switch sequence on the switch stack
         ++parseContext.controlFlowNestingLevel;
@@ -7663,11 +8477,11 @@
         parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
         parseContext.symbolTable.push();
     }
-#line 7667 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 422:
-#line 2720 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 472:
+#line 2976 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
         delete parseContext.switchSequenceStack.back();
@@ -7677,27 +8491,27 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 7681 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 423:
-#line 2732 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 473:
+#line 2988 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
     }
-#line 7689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 424:
-#line 2735 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 474:
+#line 2991 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 425:
-#line 2741 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 475:
+#line 2997 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
         if (parseContext.switchLevel.size() == 0)
@@ -7710,11 +8524,11 @@
             (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
         }
     }
-#line 7714 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 426:
-#line 2753 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 476:
+#line 3009 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
         if (parseContext.switchLevel.size() == 0)
@@ -7724,11 +8538,11 @@
         else
             (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
     }
-#line 7728 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8542 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 427:
-#line 2765 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 477:
+#line 3021 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (! parseContext.limits.whileLoops)
             parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
@@ -7737,11 +8551,11 @@
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8555 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 428:
-#line 2773 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 478:
+#line 3029 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
@@ -7749,21 +8563,21 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 7753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 429:
-#line 2780 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 479:
+#line 3036 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.loopNestingLevel;
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7763 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 430:
-#line 2785 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 480:
+#line 3041 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (! parseContext.limits.whileLoops)
             parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
@@ -7775,22 +8589,22 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 7779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8593 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 431:
-#line 2796 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 481:
+#line 3052 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.loopNestingLevel;
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7790 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 432:
-#line 2802 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 482:
+#line 3058 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
@@ -7803,81 +8617,81 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 7807 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 433:
-#line 2817 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 483:
+#line 3073 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8629 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 434:
-#line 2820 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 484:
+#line 3076 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 435:
-#line 2826 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 485:
+#line 3082 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 7831 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8645 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 436:
-#line 2829 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 486:
+#line 3085 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = 0;
     }
-#line 7839 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8653 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 437:
-#line 2835 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 487:
+#line 3091 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
         (yyval.interm.nodePair).node2 = 0;
     }
-#line 7848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 438:
-#line 2839 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 488:
+#line 3095 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
         (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
     }
-#line 7857 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 439:
-#line 2846 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 489:
+#line 3102 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (parseContext.loopNestingLevel <= 0)
             parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
     }
-#line 7867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8681 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 440:
-#line 2851 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 490:
+#line 3107 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
             parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
     }
-#line 7877 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 441:
-#line 2856 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 491:
+#line 3112 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
         if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
@@ -7885,83 +8699,83 @@
         if (parseContext.inMain)
             parseContext.postEntryPointReturn = true;
     }
-#line 7889 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 442:
-#line 2863 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 492:
+#line 3119 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 7897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8711 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 443:
-#line 2866 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 493:
+#line 3122 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
     }
-#line 7906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 444:
-#line 2875 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 494:
+#line 3131 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
         parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
     }
-#line 7915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 445:
-#line 2879 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 495:
+#line 3135 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[0].interm.intermNode) != nullptr) {
             (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
             parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
         }
     }
-#line 7926 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 446:
-#line 2888 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 496:
+#line 3144 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8748 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 447:
-#line 2891 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 497:
+#line 3147 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 448:
-#line 2894 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 498:
+#line 3150 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
         parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
         (yyval.interm.intermNode) = nullptr;
     }
-#line 7952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 449:
-#line 2902 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 499:
+#line 3158 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
         (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
     }
-#line 7961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8775 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 450:
-#line 2906 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 500:
+#line 3162 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //   May be best done as post process phase on intermediate code
         if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
@@ -7977,11 +8791,11 @@
         (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
         (yyval.interm.intermNode)->getAsAggregate()->addToPragmaTable(parseContext.contextPragma.pragmaTable);
     }
-#line 7981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
 
-#line 7985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8799 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -8209,5 +9023,5 @@
 #endif
   return yyresult;
 }
-#line 2923 "MachineIndependent/glslang.y" /* yacc.c:1906  */
+#line 3179 "MachineIndependent/glslang.y" /* yacc.c:1906  */
 
diff --git a/glslang/MachineIndependent/glslang_tab.cpp.h b/glslang/MachineIndependent/glslang_tab.cpp.h
index b2e0063..59c547f 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp.h
+++ b/glslang/MachineIndependent/glslang_tab.cpp.h
@@ -47,299 +47,349 @@
   {
     ATTRIBUTE = 258,
     VARYING = 259,
-    CONST = 260,
-    BOOL = 261,
-    FLOAT = 262,
+    FLOAT16_T = 260,
+    FLOAT = 261,
+    FLOAT32_T = 262,
     DOUBLE = 263,
-    INT = 264,
-    UINT = 265,
-    INT64_T = 266,
-    UINT64_T = 267,
-    INT16_T = 268,
-    UINT16_T = 269,
-    FLOAT16_T = 270,
-    BREAK = 271,
-    CONTINUE = 272,
-    DO = 273,
-    ELSE = 274,
-    FOR = 275,
-    IF = 276,
-    DISCARD = 277,
-    RETURN = 278,
-    SWITCH = 279,
-    CASE = 280,
-    DEFAULT = 281,
-    SUBROUTINE = 282,
-    BVEC2 = 283,
-    BVEC3 = 284,
-    BVEC4 = 285,
-    IVEC2 = 286,
-    IVEC3 = 287,
-    IVEC4 = 288,
-    I64VEC2 = 289,
-    I64VEC3 = 290,
-    I64VEC4 = 291,
-    UVEC2 = 292,
-    UVEC3 = 293,
-    UVEC4 = 294,
-    U64VEC2 = 295,
-    U64VEC3 = 296,
-    U64VEC4 = 297,
-    VEC2 = 298,
-    VEC3 = 299,
-    VEC4 = 300,
-    MAT2 = 301,
-    MAT3 = 302,
-    MAT4 = 303,
-    CENTROID = 304,
-    IN = 305,
-    OUT = 306,
-    INOUT = 307,
-    UNIFORM = 308,
-    PATCH = 309,
-    SAMPLE = 310,
-    BUFFER = 311,
-    SHARED = 312,
-    COHERENT = 313,
-    VOLATILE = 314,
-    RESTRICT = 315,
-    READONLY = 316,
-    WRITEONLY = 317,
-    DVEC2 = 318,
-    DVEC3 = 319,
-    DVEC4 = 320,
-    DMAT2 = 321,
-    DMAT3 = 322,
-    DMAT4 = 323,
-    F16VEC2 = 324,
-    F16VEC3 = 325,
-    F16VEC4 = 326,
-    F16MAT2 = 327,
-    F16MAT3 = 328,
-    F16MAT4 = 329,
-    I16VEC2 = 330,
-    I16VEC3 = 331,
-    I16VEC4 = 332,
-    U16VEC2 = 333,
-    U16VEC3 = 334,
-    U16VEC4 = 335,
-    NOPERSPECTIVE = 336,
-    FLAT = 337,
-    SMOOTH = 338,
-    LAYOUT = 339,
-    __EXPLICITINTERPAMD = 340,
-    MAT2X2 = 341,
-    MAT2X3 = 342,
-    MAT2X4 = 343,
-    MAT3X2 = 344,
-    MAT3X3 = 345,
-    MAT3X4 = 346,
-    MAT4X2 = 347,
-    MAT4X3 = 348,
-    MAT4X4 = 349,
-    DMAT2X2 = 350,
-    DMAT2X3 = 351,
-    DMAT2X4 = 352,
-    DMAT3X2 = 353,
-    DMAT3X3 = 354,
-    DMAT3X4 = 355,
-    DMAT4X2 = 356,
-    DMAT4X3 = 357,
-    DMAT4X4 = 358,
-    F16MAT2X2 = 359,
-    F16MAT2X3 = 360,
-    F16MAT2X4 = 361,
-    F16MAT3X2 = 362,
-    F16MAT3X3 = 363,
-    F16MAT3X4 = 364,
-    F16MAT4X2 = 365,
-    F16MAT4X3 = 366,
-    F16MAT4X4 = 367,
-    ATOMIC_UINT = 368,
-    SAMPLER1D = 369,
-    SAMPLER2D = 370,
-    SAMPLER3D = 371,
-    SAMPLERCUBE = 372,
-    SAMPLER1DSHADOW = 373,
-    SAMPLER2DSHADOW = 374,
-    SAMPLERCUBESHADOW = 375,
-    SAMPLER1DARRAY = 376,
-    SAMPLER2DARRAY = 377,
-    SAMPLER1DARRAYSHADOW = 378,
-    SAMPLER2DARRAYSHADOW = 379,
-    ISAMPLER1D = 380,
-    ISAMPLER2D = 381,
-    ISAMPLER3D = 382,
-    ISAMPLERCUBE = 383,
-    ISAMPLER1DARRAY = 384,
-    ISAMPLER2DARRAY = 385,
-    USAMPLER1D = 386,
-    USAMPLER2D = 387,
-    USAMPLER3D = 388,
-    USAMPLERCUBE = 389,
-    USAMPLER1DARRAY = 390,
-    USAMPLER2DARRAY = 391,
-    SAMPLER2DRECT = 392,
-    SAMPLER2DRECTSHADOW = 393,
-    ISAMPLER2DRECT = 394,
-    USAMPLER2DRECT = 395,
-    SAMPLERBUFFER = 396,
-    ISAMPLERBUFFER = 397,
-    USAMPLERBUFFER = 398,
-    SAMPLERCUBEARRAY = 399,
-    SAMPLERCUBEARRAYSHADOW = 400,
-    ISAMPLERCUBEARRAY = 401,
-    USAMPLERCUBEARRAY = 402,
-    SAMPLER2DMS = 403,
-    ISAMPLER2DMS = 404,
-    USAMPLER2DMS = 405,
-    SAMPLER2DMSARRAY = 406,
-    ISAMPLER2DMSARRAY = 407,
-    USAMPLER2DMSARRAY = 408,
-    SAMPLEREXTERNALOES = 409,
-    SAMPLER = 410,
-    SAMPLERSHADOW = 411,
-    TEXTURE1D = 412,
-    TEXTURE2D = 413,
-    TEXTURE3D = 414,
-    TEXTURECUBE = 415,
-    TEXTURE1DARRAY = 416,
-    TEXTURE2DARRAY = 417,
-    ITEXTURE1D = 418,
-    ITEXTURE2D = 419,
-    ITEXTURE3D = 420,
-    ITEXTURECUBE = 421,
-    ITEXTURE1DARRAY = 422,
-    ITEXTURE2DARRAY = 423,
-    UTEXTURE1D = 424,
-    UTEXTURE2D = 425,
-    UTEXTURE3D = 426,
-    UTEXTURECUBE = 427,
-    UTEXTURE1DARRAY = 428,
-    UTEXTURE2DARRAY = 429,
-    TEXTURE2DRECT = 430,
-    ITEXTURE2DRECT = 431,
-    UTEXTURE2DRECT = 432,
-    TEXTUREBUFFER = 433,
-    ITEXTUREBUFFER = 434,
-    UTEXTUREBUFFER = 435,
-    TEXTURECUBEARRAY = 436,
-    ITEXTURECUBEARRAY = 437,
-    UTEXTURECUBEARRAY = 438,
-    TEXTURE2DMS = 439,
-    ITEXTURE2DMS = 440,
-    UTEXTURE2DMS = 441,
-    TEXTURE2DMSARRAY = 442,
-    ITEXTURE2DMSARRAY = 443,
-    UTEXTURE2DMSARRAY = 444,
-    SUBPASSINPUT = 445,
-    SUBPASSINPUTMS = 446,
-    ISUBPASSINPUT = 447,
-    ISUBPASSINPUTMS = 448,
-    USUBPASSINPUT = 449,
-    USUBPASSINPUTMS = 450,
-    IMAGE1D = 451,
-    IIMAGE1D = 452,
-    UIMAGE1D = 453,
-    IMAGE2D = 454,
-    IIMAGE2D = 455,
-    UIMAGE2D = 456,
-    IMAGE3D = 457,
-    IIMAGE3D = 458,
-    UIMAGE3D = 459,
-    IMAGE2DRECT = 460,
-    IIMAGE2DRECT = 461,
-    UIMAGE2DRECT = 462,
-    IMAGECUBE = 463,
-    IIMAGECUBE = 464,
-    UIMAGECUBE = 465,
-    IMAGEBUFFER = 466,
-    IIMAGEBUFFER = 467,
-    UIMAGEBUFFER = 468,
-    IMAGE1DARRAY = 469,
-    IIMAGE1DARRAY = 470,
-    UIMAGE1DARRAY = 471,
-    IMAGE2DARRAY = 472,
-    IIMAGE2DARRAY = 473,
-    UIMAGE2DARRAY = 474,
-    IMAGECUBEARRAY = 475,
-    IIMAGECUBEARRAY = 476,
-    UIMAGECUBEARRAY = 477,
-    IMAGE2DMS = 478,
-    IIMAGE2DMS = 479,
-    UIMAGE2DMS = 480,
-    IMAGE2DMSARRAY = 481,
-    IIMAGE2DMSARRAY = 482,
-    UIMAGE2DMSARRAY = 483,
-    STRUCT = 484,
-    VOID = 485,
-    WHILE = 486,
-    IDENTIFIER = 487,
-    TYPE_NAME = 488,
-    FLOATCONSTANT = 489,
-    DOUBLECONSTANT = 490,
-    INTCONSTANT = 491,
-    UINTCONSTANT = 492,
-    INT64CONSTANT = 493,
-    UINT64CONSTANT = 494,
-    INT16CONSTANT = 495,
-    UINT16CONSTANT = 496,
-    BOOLCONSTANT = 497,
-    FLOAT16CONSTANT = 498,
-    LEFT_OP = 499,
-    RIGHT_OP = 500,
-    INC_OP = 501,
-    DEC_OP = 502,
-    LE_OP = 503,
-    GE_OP = 504,
-    EQ_OP = 505,
-    NE_OP = 506,
-    AND_OP = 507,
-    OR_OP = 508,
-    XOR_OP = 509,
-    MUL_ASSIGN = 510,
-    DIV_ASSIGN = 511,
-    ADD_ASSIGN = 512,
-    MOD_ASSIGN = 513,
-    LEFT_ASSIGN = 514,
-    RIGHT_ASSIGN = 515,
-    AND_ASSIGN = 516,
-    XOR_ASSIGN = 517,
-    OR_ASSIGN = 518,
-    SUB_ASSIGN = 519,
-    LEFT_PAREN = 520,
-    RIGHT_PAREN = 521,
-    LEFT_BRACKET = 522,
-    RIGHT_BRACKET = 523,
-    LEFT_BRACE = 524,
-    RIGHT_BRACE = 525,
-    DOT = 526,
-    COMMA = 527,
-    COLON = 528,
-    EQUAL = 529,
-    SEMICOLON = 530,
-    BANG = 531,
-    DASH = 532,
-    TILDE = 533,
-    PLUS = 534,
-    STAR = 535,
-    SLASH = 536,
-    PERCENT = 537,
-    LEFT_ANGLE = 538,
-    RIGHT_ANGLE = 539,
-    VERTICAL_BAR = 540,
-    CARET = 541,
-    AMPERSAND = 542,
-    QUESTION = 543,
-    INVARIANT = 544,
-    PRECISE = 545,
-    HIGH_PRECISION = 546,
-    MEDIUM_PRECISION = 547,
-    LOW_PRECISION = 548,
-    PRECISION = 549,
-    PACKED = 550,
-    RESOURCE = 551,
-    SUPERP = 552
+    FLOAT64_T = 264,
+    CONST = 265,
+    BOOL = 266,
+    INT = 267,
+    UINT = 268,
+    INT64_T = 269,
+    UINT64_T = 270,
+    INT32_T = 271,
+    UINT32_T = 272,
+    INT16_T = 273,
+    UINT16_T = 274,
+    INT8_T = 275,
+    UINT8_T = 276,
+    BREAK = 277,
+    CONTINUE = 278,
+    DO = 279,
+    ELSE = 280,
+    FOR = 281,
+    IF = 282,
+    DISCARD = 283,
+    RETURN = 284,
+    SWITCH = 285,
+    CASE = 286,
+    DEFAULT = 287,
+    SUBROUTINE = 288,
+    BVEC2 = 289,
+    BVEC3 = 290,
+    BVEC4 = 291,
+    IVEC2 = 292,
+    IVEC3 = 293,
+    IVEC4 = 294,
+    UVEC2 = 295,
+    UVEC3 = 296,
+    UVEC4 = 297,
+    I64VEC2 = 298,
+    I64VEC3 = 299,
+    I64VEC4 = 300,
+    U64VEC2 = 301,
+    U64VEC3 = 302,
+    U64VEC4 = 303,
+    I32VEC2 = 304,
+    I32VEC3 = 305,
+    I32VEC4 = 306,
+    U32VEC2 = 307,
+    U32VEC3 = 308,
+    U32VEC4 = 309,
+    I16VEC2 = 310,
+    I16VEC3 = 311,
+    I16VEC4 = 312,
+    U16VEC2 = 313,
+    U16VEC3 = 314,
+    U16VEC4 = 315,
+    I8VEC2 = 316,
+    I8VEC3 = 317,
+    I8VEC4 = 318,
+    U8VEC2 = 319,
+    U8VEC3 = 320,
+    U8VEC4 = 321,
+    VEC2 = 322,
+    VEC3 = 323,
+    VEC4 = 324,
+    MAT2 = 325,
+    MAT3 = 326,
+    MAT4 = 327,
+    CENTROID = 328,
+    IN = 329,
+    OUT = 330,
+    INOUT = 331,
+    UNIFORM = 332,
+    PATCH = 333,
+    SAMPLE = 334,
+    BUFFER = 335,
+    SHARED = 336,
+    COHERENT = 337,
+    VOLATILE = 338,
+    RESTRICT = 339,
+    READONLY = 340,
+    WRITEONLY = 341,
+    DVEC2 = 342,
+    DVEC3 = 343,
+    DVEC4 = 344,
+    DMAT2 = 345,
+    DMAT3 = 346,
+    DMAT4 = 347,
+    F16VEC2 = 348,
+    F16VEC3 = 349,
+    F16VEC4 = 350,
+    F16MAT2 = 351,
+    F16MAT3 = 352,
+    F16MAT4 = 353,
+    F32VEC2 = 354,
+    F32VEC3 = 355,
+    F32VEC4 = 356,
+    F32MAT2 = 357,
+    F32MAT3 = 358,
+    F32MAT4 = 359,
+    F64VEC2 = 360,
+    F64VEC3 = 361,
+    F64VEC4 = 362,
+    F64MAT2 = 363,
+    F64MAT3 = 364,
+    F64MAT4 = 365,
+    NOPERSPECTIVE = 366,
+    FLAT = 367,
+    SMOOTH = 368,
+    LAYOUT = 369,
+    __EXPLICITINTERPAMD = 370,
+    MAT2X2 = 371,
+    MAT2X3 = 372,
+    MAT2X4 = 373,
+    MAT3X2 = 374,
+    MAT3X3 = 375,
+    MAT3X4 = 376,
+    MAT4X2 = 377,
+    MAT4X3 = 378,
+    MAT4X4 = 379,
+    DMAT2X2 = 380,
+    DMAT2X3 = 381,
+    DMAT2X4 = 382,
+    DMAT3X2 = 383,
+    DMAT3X3 = 384,
+    DMAT3X4 = 385,
+    DMAT4X2 = 386,
+    DMAT4X3 = 387,
+    DMAT4X4 = 388,
+    F16MAT2X2 = 389,
+    F16MAT2X3 = 390,
+    F16MAT2X4 = 391,
+    F16MAT3X2 = 392,
+    F16MAT3X3 = 393,
+    F16MAT3X4 = 394,
+    F16MAT4X2 = 395,
+    F16MAT4X3 = 396,
+    F16MAT4X4 = 397,
+    F32MAT2X2 = 398,
+    F32MAT2X3 = 399,
+    F32MAT2X4 = 400,
+    F32MAT3X2 = 401,
+    F32MAT3X3 = 402,
+    F32MAT3X4 = 403,
+    F32MAT4X2 = 404,
+    F32MAT4X3 = 405,
+    F32MAT4X4 = 406,
+    F64MAT2X2 = 407,
+    F64MAT2X3 = 408,
+    F64MAT2X4 = 409,
+    F64MAT3X2 = 410,
+    F64MAT3X3 = 411,
+    F64MAT3X4 = 412,
+    F64MAT4X2 = 413,
+    F64MAT4X3 = 414,
+    F64MAT4X4 = 415,
+    ATOMIC_UINT = 416,
+    SAMPLER1D = 417,
+    SAMPLER2D = 418,
+    SAMPLER3D = 419,
+    SAMPLERCUBE = 420,
+    SAMPLER1DSHADOW = 421,
+    SAMPLER2DSHADOW = 422,
+    SAMPLERCUBESHADOW = 423,
+    SAMPLER1DARRAY = 424,
+    SAMPLER2DARRAY = 425,
+    SAMPLER1DARRAYSHADOW = 426,
+    SAMPLER2DARRAYSHADOW = 427,
+    ISAMPLER1D = 428,
+    ISAMPLER2D = 429,
+    ISAMPLER3D = 430,
+    ISAMPLERCUBE = 431,
+    ISAMPLER1DARRAY = 432,
+    ISAMPLER2DARRAY = 433,
+    USAMPLER1D = 434,
+    USAMPLER2D = 435,
+    USAMPLER3D = 436,
+    USAMPLERCUBE = 437,
+    USAMPLER1DARRAY = 438,
+    USAMPLER2DARRAY = 439,
+    SAMPLER2DRECT = 440,
+    SAMPLER2DRECTSHADOW = 441,
+    ISAMPLER2DRECT = 442,
+    USAMPLER2DRECT = 443,
+    SAMPLERBUFFER = 444,
+    ISAMPLERBUFFER = 445,
+    USAMPLERBUFFER = 446,
+    SAMPLERCUBEARRAY = 447,
+    SAMPLERCUBEARRAYSHADOW = 448,
+    ISAMPLERCUBEARRAY = 449,
+    USAMPLERCUBEARRAY = 450,
+    SAMPLER2DMS = 451,
+    ISAMPLER2DMS = 452,
+    USAMPLER2DMS = 453,
+    SAMPLER2DMSARRAY = 454,
+    ISAMPLER2DMSARRAY = 455,
+    USAMPLER2DMSARRAY = 456,
+    SAMPLEREXTERNALOES = 457,
+    SAMPLER = 458,
+    SAMPLERSHADOW = 459,
+    TEXTURE1D = 460,
+    TEXTURE2D = 461,
+    TEXTURE3D = 462,
+    TEXTURECUBE = 463,
+    TEXTURE1DARRAY = 464,
+    TEXTURE2DARRAY = 465,
+    ITEXTURE1D = 466,
+    ITEXTURE2D = 467,
+    ITEXTURE3D = 468,
+    ITEXTURECUBE = 469,
+    ITEXTURE1DARRAY = 470,
+    ITEXTURE2DARRAY = 471,
+    UTEXTURE1D = 472,
+    UTEXTURE2D = 473,
+    UTEXTURE3D = 474,
+    UTEXTURECUBE = 475,
+    UTEXTURE1DARRAY = 476,
+    UTEXTURE2DARRAY = 477,
+    TEXTURE2DRECT = 478,
+    ITEXTURE2DRECT = 479,
+    UTEXTURE2DRECT = 480,
+    TEXTUREBUFFER = 481,
+    ITEXTUREBUFFER = 482,
+    UTEXTUREBUFFER = 483,
+    TEXTURECUBEARRAY = 484,
+    ITEXTURECUBEARRAY = 485,
+    UTEXTURECUBEARRAY = 486,
+    TEXTURE2DMS = 487,
+    ITEXTURE2DMS = 488,
+    UTEXTURE2DMS = 489,
+    TEXTURE2DMSARRAY = 490,
+    ITEXTURE2DMSARRAY = 491,
+    UTEXTURE2DMSARRAY = 492,
+    SUBPASSINPUT = 493,
+    SUBPASSINPUTMS = 494,
+    ISUBPASSINPUT = 495,
+    ISUBPASSINPUTMS = 496,
+    USUBPASSINPUT = 497,
+    USUBPASSINPUTMS = 498,
+    IMAGE1D = 499,
+    IIMAGE1D = 500,
+    UIMAGE1D = 501,
+    IMAGE2D = 502,
+    IIMAGE2D = 503,
+    UIMAGE2D = 504,
+    IMAGE3D = 505,
+    IIMAGE3D = 506,
+    UIMAGE3D = 507,
+    IMAGE2DRECT = 508,
+    IIMAGE2DRECT = 509,
+    UIMAGE2DRECT = 510,
+    IMAGECUBE = 511,
+    IIMAGECUBE = 512,
+    UIMAGECUBE = 513,
+    IMAGEBUFFER = 514,
+    IIMAGEBUFFER = 515,
+    UIMAGEBUFFER = 516,
+    IMAGE1DARRAY = 517,
+    IIMAGE1DARRAY = 518,
+    UIMAGE1DARRAY = 519,
+    IMAGE2DARRAY = 520,
+    IIMAGE2DARRAY = 521,
+    UIMAGE2DARRAY = 522,
+    IMAGECUBEARRAY = 523,
+    IIMAGECUBEARRAY = 524,
+    UIMAGECUBEARRAY = 525,
+    IMAGE2DMS = 526,
+    IIMAGE2DMS = 527,
+    UIMAGE2DMS = 528,
+    IMAGE2DMSARRAY = 529,
+    IIMAGE2DMSARRAY = 530,
+    UIMAGE2DMSARRAY = 531,
+    STRUCT = 532,
+    VOID = 533,
+    WHILE = 534,
+    IDENTIFIER = 535,
+    TYPE_NAME = 536,
+    FLOATCONSTANT = 537,
+    DOUBLECONSTANT = 538,
+    INT16CONSTANT = 539,
+    UINT16CONSTANT = 540,
+    INT32CONSTANT = 541,
+    UINT32CONSTANT = 542,
+    INTCONSTANT = 543,
+    UINTCONSTANT = 544,
+    INT64CONSTANT = 545,
+    UINT64CONSTANT = 546,
+    BOOLCONSTANT = 547,
+    FLOAT16CONSTANT = 548,
+    LEFT_OP = 549,
+    RIGHT_OP = 550,
+    INC_OP = 551,
+    DEC_OP = 552,
+    LE_OP = 553,
+    GE_OP = 554,
+    EQ_OP = 555,
+    NE_OP = 556,
+    AND_OP = 557,
+    OR_OP = 558,
+    XOR_OP = 559,
+    MUL_ASSIGN = 560,
+    DIV_ASSIGN = 561,
+    ADD_ASSIGN = 562,
+    MOD_ASSIGN = 563,
+    LEFT_ASSIGN = 564,
+    RIGHT_ASSIGN = 565,
+    AND_ASSIGN = 566,
+    XOR_ASSIGN = 567,
+    OR_ASSIGN = 568,
+    SUB_ASSIGN = 569,
+    LEFT_PAREN = 570,
+    RIGHT_PAREN = 571,
+    LEFT_BRACKET = 572,
+    RIGHT_BRACKET = 573,
+    LEFT_BRACE = 574,
+    RIGHT_BRACE = 575,
+    DOT = 576,
+    COMMA = 577,
+    COLON = 578,
+    EQUAL = 579,
+    SEMICOLON = 580,
+    BANG = 581,
+    DASH = 582,
+    TILDE = 583,
+    PLUS = 584,
+    STAR = 585,
+    SLASH = 586,
+    PERCENT = 587,
+    LEFT_ANGLE = 588,
+    RIGHT_ANGLE = 589,
+    VERTICAL_BAR = 590,
+    CARET = 591,
+    AMPERSAND = 592,
+    QUESTION = 593,
+    INVARIANT = 594,
+    PRECISE = 595,
+    HIGH_PRECISION = 596,
+    MEDIUM_PRECISION = 597,
+    LOW_PRECISION = 598,
+    PRECISION = 599,
+    PACKED = 600,
+    RESOURCE = 601,
+    SUPERP = 602
   };
 #endif
 
@@ -348,7 +398,7 @@
 typedef union YYSTYPE YYSTYPE;
 union YYSTYPE
 {
-#line 68 "MachineIndependent/glslang.y" /* yacc.c:1909  */
+#line 69 "MachineIndependent/glslang.y" /* yacc.c:1909  */
 
     struct {
         glslang::TSourceLoc loc;
@@ -382,7 +432,7 @@
         };
     } interm;
 
-#line 386 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909  */
+#line 436 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909  */
 };
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp
index 7e15392..fcea4d5 100644
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2012-2016 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -224,48 +225,192 @@
     case EOpPreIncrement:   out.debug << "Pre-Increment";        break;
     case EOpPreDecrement:   out.debug << "Pre-Decrement";        break;
 
+    // * -> bool
+    case EOpConvInt8ToBool:    out.debug << "Convert int8_t to bool";  break;
+    case EOpConvUint8ToBool:   out.debug << "Convert uint8_t to bool"; break;
+    case EOpConvInt16ToBool:   out.debug << "Convert int16_t to bool"; break;
+    case EOpConvUint16ToBool:  out.debug << "Convert uint16_t to bool";break;
     case EOpConvIntToBool:     out.debug << "Convert int to bool";     break;
     case EOpConvUintToBool:    out.debug << "Convert uint to bool";    break;
-    case EOpConvFloatToBool:   out.debug << "Convert float to bool";   break;
-    case EOpConvDoubleToBool:  out.debug << "Convert double to bool";  break;
     case EOpConvInt64ToBool:   out.debug << "Convert int64 to bool";   break;
     case EOpConvUint64ToBool:  out.debug << "Convert uint64 to bool";  break;
-    case EOpConvIntToFloat:    out.debug << "Convert int to float";    break;
-    case EOpConvUintToFloat:   out.debug << "Convert uint to float";   break;
-    case EOpConvDoubleToFloat: out.debug << "Convert double to float"; break;
-    case EOpConvInt64ToFloat:  out.debug << "Convert int64 to float";  break;
-    case EOpConvUint64ToFloat: out.debug << "Convert uint64 to float"; break;
-    case EOpConvBoolToFloat:   out.debug << "Convert bool to float";   break;
-    case EOpConvUintToInt:     out.debug << "Convert uint to int";     break;
-    case EOpConvFloatToInt:    out.debug << "Convert float to int";    break;
-    case EOpConvDoubleToInt:   out.debug << "Convert double to int";   break;
-    case EOpConvBoolToInt:     out.debug << "Convert bool to int";     break;
-    case EOpConvInt64ToInt:    out.debug << "Convert int64 to int";    break;
-    case EOpConvUint64ToInt:   out.debug << "Convert uint64 to int";   break;
-    case EOpConvIntToUint:     out.debug << "Convert int to uint";     break;
-    case EOpConvFloatToUint:   out.debug << "Convert float to uint";   break;
-    case EOpConvDoubleToUint:  out.debug << "Convert double to uint";  break;
+    case EOpConvFloat16ToBool: out.debug << "Convert float16_t to bool";   break;
+    case EOpConvFloatToBool:   out.debug << "Convert float to bool";   break;
+    case EOpConvDoubleToBool:  out.debug << "Convert double to bool";  break;
+
+    // bool -> *
+    case EOpConvBoolToInt8:    out.debug << "Convert bool to int8_t";  break;
+    case EOpConvBoolToUint8:   out.debug << "Convert bool to uint8_t"; break;
+    case EOpConvBoolToInt16:   out.debug << "Convert bool to in16t_t"; break;
+    case EOpConvBoolToUint16:  out.debug << "Convert bool to uint16_t";break;
+    case EOpConvBoolToInt:     out.debug << "Convert bool to int"  ;   break;
     case EOpConvBoolToUint:    out.debug << "Convert bool to uint";    break;
-    case EOpConvInt64ToUint:   out.debug << "Convert int64 to uint";   break;
-    case EOpConvUint64ToUint:  out.debug << "Convert uint64 to uint";  break;
+    case EOpConvBoolToInt64:   out.debug << "Convert bool to int64"; break;
+    case EOpConvBoolToUint64:  out.debug << "Convert bool to uint64";break;
+    case EOpConvBoolToFloat16: out.debug << "Convert bool to float16_t";   break;
+    case EOpConvBoolToFloat:   out.debug << "Convert bool to float";   break;
+    case EOpConvBoolToDouble:  out.debug << "Convert bool to double";   break;
+
+    // int8_t -> (u)int*
+    case EOpConvInt8ToInt16:   out.debug << "Convert int8_t to int16_t";break;
+    case EOpConvInt8ToInt:     out.debug << "Convert int8_t to int";    break;
+    case EOpConvInt8ToInt64:   out.debug << "Convert int8_t to int64";   break;
+    case EOpConvInt8ToUint8:   out.debug << "Convert int8_t to uint8_t";break;
+    case EOpConvInt8ToUint16:  out.debug << "Convert int8_t to uint16_t";break;
+    case EOpConvInt8ToUint:    out.debug << "Convert int8_t to uint";    break;
+    case EOpConvInt8ToUint64:  out.debug << "Convert int8_t to uint64";   break;
+
+    // uint8_t -> (u)int*
+    case EOpConvUint8ToInt8:    out.debug << "Convert uint8_t to int8_t";break;
+    case EOpConvUint8ToInt16:   out.debug << "Convert uint8_t to int16_t";break;
+    case EOpConvUint8ToInt:     out.debug << "Convert uint8_t to int";    break;
+    case EOpConvUint8ToInt64:   out.debug << "Convert uint8_t to int64";   break;
+    case EOpConvUint8ToUint16:  out.debug << "Convert uint8_t to uint16_t";break;
+    case EOpConvUint8ToUint:    out.debug << "Convert uint8_t to uint";    break;
+    case EOpConvUint8ToUint64:  out.debug << "Convert uint8_t to uint64";   break;
+
+    // int8_t -> float*
+    case EOpConvInt8ToFloat16:  out.debug << "Convert int8_t to float16_t";break;
+    case EOpConvInt8ToFloat:    out.debug << "Convert int8_t to float";    break;
+    case EOpConvInt8ToDouble:   out.debug << "Convert int8_t to double";   break;
+
+    // uint8_t -> float*
+    case EOpConvUint8ToFloat16: out.debug << "Convert uint8_t to float16_t";break;
+    case EOpConvUint8ToFloat:   out.debug << "Convert uint8_t to float";    break;
+    case EOpConvUint8ToDouble:  out.debug << "Convert uint8_t to double";   break;
+
+    // int16_t -> (u)int*
+    case EOpConvInt16ToInt8:    out.debug << "Convert int16_t to int8_t";break;
+    case EOpConvInt16ToInt:     out.debug << "Convert int16_t to int";    break;
+    case EOpConvInt16ToInt64:   out.debug << "Convert int16_t to int64";   break;
+    case EOpConvInt16ToUint8:   out.debug << "Convert int16_t to uint8_t";break;
+    case EOpConvInt16ToUint16:  out.debug << "Convert int16_t to uint16_t";break;
+    case EOpConvInt16ToUint:    out.debug << "Convert int16_t to uint";    break;
+    case EOpConvInt16ToUint64:  out.debug << "Convert int16_t to uint64";   break;
+
+    // int16_t -> float*
+    case EOpConvInt16ToFloat16:  out.debug << "Convert int16_t to float16_t";break;
+    case EOpConvInt16ToFloat:    out.debug << "Convert int16_t to float";    break;
+    case EOpConvInt16ToDouble:   out.debug << "Convert int16_t to double";   break;
+
+    // uint16_t -> (u)int*
+    case EOpConvUint16ToInt8:    out.debug << "Convert uint16_t to int8_t";break;
+    case EOpConvUint16ToInt16:   out.debug << "Convert uint16_t to int16_t";break;
+    case EOpConvUint16ToInt:     out.debug << "Convert uint16_t to int";    break;
+    case EOpConvUint16ToInt64:   out.debug << "Convert uint16_t to int64";   break;
+    case EOpConvUint16ToUint8:   out.debug << "Convert uint16_t to uint8_t";break;
+    case EOpConvUint16ToUint:    out.debug << "Convert uint16_t to uint";    break;
+    case EOpConvUint16ToUint64:  out.debug << "Convert uint16_t to uint64";   break;
+
+    // uint16_t -> float*
+    case EOpConvUint16ToFloat16: out.debug << "Convert uint16_t to float16_t";break;
+    case EOpConvUint16ToFloat:   out.debug << "Convert uint16_t to float";    break;
+    case EOpConvUint16ToDouble:  out.debug << "Convert uint16_t to double";   break;
+
+    // int32_t -> (u)int*
+    case EOpConvIntToInt8:    out.debug << "Convert int to int8_t";break;
+    case EOpConvIntToInt16:   out.debug << "Convert int to int16_t";break;
+    case EOpConvIntToInt64:   out.debug << "Convert int to int64";   break;
+    case EOpConvIntToUint8:   out.debug << "Convert int to uint8_t";break;
+    case EOpConvIntToUint16:  out.debug << "Convert int to uint16_t";break;
+    case EOpConvIntToUint:    out.debug << "Convert int to uint";    break;
+    case EOpConvIntToUint64:  out.debug << "Convert int to uint64";   break;
+
+    // int32_t -> float*
+    case EOpConvIntToFloat16:  out.debug << "Convert int to float16_t";break;
+    case EOpConvIntToFloat:    out.debug << "Convert int to float";    break;
     case EOpConvIntToDouble:   out.debug << "Convert int to double";   break;
-    case EOpConvUintToDouble:  out.debug << "Convert uint to double";  break;
-    case EOpConvFloatToDouble: out.debug << "Convert float to double"; break;
-    case EOpConvBoolToDouble:  out.debug << "Convert bool to double";  break;
-    case EOpConvInt64ToDouble: out.debug << "Convert int64 to double"; break;
-    case EOpConvUint64ToDouble: out.debug << "Convert uint64 to double";  break;
-    case EOpConvBoolToInt64:   out.debug << "Convert bool to int64";   break;
-    case EOpConvIntToInt64:    out.debug << "Convert int to int64";    break;
+
+    // uint32_t -> (u)int*
+    case EOpConvUintToInt8:    out.debug << "Convert uint to int8_t";break;
+    case EOpConvUintToInt16:   out.debug << "Convert uint to int16_t";break;
+    case EOpConvUintToInt:     out.debug << "Convert uint to int";break;
     case EOpConvUintToInt64:   out.debug << "Convert uint to int64";   break;
-    case EOpConvFloatToInt64:  out.debug << "Convert float to int64";  break;
-    case EOpConvDoubleToInt64: out.debug << "Convert double to int64"; break;
-    case EOpConvUint64ToInt64: out.debug << "Convert uint64 to int64"; break;
-    case EOpConvBoolToUint64:  out.debug << "Convert bool to uint64";  break;
-    case EOpConvIntToUint64:   out.debug << "Convert int to uint64";   break;
-    case EOpConvUintToUint64:  out.debug << "Convert uint to uint64";  break;
+    case EOpConvUintToUint8:   out.debug << "Convert uint to uint8_t";break;
+    case EOpConvUintToUint16:  out.debug << "Convert uint to uint16_t";break;
+    case EOpConvUintToUint64:  out.debug << "Convert uint to uint64";   break;
+
+    // uint32_t -> float*
+    case EOpConvUintToFloat16: out.debug << "Convert uint to float16_t";break;
+    case EOpConvUintToFloat:   out.debug << "Convert uint to float";    break;
+    case EOpConvUintToDouble:  out.debug << "Convert uint to double";   break;
+
+    // int64 -> (u)int*
+    case EOpConvInt64ToInt8:    out.debug << "Convert int64 to int8_t";  break;
+    case EOpConvInt64ToInt16:   out.debug << "Convert int64 to int16_t"; break;
+    case EOpConvInt64ToInt:     out.debug << "Convert int64 to int";   break;
+    case EOpConvInt64ToUint8:   out.debug << "Convert int64 to uint8_t";break;
+    case EOpConvInt64ToUint16:  out.debug << "Convert int64 to uint16_t";break;
+    case EOpConvInt64ToUint:    out.debug << "Convert int64 to uint";    break;
+    case EOpConvInt64ToUint64:  out.debug << "Convert int64 to uint64";   break;
+
+     // int64 -> float*
+    case EOpConvInt64ToFloat16:  out.debug << "Convert int64 to float16_t";break;
+    case EOpConvInt64ToFloat:    out.debug << "Convert int64 to float";    break;
+    case EOpConvInt64ToDouble:   out.debug << "Convert int64 to double";   break;
+
+    // uint64 -> (u)int*
+    case EOpConvUint64ToInt8:    out.debug << "Convert uint64 to int8_t";break;
+    case EOpConvUint64ToInt16:   out.debug << "Convert uint64 to int16_t";break;
+    case EOpConvUint64ToInt:     out.debug << "Convert uint64 to int";    break;
+    case EOpConvUint64ToInt64:   out.debug << "Convert uint64 to int64";   break;
+    case EOpConvUint64ToUint8:   out.debug << "Convert uint64 to uint8_t";break;
+    case EOpConvUint64ToUint16:  out.debug << "Convert uint64 to uint16";    break;
+    case EOpConvUint64ToUint:    out.debug << "Convert uint64 to uint";   break;
+
+    // uint64 -> float*
+    case EOpConvUint64ToFloat16: out.debug << "Convert uint64 to float16_t";break;
+    case EOpConvUint64ToFloat:   out.debug << "Convert uint64 to float";    break;
+    case EOpConvUint64ToDouble:  out.debug << "Convert uint64 to double";   break;
+
+    // float16_t -> int*
+    case EOpConvFloat16ToInt8:  out.debug << "Convert float16_t to int8_t"; break;
+    case EOpConvFloat16ToInt16: out.debug << "Convert float16_t to int16_t"; break;
+    case EOpConvFloat16ToInt:   out.debug << "Convert float16_t to int"; break;
+    case EOpConvFloat16ToInt64: out.debug << "Convert float16_t to int64"; break;
+
+    // float16_t -> uint*
+    case EOpConvFloat16ToUint8:  out.debug << "Convert float16_t to uint8_t"; break;
+    case EOpConvFloat16ToUint16: out.debug << "Convert float16_t to uint16_t"; break;
+    case EOpConvFloat16ToUint:   out.debug << "Convert float16_t to uint"; break;
+    case EOpConvFloat16ToUint64: out.debug << "Convert float16_t to uint64"; break;
+
+    // float16_t -> float*
+    case EOpConvFloat16ToFloat:  out.debug << "Convert float16_t to float"; break;
+    case EOpConvFloat16ToDouble: out.debug << "Convert float16_t to double"; break;
+
+    // float32 -> float*
+    case EOpConvFloatToFloat16: out.debug << "Convert float to float16_t"; break;
+    case EOpConvFloatToDouble:  out.debug << "Convert float to double"; break;
+
+    // float32_t -> int*
+    case EOpConvFloatToInt8:  out.debug << "Convert float to int8_t"; break;
+    case EOpConvFloatToInt16: out.debug << "Convert float to int16_t"; break;
+    case EOpConvFloatToInt:   out.debug << "Convert float to int"; break;
+    case EOpConvFloatToInt64: out.debug << "Convert float to int64"; break;
+
+    // float32_t -> uint*
+    case EOpConvFloatToUint8:  out.debug << "Convert float to uint8_t"; break;
+    case EOpConvFloatToUint16: out.debug << "Convert float to uint16_t"; break;
+    case EOpConvFloatToUint:   out.debug << "Convert float to uint"; break;
     case EOpConvFloatToUint64: out.debug << "Convert float to uint64"; break;
+
+    // double -> float*
+    case EOpConvDoubleToFloat16: out.debug << "Convert double to float16_t"; break;
+    case EOpConvDoubleToFloat:   out.debug << "Convert double to float"; break;
+
+    // double -> int*
+    case EOpConvDoubleToInt8:  out.debug << "Convert double to int8_t"; break;
+    case EOpConvDoubleToInt16: out.debug << "Convert double to int16_t"; break;
+    case EOpConvDoubleToInt:   out.debug << "Convert double to int"; break;
+    case EOpConvDoubleToInt64: out.debug << "Convert double to int64"; break;
+
+    // float32_t -> uint*
+    case EOpConvDoubleToUint8:  out.debug << "Convert double to uint8_t"; break;
+    case EOpConvDoubleToUint16: out.debug << "Convert double to uint16_t"; break;
+    case EOpConvDoubleToUint:   out.debug << "Convert double to uint"; break;
     case EOpConvDoubleToUint64: out.debug << "Convert double to uint64"; break;
-    case EOpConvInt64ToUint64: out.debug << "Convert uint64 to uint64"; break;
+
 
     case EOpRadians:        out.debug << "radians";              break;
     case EOpDegrees:        out.debug << "degrees";              break;
@@ -309,12 +454,10 @@
     case EOpDoubleBitsToUint64: out.debug << "doubleBitsToUint64"; break;
     case EOpInt64BitsToDouble:  out.debug << "int64BitsToDouble";  break;
     case EOpUint64BitsToDouble: out.debug << "uint64BitsToDouble"; break;
-#ifdef AMD_EXTENSIONS
     case EOpFloat16BitsToInt16:  out.debug << "float16BitsToInt16";  break;
     case EOpFloat16BitsToUint16: out.debug << "float16BitsToUint16"; break;
     case EOpInt16BitsToFloat16:  out.debug << "int16BitsToFloat16";  break;
     case EOpUint16BitsToFloat16: out.debug << "uint16BitsToFloat16"; break;
-#endif
 
     case EOpPackSnorm2x16:  out.debug << "packSnorm2x16";        break;
     case EOpUnpackSnorm2x16:out.debug << "unpackSnorm2x16";      break;
@@ -322,6 +465,12 @@
     case EOpUnpackUnorm2x16:out.debug << "unpackUnorm2x16";      break;
     case EOpPackHalf2x16:   out.debug << "packHalf2x16";         break;
     case EOpUnpackHalf2x16: out.debug << "unpackHalf2x16";       break;
+    case EOpPack16:           out.debug << "pack16";                 break;
+    case EOpPack32:           out.debug << "pack32";                 break;
+    case EOpPack64:           out.debug << "pack64";                 break;
+    case EOpUnpack32:         out.debug << "unpack32";               break;
+    case EOpUnpack16:         out.debug << "unpack16";               break;
+    case EOpUnpack8:          out.debug << "unpack8";               break;
 
     case EOpPackSnorm4x8:     out.debug << "PackSnorm4x8";       break;
     case EOpUnpackSnorm4x8:   out.debug << "UnpackSnorm4x8";     break;
@@ -335,7 +484,6 @@
     case EOpPackUint2x32:     out.debug << "packUint2x32";       break;
     case EOpUnpackUint2x32:   out.debug << "unpackUint2x32";     break;
 
-#ifdef AMD_EXTENSIONS
     case EOpPackInt2x16:      out.debug << "packInt2x16";        break;
     case EOpUnpackInt2x16:    out.debug << "unpackInt2x16";      break;
     case EOpPackUint2x16:     out.debug << "packUint2x16";       break;
@@ -345,10 +493,8 @@
     case EOpUnpackInt4x16:    out.debug << "unpackInt4x16";      break;
     case EOpPackUint4x16:     out.debug << "packUint4x16";       break;
     case EOpUnpackUint4x16:   out.debug << "unpackUint4x16";     break;
-
     case EOpPackFloat2x16:    out.debug << "packFloat2x16";      break;
     case EOpUnpackFloat2x16:  out.debug << "unpackFloat2x16";    break;
-#endif
 
     case EOpLength:         out.debug << "length";               break;
     case EOpNormalize:      out.debug << "normalize";            break;
@@ -402,6 +548,57 @@
     case EOpAllInvocations:         out.debug << "allInvocations";        break;
     case EOpAllInvocationsEqual:    out.debug << "allInvocationsEqual";   break;
 
+    case EOpSubgroupElect:                   out.debug << "subgroupElect";                   break;
+    case EOpSubgroupAll:                     out.debug << "subgroupAll";                     break;
+    case EOpSubgroupAny:                     out.debug << "subgroupAny";                     break;
+    case EOpSubgroupAllEqual:                out.debug << "subgroupAllEqual";                break;
+    case EOpSubgroupBroadcast:               out.debug << "subgroupBroadcast";               break;
+    case EOpSubgroupBroadcastFirst:          out.debug << "subgroupBroadcastFirst";          break;
+    case EOpSubgroupBallot:                  out.debug << "subgroupBallot";                  break;
+    case EOpSubgroupInverseBallot:           out.debug << "subgroupInverseBallot";           break;
+    case EOpSubgroupBallotBitExtract:        out.debug << "subgroupBallotBitExtract";        break;
+    case EOpSubgroupBallotBitCount:          out.debug << "subgroupBallotBitCount";          break;
+    case EOpSubgroupBallotInclusiveBitCount: out.debug << "subgroupBallotInclusiveBitCount"; break;
+    case EOpSubgroupBallotExclusiveBitCount: out.debug << "subgroupBallotExclusiveBitCount"; break;
+    case EOpSubgroupBallotFindLSB:           out.debug << "subgroupBallotFindLSB";           break;
+    case EOpSubgroupBallotFindMSB:           out.debug << "subgroupBallotFindMSB";           break;
+    case EOpSubgroupShuffle:                 out.debug << "subgroupShuffle";                 break;
+    case EOpSubgroupShuffleXor:              out.debug << "subgroupShuffleXor";              break;
+    case EOpSubgroupShuffleUp:               out.debug << "subgroupShuffleUp";               break;
+    case EOpSubgroupShuffleDown:             out.debug << "subgroupShuffleDown";             break;
+    case EOpSubgroupAdd:                     out.debug << "subgroupAdd";                     break;
+    case EOpSubgroupMul:                     out.debug << "subgroupMul";                     break;
+    case EOpSubgroupMin:                     out.debug << "subgroupMin";                     break;
+    case EOpSubgroupMax:                     out.debug << "subgroupMax";                     break;
+    case EOpSubgroupAnd:                     out.debug << "subgroupAnd";                     break;
+    case EOpSubgroupOr:                      out.debug << "subgroupOr";                      break;
+    case EOpSubgroupXor:                     out.debug << "subgroupXor";                     break;
+    case EOpSubgroupInclusiveAdd:            out.debug << "subgroupInclusiveAdd";            break;
+    case EOpSubgroupInclusiveMul:            out.debug << "subgroupInclusiveMul";            break;
+    case EOpSubgroupInclusiveMin:            out.debug << "subgroupInclusiveMin";            break;
+    case EOpSubgroupInclusiveMax:            out.debug << "subgroupInclusiveMax";            break;
+    case EOpSubgroupInclusiveAnd:            out.debug << "subgroupInclusiveAnd";            break;
+    case EOpSubgroupInclusiveOr:             out.debug << "subgroupInclusiveOr";             break;
+    case EOpSubgroupInclusiveXor:            out.debug << "subgroupInclusiveXor";            break;
+    case EOpSubgroupExclusiveAdd:            out.debug << "subgroupExclusiveAdd";            break;
+    case EOpSubgroupExclusiveMul:            out.debug << "subgroupExclusiveMul";            break;
+    case EOpSubgroupExclusiveMin:            out.debug << "subgroupExclusiveMin";            break;
+    case EOpSubgroupExclusiveMax:            out.debug << "subgroupExclusiveMax";            break;
+    case EOpSubgroupExclusiveAnd:            out.debug << "subgroupExclusiveAnd";            break;
+    case EOpSubgroupExclusiveOr:             out.debug << "subgroupExclusiveOr";             break;
+    case EOpSubgroupExclusiveXor:            out.debug << "subgroupExclusiveXor";            break;
+    case EOpSubgroupClusteredAdd:            out.debug << "subgroupClusteredAdd";            break;
+    case EOpSubgroupClusteredMul:            out.debug << "subgroupClusteredMul";            break;
+    case EOpSubgroupClusteredMin:            out.debug << "subgroupClusteredMin";            break;
+    case EOpSubgroupClusteredMax:            out.debug << "subgroupClusteredMax";            break;
+    case EOpSubgroupClusteredAnd:            out.debug << "subgroupClusteredAnd";            break;
+    case EOpSubgroupClusteredOr:             out.debug << "subgroupClusteredOr";             break;
+    case EOpSubgroupClusteredXor:            out.debug << "subgroupClusteredXor";            break;
+    case EOpSubgroupQuadBroadcast:           out.debug << "subgroupQuadBroadcast";           break;
+    case EOpSubgroupQuadSwapHorizontal:      out.debug << "subgroupQuadSwapHorizontal";      break;
+    case EOpSubgroupQuadSwapVertical:        out.debug << "subgroupQuadSwapVertical";        break;
+    case EOpSubgroupQuadSwapDiagonal:        out.debug << "subgroupQuadSwapDiagonal";        break;
+
     case EOpClip:                   out.debug << "clip";                  break;
     case EOpIsFinite:               out.debug << "isfinite";              break;
     case EOpLog10:                  out.debug << "log10";                 break;
@@ -434,62 +631,11 @@
 
     case EOpMbcnt:                  out.debug << "mbcnt";                       break;
 
-    case EOpCubeFaceIndex:          out.debug << "cubeFaceIndex";               break;
-    case EOpCubeFaceCoord:          out.debug << "cubeFaceCoord";               break;
-
     case EOpFragmentMaskFetch:      out.debug << "fragmentMaskFetchAMD";        break;
     case EOpFragmentFetch:          out.debug << "fragmentFetchAMD";            break;
 
-    case EOpConvBoolToFloat16:      out.debug << "Convert bool to float16";     break;
-    case EOpConvIntToFloat16:       out.debug << "Convert int to float16";      break;
-    case EOpConvUintToFloat16:      out.debug << "Convert uint to float16";     break;
-    case EOpConvFloatToFloat16:     out.debug << "Convert float to float16";    break;
-    case EOpConvDoubleToFloat16:    out.debug << "Convert double to float16";   break;
-    case EOpConvInt64ToFloat16:     out.debug << "Convert int64 to float16";    break;
-    case EOpConvUint64ToFloat16:    out.debug << "Convert uint64 to float16";   break;
-    case EOpConvFloat16ToBool:      out.debug << "Convert float16 to bool";     break;
-    case EOpConvFloat16ToInt:       out.debug << "Convert float16 to int";      break;
-    case EOpConvFloat16ToUint:      out.debug << "Convert float16 to uint";     break;
-    case EOpConvFloat16ToFloat:     out.debug << "Convert float16 to float";    break;
-    case EOpConvFloat16ToDouble:    out.debug << "Convert float16 to double";   break;
-    case EOpConvFloat16ToInt64:     out.debug << "Convert float16 to int64";    break;
-    case EOpConvFloat16ToUint64:    out.debug << "Convert float16 to uint64";   break;
-
-    case EOpConvBoolToInt16:        out.debug << "Convert bool to int16";       break;
-    case EOpConvIntToInt16:         out.debug << "Convert int to int16";        break;
-    case EOpConvUintToInt16:        out.debug << "Convert uint to int16";       break;
-    case EOpConvFloatToInt16:       out.debug << "Convert float to int16";      break;
-    case EOpConvDoubleToInt16:      out.debug << "Convert double to int16";     break;
-    case EOpConvFloat16ToInt16:     out.debug << "Convert float16 to int16";    break;
-    case EOpConvInt64ToInt16:       out.debug << "Convert int64 to int16";      break;
-    case EOpConvUint64ToInt16:      out.debug << "Convert uint64 to int16";     break;
-    case EOpConvUint16ToInt16:      out.debug << "Convert uint16 to int16";     break;
-    case EOpConvInt16ToBool:        out.debug << "Convert int16 to bool";       break;
-    case EOpConvInt16ToInt:         out.debug << "Convert int16 to int";        break;
-    case EOpConvInt16ToUint:        out.debug << "Convert int16 to uint";       break;
-    case EOpConvInt16ToFloat:       out.debug << "Convert int16 to float";      break;
-    case EOpConvInt16ToDouble:      out.debug << "Convert int16 to double";     break;
-    case EOpConvInt16ToFloat16:     out.debug << "Convert int16 to float16";    break;
-    case EOpConvInt16ToInt64:       out.debug << "Convert int16 to int64";      break;
-    case EOpConvInt16ToUint64:      out.debug << "Convert int16 to uint64";     break;
-
-    case EOpConvBoolToUint16:       out.debug << "Convert bool to uint16";      break;
-    case EOpConvIntToUint16:        out.debug << "Convert int to uint16";       break;
-    case EOpConvUintToUint16:       out.debug << "Convert uint to uint16";      break;
-    case EOpConvFloatToUint16:      out.debug << "Convert float to uint16";     break;
-    case EOpConvDoubleToUint16:     out.debug << "Convert double to uint16";    break;
-    case EOpConvFloat16ToUint16:    out.debug << "Convert float16 to uint16";   break;
-    case EOpConvInt64ToUint16:      out.debug << "Convert int64 to uint16";     break;
-    case EOpConvUint64ToUint16:     out.debug << "Convert uint64 to uint16";    break;
-    case EOpConvInt16ToUint16:      out.debug << "Convert int16 to uint16";     break;
-    case EOpConvUint16ToBool:       out.debug << "Convert uint16 to bool";      break;
-    case EOpConvUint16ToInt:        out.debug << "Convert uint16 to int";       break;
-    case EOpConvUint16ToUint:       out.debug << "Convert uint16 to uint";      break;
-    case EOpConvUint16ToFloat:      out.debug << "Convert uint16 to float";     break;
-    case EOpConvUint16ToDouble:     out.debug << "Convert uint16 to double";    break;
-    case EOpConvUint16ToFloat16:    out.debug << "Convert uint16 to float16";   break;
-    case EOpConvUint16ToInt64:      out.debug << "Convert uint16 to int64";     break;
-    case EOpConvUint16ToUint64:     out.debug << "Convert uint16 to uint64";    break;
+    case EOpCubeFaceIndex:          out.debug << "cubeFaceIndex";               break;
+    case EOpCubeFaceCoord:          out.debug << "cubeFaceCoord";               break;
 #endif
 
     case EOpSubpassLoad:   out.debug << "subpassLoad";   break;
@@ -537,23 +683,30 @@
     case EOpConstructBVec2: out.debug << "Construct bvec2"; break;
     case EOpConstructBVec3: out.debug << "Construct bvec3"; break;
     case EOpConstructBVec4: out.debug << "Construct bvec4"; break;
+    case EOpConstructInt8:   out.debug << "Construct int8_t";   break;
+    case EOpConstructI8Vec2: out.debug << "Construct i8vec2"; break;
+    case EOpConstructI8Vec3: out.debug << "Construct i8vec3"; break;
+    case EOpConstructI8Vec4: out.debug << "Construct i8vec4"; break;
     case EOpConstructInt:   out.debug << "Construct int";   break;
     case EOpConstructIVec2: out.debug << "Construct ivec2"; break;
     case EOpConstructIVec3: out.debug << "Construct ivec3"; break;
     case EOpConstructIVec4: out.debug << "Construct ivec4"; break;
+    case EOpConstructUint8:    out.debug << "Construct uint8_t";    break;
+    case EOpConstructU8Vec2:   out.debug << "Construct u8vec2";   break;
+    case EOpConstructU8Vec3:   out.debug << "Construct u8vec3";   break;
+    case EOpConstructU8Vec4:   out.debug << "Construct u8vec4";   break;
     case EOpConstructUint:    out.debug << "Construct uint";    break;
     case EOpConstructUVec2:   out.debug << "Construct uvec2";   break;
     case EOpConstructUVec3:   out.debug << "Construct uvec3";   break;
     case EOpConstructUVec4:   out.debug << "Construct uvec4";   break;
-    case EOpConstructInt64:   out.debug << "Construct int64_t"; break;
+    case EOpConstructInt64:   out.debug << "Construct int64"; break;
     case EOpConstructI64Vec2: out.debug << "Construct i64vec2"; break;
     case EOpConstructI64Vec3: out.debug << "Construct i64vec3"; break;
     case EOpConstructI64Vec4: out.debug << "Construct i64vec4"; break;
-    case EOpConstructUint64:  out.debug << "Construct uint64_t"; break;
+    case EOpConstructUint64:  out.debug << "Construct uint64"; break;
     case EOpConstructU64Vec2: out.debug << "Construct u64vec2"; break;
     case EOpConstructU64Vec3: out.debug << "Construct u64vec3"; break;
     case EOpConstructU64Vec4: out.debug << "Construct u64vec4"; break;
-#ifdef AMD_EXTENSIONS
     case EOpConstructInt16:   out.debug << "Construct int16_t"; break;
     case EOpConstructI16Vec2: out.debug << "Construct i16vec2"; break;
     case EOpConstructI16Vec3: out.debug << "Construct i16vec3"; break;
@@ -562,7 +715,6 @@
     case EOpConstructU16Vec2: out.debug << "Construct u16vec2"; break;
     case EOpConstructU16Vec3: out.debug << "Construct u16vec3"; break;
     case EOpConstructU16Vec4: out.debug << "Construct u16vec4"; break;
-#endif
     case EOpConstructMat2x2:  out.debug << "Construct mat2";    break;
     case EOpConstructMat2x3:  out.debug << "Construct mat2x3";  break;
     case EOpConstructMat2x4:  out.debug << "Construct mat2x4";  break;
@@ -608,7 +760,6 @@
     case EOpConstructBMat4x2: out.debug << "Construct bmat4x2"; break;
     case EOpConstructBMat4x3: out.debug << "Construct bmat4x3"; break;
     case EOpConstructBMat4x4: out.debug << "Construct bmat4";   break;
-#ifdef AMD_EXTENSIONS
     case EOpConstructFloat16:   out.debug << "Construct float16_t"; break;
     case EOpConstructF16Vec2:   out.debug << "Construct f16vec2";   break;
     case EOpConstructF16Vec3:   out.debug << "Construct f16vec3";   break;
@@ -622,7 +773,6 @@
     case EOpConstructF16Mat4x2: out.debug << "Construct f16mat4x2"; break;
     case EOpConstructF16Mat4x3: out.debug << "Construct f16mat4x3"; break;
     case EOpConstructF16Mat4x4: out.debug << "Construct f16mat4";   break;
-#endif
     case EOpConstructStruct:  out.debug << "Construct structure";  break;
     case EOpConstructTextureSampler: out.debug << "Construct combined texture-sampler"; break;
 
@@ -790,11 +940,67 @@
     case EOpSinCos:                     out.debug << "sincos";                break;
     case EOpGenMul:                     out.debug << "mul";                   break;
 
-    case EOpAllMemoryBarrierWithGroupSync:    out.debug << "AllMemoryBarrierWithGroupSync";    break;
-    case EOpGroupMemoryBarrierWithGroupSync: out.debug << "GroupMemoryBarrierWithGroupSync"; break;
-    case EOpWorkgroupMemoryBarrier:           out.debug << "WorkgroupMemoryBarrier";           break;
+    case EOpAllMemoryBarrierWithGroupSync:       out.debug << "AllMemoryBarrierWithGroupSync";    break;
+    case EOpGroupMemoryBarrierWithGroupSync:     out.debug << "GroupMemoryBarrierWithGroupSync"; break;
+    case EOpWorkgroupMemoryBarrier:              out.debug << "WorkgroupMemoryBarrier";           break;
     case EOpWorkgroupMemoryBarrierWithGroupSync: out.debug << "WorkgroupMemoryBarrierWithGroupSync"; break;
 
+    case EOpSubgroupBarrier:                 out.debug << "subgroupBarrier"; break;
+    case EOpSubgroupMemoryBarrier:           out.debug << "subgroupMemoryBarrier"; break;
+    case EOpSubgroupMemoryBarrierBuffer:     out.debug << "subgroupMemoryBarrierBuffer"; break;
+    case EOpSubgroupMemoryBarrierImage:      out.debug << "subgroupMemoryBarrierImage";   break;
+    case EOpSubgroupMemoryBarrierShared:     out.debug << "subgroupMemoryBarrierShared"; break;
+    case EOpSubgroupElect:                   out.debug << "subgroupElect"; break;
+    case EOpSubgroupAll:                     out.debug << "subgroupAll"; break;
+    case EOpSubgroupAny:                     out.debug << "subgroupAny"; break;
+    case EOpSubgroupAllEqual:                out.debug << "subgroupAllEqual"; break;
+    case EOpSubgroupBroadcast:               out.debug << "subgroupBroadcast"; break;
+    case EOpSubgroupBroadcastFirst:          out.debug << "subgroupBroadcastFirst"; break;
+    case EOpSubgroupBallot:                  out.debug << "subgroupBallot"; break;
+    case EOpSubgroupInverseBallot:           out.debug << "subgroupInverseBallot"; break;
+    case EOpSubgroupBallotBitExtract:        out.debug << "subgroupBallotBitExtract"; break;
+    case EOpSubgroupBallotBitCount:          out.debug << "subgroupBallotBitCount"; break;
+    case EOpSubgroupBallotInclusiveBitCount: out.debug << "subgroupBallotInclusiveBitCount"; break;
+    case EOpSubgroupBallotExclusiveBitCount: out.debug << "subgroupBallotExclusiveBitCount"; break;
+    case EOpSubgroupBallotFindLSB:           out.debug << "subgroupBallotFindLSB"; break;
+    case EOpSubgroupBallotFindMSB:           out.debug << "subgroupBallotFindMSB"; break;
+    case EOpSubgroupShuffle:                 out.debug << "subgroupShuffle"; break;
+    case EOpSubgroupShuffleXor:              out.debug << "subgroupShuffleXor"; break;
+    case EOpSubgroupShuffleUp:               out.debug << "subgroupShuffleUp"; break;
+    case EOpSubgroupShuffleDown:             out.debug << "subgroupShuffleDown"; break;
+    case EOpSubgroupAdd:                     out.debug << "subgroupAdd"; break;
+    case EOpSubgroupMul:                     out.debug << "subgroupMul"; break;
+    case EOpSubgroupMin:                     out.debug << "subgroupMin"; break;
+    case EOpSubgroupMax:                     out.debug << "subgroupMax"; break;
+    case EOpSubgroupAnd:                     out.debug << "subgroupAnd"; break;
+    case EOpSubgroupOr:                      out.debug << "subgroupOr"; break;
+    case EOpSubgroupXor:                     out.debug << "subgroupXor"; break;
+    case EOpSubgroupInclusiveAdd:            out.debug << "subgroupInclusiveAdd"; break;
+    case EOpSubgroupInclusiveMul:            out.debug << "subgroupInclusiveMul"; break;
+    case EOpSubgroupInclusiveMin:            out.debug << "subgroupInclusiveMin"; break;
+    case EOpSubgroupInclusiveMax:            out.debug << "subgroupInclusiveMax"; break;
+    case EOpSubgroupInclusiveAnd:            out.debug << "subgroupInclusiveAnd"; break;
+    case EOpSubgroupInclusiveOr:             out.debug << "subgroupInclusiveOr"; break;
+    case EOpSubgroupInclusiveXor:            out.debug << "subgroupInclusiveXor"; break;
+    case EOpSubgroupExclusiveAdd:            out.debug << "subgroupExclusiveAdd"; break;
+    case EOpSubgroupExclusiveMul:            out.debug << "subgroupExclusiveMul"; break;
+    case EOpSubgroupExclusiveMin:            out.debug << "subgroupExclusiveMin"; break;
+    case EOpSubgroupExclusiveMax:            out.debug << "subgroupExclusiveMax"; break;
+    case EOpSubgroupExclusiveAnd:            out.debug << "subgroupExclusiveAnd"; break;
+    case EOpSubgroupExclusiveOr:             out.debug << "subgroupExclusiveOr"; break;
+    case EOpSubgroupExclusiveXor:            out.debug << "subgroupExclusiveXor"; break;
+    case EOpSubgroupClusteredAdd:            out.debug << "subgroupClusteredAdd"; break;
+    case EOpSubgroupClusteredMul:            out.debug << "subgroupClusteredMul"; break;
+    case EOpSubgroupClusteredMin:            out.debug << "subgroupClusteredMin"; break;
+    case EOpSubgroupClusteredMax:            out.debug << "subgroupClusteredMax"; break;
+    case EOpSubgroupClusteredAnd:            out.debug << "subgroupClusteredAnd"; break;
+    case EOpSubgroupClusteredOr:             out.debug << "subgroupClusteredOr"; break;
+    case EOpSubgroupClusteredXor:            out.debug << "subgroupClusteredXor"; break;
+    case EOpSubgroupQuadBroadcast:           out.debug << "subgroupQuadBroadcast"; break;
+    case EOpSubgroupQuadSwapHorizontal:      out.debug << "subgroupQuadSwapHorizontal"; break;
+    case EOpSubgroupQuadSwapVertical:        out.debug << "subgroupQuadSwapVertical"; break;
+    case EOpSubgroupQuadSwapDiagonal:        out.debug << "subgroupQuadSwapDiagonal"; break;
+
     case EOpSubpassLoad:   out.debug << "subpassLoad";   break;
     case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break;
 
@@ -861,9 +1067,7 @@
             break;
         case EbtFloat:
         case EbtDouble:
-#ifdef AMD_EXTENSIONS
         case EbtFloat16:
-#endif
             {
                 const double value = constUnion[i].getDConst();
                 // Print infinities and NaNs in a portable way.
@@ -883,6 +1087,42 @@
                 }
             }
             break;
+        case EbtInt8:
+            {
+                const int maxSize = 300;
+                char buf[maxSize];
+                snprintf(buf, maxSize, "%d (%s)", constUnion[i].getI8Const(), "const int8_t");
+
+                out.debug << buf << "\n";
+            }
+            break;
+        case EbtUint8:
+            {
+                const int maxSize = 300;
+                char buf[maxSize];
+                snprintf(buf, maxSize, "%u (%s)", constUnion[i].getU8Const(), "const uint8_t");
+
+                out.debug << buf << "\n";
+            }
+            break;
+        case EbtInt16:
+            {
+                const int maxSize = 300;
+                char buf[maxSize];
+                snprintf(buf, maxSize, "%d (%s)", constUnion[i].getI16Const(), "const int16_t");
+
+                out.debug << buf << "\n";
+            }
+            break;
+        case EbtUint16:
+            {
+                const int maxSize = 300;
+                char buf[maxSize];
+                snprintf(buf, maxSize, "%u (%s)", constUnion[i].getU16Const(), "const uint16_t");
+
+                out.debug << buf << "\n";
+            }
+            break;
         case EbtInt:
             {
                 const int maxSize = 300;
@@ -919,26 +1159,6 @@
                 out.debug << buf << "\n";
             }
             break;
-#ifdef AMD_EXTENSIONS
-        case EbtInt16:
-            {
-                const int maxSize = 300;
-                char buf[maxSize];
-                snprintf(buf, maxSize, "%d (%s)", constUnion[i].getIConst(), "const int16_t");
-
-                out.debug << buf << "\n";
-            }
-            break;
-        case EbtUint16:
-            {
-                const int maxSize = 300;
-                char buf[maxSize];
-                snprintf(buf, maxSize, "%u (%s)", constUnion[i].getUConst(), "const uint16_t");
-
-                out.debug << buf << "\n";
-            }
-            break;
-#endif
         default:
             out.info.message(EPrefixInternalError, "Unknown constant", node->getLoc());
             break;
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index 9ca1557..6d4164e 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -1,5 +1,6 @@
 //
 // Copyright (C) 2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -1064,11 +1065,11 @@
     case EbtInt64:
     case EbtUint64:
     case EbtDouble:  size = 8; return 8;
-#ifdef AMD_EXTENSIONS
-    case EbtInt16:
-    case EbtUint16:
     case EbtFloat16: size = 2; return 2;
-#endif
+    case EbtInt8:
+    case EbtUint8:   size = 1; return 1;
+    case EbtInt16:
+    case EbtUint16:  size = 2; return 2;
     default:         size = 4; return 4;
     }
 }
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index e0133dc..1e62e9b 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2016 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 // All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
@@ -77,7 +78,7 @@
         assert(i < MaxSwizzleSelectors);
         return components[i];
     }
-    
+
 private:
     int size_;
     selectorType components[MaxSwizzleSelectors];
@@ -400,6 +401,7 @@
     TIntermSymbol* addSymbol(const TType&, const TSourceLoc&);
     TIntermSymbol* addSymbol(const TIntermSymbol&);
     TIntermTyped* addConversion(TOperator, const TType&, TIntermTyped*) const;
+    std::tuple<TIntermTyped*, TIntermTyped*> addConversion(TOperator op, TIntermTyped* node0, TIntermTyped* node1) const;
     TIntermTyped* addUniShapeConversion(TOperator, const TType&, TIntermTyped*);
     void addBiShapeConversion(TOperator, TIntermTyped*& lhsNode, TIntermTyped*& rhsNode);
     TIntermTyped* addShapeConversion(const TType&, TIntermTyped*);
@@ -409,6 +411,11 @@
     TIntermTyped* addUnaryMath(TOperator, TIntermTyped* child, TSourceLoc);
     TIntermTyped* addBuiltInFunctionCall(const TSourceLoc& line, TOperator, bool unary, TIntermNode*, const TType& returnType);
     bool canImplicitlyPromote(TBasicType from, TBasicType to, TOperator op = EOpNull) const;
+    bool isIntegralPromotion(TBasicType from, TBasicType to) const;
+    bool isFPPromotion(TBasicType from, TBasicType to) const;
+    bool isIntegralConversion(TBasicType from, TBasicType to) const;
+    bool isFPConversion(TBasicType from, TBasicType to) const;
+    bool isFPIntegralConversion(TBasicType from, TBasicType to) const;
     TOperator mapTypeToConstructorOp(const TType&) const;
     TIntermAggregate* growAggregate(TIntermNode* left, TIntermNode* right);
     TIntermAggregate* growAggregate(TIntermNode* left, TIntermNode* right, const TSourceLoc&);
@@ -422,15 +429,14 @@
     TIntermTyped* addComma(TIntermTyped* left, TIntermTyped* right, const TSourceLoc&);
     TIntermTyped* addMethod(TIntermTyped*, const TType&, const TString*, const TSourceLoc&);
     TIntermConstantUnion* addConstantUnion(const TConstUnionArray&, const TType&, const TSourceLoc&, bool literal = false) const;
+    TIntermConstantUnion* addConstantUnion(signed char, const TSourceLoc&, bool literal = false) const;
+    TIntermConstantUnion* addConstantUnion(unsigned char, const TSourceLoc&, bool literal = false) const;
+    TIntermConstantUnion* addConstantUnion(signed short, const TSourceLoc&, bool literal = false) const;
+    TIntermConstantUnion* addConstantUnion(unsigned short, const TSourceLoc&, bool literal = false) const;
     TIntermConstantUnion* addConstantUnion(int, const TSourceLoc&, bool literal = false) const;
     TIntermConstantUnion* addConstantUnion(unsigned int, const TSourceLoc&, bool literal = false) const;
     TIntermConstantUnion* addConstantUnion(long long, const TSourceLoc&, bool literal = false) const;
     TIntermConstantUnion* addConstantUnion(unsigned long long, const TSourceLoc&, bool literal = false) const;
-#ifdef AMD_EXTENSIONS
-    TIntermConstantUnion* addConstantUnion(short, const TSourceLoc&, bool literal = false) const;
-    TIntermConstantUnion* addConstantUnion(unsigned short, const TSourceLoc&, bool literal = false) const;
-    
-#endif
     TIntermConstantUnion* addConstantUnion(bool, const TSourceLoc&, bool literal = false) const;
     TIntermConstantUnion* addConstantUnion(double, TBasicType, const TSourceLoc&, bool literal = false) const;
     TIntermConstantUnion* addConstantUnion(const TString*, const TSourceLoc&, bool literal = false) const;
@@ -638,14 +644,17 @@
     void pushSelector(TIntermSequence&, const TMatrixSelector&, const TSourceLoc&);
     bool specConstantPropagates(const TIntermTyped&, const TIntermTyped&);
     void performTextureUpgradeAndSamplerRemovalTransformation(TIntermNode* root);
+    bool isConversionAllowed(TOperator op, TIntermTyped* node) const;
+    TIntermUnary* createConversion(TBasicType convertTo, TIntermTyped* node) const;
+    std::tuple<TBasicType, TBasicType> getConversionDestinatonType(TBasicType type0, TBasicType type1, TOperator op) const;
 
     const EShLanguage language;  // stage, known at construction time
     EShSource source;            // source language, known a bit later
     std::string entryPointName;
     std::string entryPointMangledName;
 
-    EProfile profile;
-    int version;
+    EProfile profile;                           // source profile
+    int version;                                // source version
     SpvVersion spvVersion;
     TIntermNode* treeRoot;
     std::set<std::string> requestedExtensions;  // cumulation of all enabled or required extensions; not connected to what subset of the shader used them
diff --git a/glslang/MachineIndependent/parseVersions.h b/glslang/MachineIndependent/parseVersions.h
index 5f26b43..c3d792c 100755
--- a/glslang/MachineIndependent/parseVersions.h
+++ b/glslang/MachineIndependent/parseVersions.h
@@ -1,5 +1,6 @@
 //
 // Copyright (C) 2016 Google, Inc.
+// Copyright (C) 2017 ARM Limited.
 //
 // All rights reserved.
 //
@@ -77,11 +78,13 @@
     virtual void updateExtensionBehavior(int line, const char* const extension, const char* behavior);
     virtual void fullIntegerCheck(const TSourceLoc&, const char* op);
     virtual void doubleCheck(const TSourceLoc&, const char* op);
-#ifdef AMD_EXTENSIONS
-    virtual void int16Check(const TSourceLoc& loc, const char* op, bool builtIn = false);
     virtual void float16Check(const TSourceLoc&, const char* op, bool builtIn = false);
-#endif
     virtual void int64Check(const TSourceLoc&, const char* op, bool builtIn = false);
+    virtual void explicitInt8Check(const TSourceLoc&, const char* op, bool builtIn = false);
+    virtual void explicitInt16Check(const TSourceLoc&, const char* op, bool builtIn = false);
+    virtual void explicitInt32Check(const TSourceLoc&, const char* op, bool builtIn = false);
+    virtual void explicitFloat32Check(const TSourceLoc&, const char* op, bool builtIn = false);
+    virtual void explicitFloat64Check(const TSourceLoc&, const char* op, bool builtIn = false);
     virtual void spvRemoved(const TSourceLoc&, const char* op);
     virtual void vulkanRemoved(const TSourceLoc&, const char* op);
     virtual void requireVulkan(const TSourceLoc&, const char* op);
diff --git a/glslang/MachineIndependent/preprocessor/Pp.cpp b/glslang/MachineIndependent/preprocessor/Pp.cpp
index ecda34c..1b4fbae 100644
--- a/glslang/MachineIndependent/preprocessor/Pp.cpp
+++ b/glslang/MachineIndependent/preprocessor/Pp.cpp
@@ -721,12 +721,10 @@
     TSourceLoc loc = ppToken->loc;
 
     while (token != '\n' && token != EndOfInput) {
-        if (token == PpAtomConstInt   || token == PpAtomConstUint   ||
+        if (token == PpAtomConstInt16 || token == PpAtomConstUint16 ||
+            token == PpAtomConstInt   || token == PpAtomConstUint   ||
             token == PpAtomConstInt64 || token == PpAtomConstUint64 ||
-#ifdef AMD_EXTENSIONS
-            token == PpAtomConstInt16 || token == PpAtomConstUint16 ||
             token == PpAtomConstFloat16 ||
-#endif
             token == PpAtomConstFloat || token == PpAtomConstDouble) {
                 message.append(ppToken->name);
         } else if (token == PpAtomIdentifier || token == PpAtomConstString) {
@@ -765,9 +763,7 @@
 #endif
         case PpAtomConstFloat:
         case PpAtomConstDouble:
-#ifdef AMD_EXTENSIONS
         case PpAtomConstFloat16:
-#endif
             tokens.push_back(ppToken->name);
             break;
         default:
diff --git a/glslang/MachineIndependent/preprocessor/PpScanner.cpp b/glslang/MachineIndependent/preprocessor/PpScanner.cpp
index fa01549..cd8613f 100644
--- a/glslang/MachineIndependent/preprocessor/PpScanner.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpScanner.cpp
@@ -1,6 +1,7 @@
 //
 // Copyright (C) 2002-2005  3Dlabs Inc. Ltd.
 // Copyright (C) 2013 LunarG, Inc.
+// Copyright (C) 2017 ARM Limited.
 // All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or without
@@ -107,13 +108,16 @@
     bool acceptFloat16 = parseContext.intermediate.getSource() == EShSourceHlsl;
     bool isFloat16 = false;
     bool requireHF = false;
+    if (
 #ifdef AMD_EXTENSIONS
-    if (parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float)) {
+        parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float) ||
+#endif
+        parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+        parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_float16)) {
         acceptFloat16 = true;
         generateFloat16 = true;
         requireHF = true;
     }
-#endif
 
     const auto saveName = [&](int ch) {
         if (len <= MaxTokenLength)
@@ -197,10 +201,8 @@
             isDouble = 1;
         }
     } else if (acceptFloat16 && (ch == 'h' || ch == 'H')) {
-#ifdef AMD_EXTENSIONS
         if (generateFloat16)
             parseContext.float16Check(ppToken->loc, "half floating-point suffix");
-#endif
         if (!HasDecimalOrExponent)
             parseContext.ppError(ppToken->loc, "float literal needs a decimal point or exponent", "", "");
         if (requireHF) {
@@ -333,15 +335,27 @@
     int ch = 0;
     int ii = 0;
     unsigned long long ival = 0;
-    bool enableInt64 = pp->parseContext.version >= 450 && pp->parseContext.extensionTurnedOn(E_GL_ARB_gpu_shader_int64);
+    bool enableInt64 = pp->parseContext.version >= 450 &&
+                      (pp->parseContext.extensionTurnedOn(E_GL_ARB_gpu_shader_int64) ||
+                       pp->parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+                       pp->parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int64));
+    bool enableInt16 = pp->parseContext.version >= 450 &&
+                       (
 #ifdef AMD_EXTENSIONS
-    bool enableInt16 = pp->parseContext.version >= 450 && pp->parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_int16);
+                       pp->parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_int16) ||
 #endif
+                       pp->parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+                       pp->parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int16));
     bool acceptHalf = pp->parseContext.intermediate.getSource() == EShSourceHlsl;
+    if (pp->parseContext.version >= 450 &&
+        (
 #ifdef AMD_EXTENSIONS
-    if (pp->parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float))
-        acceptHalf = true;
+         pp->parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float) ||
 #endif
+         pp->parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+         pp->parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_float16))) {
+        acceptHalf = true;
+    }
 
     const auto floatingPointChar = [&](int ch) { return ch == '.' || ch == 'e' || ch == 'E' ||
                                                                      ch == 'f' || ch == 'F' ||
@@ -409,9 +423,7 @@
 
                 bool isUnsigned = false;
                 bool isInt64 = false;
-#ifdef AMD_EXTENSIONS
                 bool isInt16 = false;
-#endif
                 ppToken->name[len++] = (char)ch;
                 ch = getch();
                 if ((ch >= '0' && ch <= '9') ||
@@ -452,15 +464,13 @@
 
                     if (enableInt64) {
                         int nextCh = getch();
-                        if ((ch == 'u' && nextCh == 'l') || (ch == 'U' && nextCh == 'L')) {
+                        if ((ch == 'u' || ch == 'U') && (nextCh == 'l' || nextCh == 'L')) {
                             if (len < MaxTokenLength)
                                 ppToken->name[len++] = (char)nextCh;
                             isInt64 = true;
                         } else
                             ungetch();
                     }
-
-#ifdef AMD_EXTENSIONS
                     if (enableInt16) {
                         int nextCh = getch();
                         if ((ch == 'u' && nextCh == 's') || (ch == 'U' && nextCh == 'S')) {
@@ -470,17 +480,14 @@
                         } else
                             ungetch();
                     }
-#endif
                 } else if (enableInt64 && (ch == 'l' || ch == 'L')) {
                     if (len < MaxTokenLength)
                         ppToken->name[len++] = (char)ch;
                     isInt64 = true;
-#ifdef AMD_EXTENSIONS
                 } else if (enableInt16 && (ch == 's' || ch == 'S')) {
                     if (len < MaxTokenLength)
                         ppToken->name[len++] = (char)ch;
                     isInt16 = true;
-#endif
                 } else
                     ungetch();
                 ppToken->name[len] = '\0';
@@ -488,11 +495,9 @@
                 if (isInt64) {
                     ppToken->i64val = ival;
                     return isUnsigned ? PpAtomConstUint64 : PpAtomConstInt64;
-#ifdef AMD_EXTENSIONS
                 } else if (isInt16) {
                     ppToken->ival = (int)ival;
                     return isUnsigned ? PpAtomConstUint16 : PpAtomConstInt16;
-#endif
                 } else {
                     ppToken->ival = (int)ival;
                     return isUnsigned ? PpAtomConstUint : PpAtomConstInt;
@@ -502,9 +507,7 @@
 
                 bool isUnsigned = false;
                 bool isInt64 = false;
-#ifdef AMD_EXTENSIONS
                 bool isInt16 = false;
-#endif
                 bool octalOverflow = false;
                 bool nonOctal = false;
                 ival = 0;
@@ -552,7 +555,7 @@
 
                     if (enableInt64) {
                         int nextCh = getch();
-                        if ((ch == 'u' && nextCh == 'l') || (ch == 'U' && nextCh == 'L')) {
+                        if ((ch == 'u' || ch == 'U') && (nextCh == 'l' || nextCh == 'L')) {
                             if (len < MaxTokenLength)
                                 ppToken->name[len++] = (char)nextCh;
                             isInt64 = true;
@@ -560,7 +563,6 @@
                             ungetch();
                     }
 
-#ifdef AMD_EXTENSIONS
                     if (enableInt16) {
                         int nextCh = getch();
                         if ((ch == 'u' && nextCh == 's') || (ch == 'U' && nextCh == 'S')) {
@@ -570,17 +572,14 @@
                         } else
                             ungetch();
                     }
-#endif
                 } else if (enableInt64 && (ch == 'l' || ch == 'L')) {
                     if (len < MaxTokenLength)
                         ppToken->name[len++] = (char)ch;
                     isInt64 = true;
-#ifdef AMD_EXTENSIONS
                 } else if (enableInt16 && (ch == 's' || ch == 'S')) {
                     if (len < MaxTokenLength)
                         ppToken->name[len++] = (char)ch;
                     isInt16 = true;
-#endif
                 } else
                     ungetch();
                 ppToken->name[len] = '\0';
@@ -591,11 +590,9 @@
                 if (isInt64) {
                     ppToken->i64val = ival;
                     return isUnsigned ? PpAtomConstUint64 : PpAtomConstInt64;
-#ifdef AMD_EXTENSIONS
                 } else if (isInt16) {
                     ppToken->ival = (int)ival;
                     return isUnsigned ? PpAtomConstUint16 : PpAtomConstInt16;
-#endif
                 } else {
                     ppToken->ival = (int)ival;
                     return isUnsigned ? PpAtomConstUint : PpAtomConstInt;
@@ -622,9 +619,7 @@
                 int numericLen = len;
                 bool isUnsigned = false;
                 bool isInt64 = false;
-#ifdef AMD_EXTENSIONS
                 bool isInt16 = false;
-#endif
                 if (ch == 'u' || ch == 'U') {
                     if (len < MaxTokenLength)
                         ppToken->name[len++] = (char)ch;
@@ -632,7 +627,7 @@
 
                     if (enableInt64) {
                         int nextCh = getch();
-                        if ((ch == 'u' && nextCh == 'l') || (ch == 'U' && nextCh == 'L')) {
+                        if ((ch == 'u' || ch == 'U') && (nextCh == 'l' || nextCh == 'L')) {
                             if (len < MaxTokenLength)
                                 ppToken->name[len++] = (char)nextCh;
                             isInt64 = true;
@@ -640,7 +635,6 @@
                             ungetch();
                     }
 
-#ifdef AMD_EXTENSIONS
                     if (enableInt16) {
                         int nextCh = getch();
                         if ((ch == 'u' && nextCh == 's') || (ch == 'U' && nextCh == 'S')) {
@@ -650,17 +644,14 @@
                         } else
                             ungetch();
                     }
-#endif
-                } else if (enableInt64 && (ch == 'l' || ch == 'L')) {
+               } else if (enableInt64 && (ch == 'l' || ch == 'L')) {
                     if (len < MaxTokenLength)
                         ppToken->name[len++] = (char)ch;
                     isInt64 = true;
-#ifdef AMD_EXTENSIONS
                 } else if (enableInt16 && (ch == 's' || ch == 'S')) {
                     if (len < MaxTokenLength)
                         ppToken->name[len++] = (char)ch;
                     isInt16 = true;
-#endif
                 } else
                     ungetch();
 
@@ -670,19 +661,15 @@
                 const unsigned remainderMaxInt = 0xFFFFFFFFu - 10 * oneTenthMaxInt;
                 const unsigned long long oneTenthMaxInt64  = 0xFFFFFFFFFFFFFFFFull / 10;
                 const unsigned long long remainderMaxInt64 = 0xFFFFFFFFFFFFFFFFull - 10 * oneTenthMaxInt64;
-#ifdef AMD_EXTENSIONS
                 const unsigned short oneTenthMaxInt16  = 0xFFFFu / 10;
                 const unsigned short remainderMaxInt16 = 0xFFFFu - 10 * oneTenthMaxInt16;
-#endif
                 for (int i = 0; i < numericLen; i++) {
                     ch = ppToken->name[i] - '0';
                     bool overflow = false;
                     if (isInt64)
                         overflow = (ival > oneTenthMaxInt64 || (ival == oneTenthMaxInt64 && (unsigned long long)ch > remainderMaxInt64));
-#ifdef AMD_EXTENSIONS
                     else if (isInt16)
                         overflow = (ival > oneTenthMaxInt16 || (ival == oneTenthMaxInt16 && (unsigned short)ch > remainderMaxInt16));
-#endif
                     else
                         overflow = (ival > oneTenthMaxInt || (ival == oneTenthMaxInt && (unsigned)ch > remainderMaxInt));
                     if (overflow) {
@@ -696,11 +683,9 @@
                 if (isInt64) {
                     ppToken->i64val = ival;
                     return isUnsigned ? PpAtomConstUint64 : PpAtomConstInt64;
-#ifdef AMD_EXTENSIONS
                 } else if (isInt16) {
                     ppToken->ival = (int)ival;
                     return isUnsigned ? PpAtomConstUint16 : PpAtomConstInt16;
-#endif
                 } else {
                     ppToken->ival = (int)ival;
                     return isUnsigned ? PpAtomConstUint : PpAtomConstInt;
@@ -950,14 +935,10 @@
         case PpAtomConstFloat:
         case PpAtomConstInt64:
         case PpAtomConstUint64:
-#ifdef AMD_EXTENSIONS
         case PpAtomConstInt16:
         case PpAtomConstUint16:
-#endif
         case PpAtomConstDouble:
-#ifdef AMD_EXTENSIONS
         case PpAtomConstFloat16:
-#endif
             if (ppToken.name[0] == '\0')
                 continue;
             break;
diff --git a/glslang/MachineIndependent/preprocessor/PpTokens.cpp b/glslang/MachineIndependent/preprocessor/PpTokens.cpp
index bc145e2..31e0d1f 100644
--- a/glslang/MachineIndependent/preprocessor/PpTokens.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpTokens.cpp
@@ -147,9 +147,7 @@
 #endif
     case PpAtomConstFloat:
     case PpAtomConstDouble:
-#ifdef AMD_EXTENSIONS
     case PpAtomConstFloat16:
-#endif
         str = ppToken->name;
         while (*str) {
             putSubtoken(*str);
@@ -187,9 +185,7 @@
     case PpAtomIdentifier:
     case PpAtomConstFloat:
     case PpAtomConstDouble:
-#ifdef AMD_EXTENSIONS
     case PpAtomConstFloat16:
-#endif
     case PpAtomConstInt:
     case PpAtomConstUint:
     case PpAtomConstInt64:
@@ -219,9 +215,7 @@
             break;
         case PpAtomConstFloat:
         case PpAtomConstDouble:
-#ifdef AMD_EXTENSIONS
         case PpAtomConstFloat16:
-#endif
             ppToken->dval = atof(ppToken->name);
             break;
         case PpAtomConstInt:
diff --git a/glslang/MachineIndependent/preprocessor/PpTokens.h b/glslang/MachineIndependent/preprocessor/PpTokens.h
index d56df57..7b0f815 100644
--- a/glslang/MachineIndependent/preprocessor/PpTokens.h
+++ b/glslang/MachineIndependent/preprocessor/PpTokens.h
@@ -127,10 +127,8 @@
     PpAtomConstUint,
     PpAtomConstInt64,
     PpAtomConstUint64,
-#ifdef AMD_EXTENSIONS
     PpAtomConstInt16,
     PpAtomConstUint16,
-#endif
     PpAtomConstFloat,
     PpAtomConstDouble,
     PpAtomConstFloat16,
diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp
index fbbf81b..c4cb3c5 100644
--- a/gtests/AST.FromFile.cpp
+++ b/gtests/AST.FromFile.cpp
@@ -203,6 +203,7 @@
         "precise.tesc",
         "precise_struct_block.vert",
         "maxClipDistances.vert",
+        "findFunction.frag",
     })),
     FileNameAsCustomTestSuffix
 );
diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp
index 8a64991..a96dbbf 100644
--- a/gtests/Hlsl.FromFile.cpp
+++ b/gtests/Hlsl.FromFile.cpp
@@ -355,6 +355,17 @@
         {"hlsl.type.identifier.frag", "main"},
         {"hlsl.typeGraphCopy.vert", "main"},
         {"hlsl.typedef.frag", "PixelShaderFunction"},
+        {"hlsl.wavequery.comp", "CSMain"},
+        {"hlsl.wavequery.frag", "PixelShaderFunction"},
+        {"hlsl.wavevote.comp", "CSMain"},
+        {"hlsl.wavebroadcast.comp", "CSMain"},
+        {"hlsl.wavereduction.comp", "CSMain"},
+        {"hlsl.waveprefix.comp", "CSMain"},
+        {"hlsl.wavequad.comp", "CSMain"},
+        {"hlsl.waveordered.comp", "CSMain"},
+        {"hlsl.waveordered2.comp", "CSMain"},
+        {"hlsl.waveordered.frag", "PixelShaderFunction"},
+        {"hlsl.waveordered2.frag", "PixelShaderFunction"},
         {"hlsl.whileLoop.frag", "PixelShaderFunction"},
         {"hlsl.void.frag", "PixelShaderFunction"}
     }),
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index 63992f1..ec73ba1 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -323,6 +323,24 @@
         "spv.storageBuffer.vert",
         "spv.precise.tese",
         "spv.precise.tesc",
+        "spv.subgroup.frag",
+        "spv.subgroup.geom",
+        "spv.subgroup.tesc",
+        "spv.subgroup.tese",
+        "spv.subgroup.vert",
+        "spv.subgroupBasic.comp",
+        "spv.subgroupVote.comp",
+        "spv.subgroupBallot.comp",
+        "spv.subgroupShuffle.comp",
+        "spv.subgroupShuffleRelative.comp",
+        "spv.subgroupArithmetic.comp",
+        "spv.subgroupClustered.comp",
+        "spv.subgroupQuad.comp",
+        "spv.int8.frag",
+        "spv.int16.frag",
+        "spv.int32.frag",
+        "spv.float32.frag",
+        "spv.float64.frag",
     })),
     FileNameAsCustomTestSuffix
 );
@@ -409,6 +427,7 @@
         "spv.float16.frag",
         "spv.imageLoadStoreLod.frag",
         "spv.int16.frag",
+        "spv.int16.amd.frag",
         "spv.shaderBallotAMD.comp",
         "spv.shaderFragMaskAMD.frag",
         "spv.textureGatherBiasLod.frag",
diff --git a/gtests/main.cpp b/gtests/main.cpp
index 35f30db..9cd06d1 100644
--- a/gtests/main.cpp
+++ b/gtests/main.cpp
@@ -54,7 +54,7 @@
             glslangtest::GlobalTestSettings.updateMode = true;
         }
         if (std::string("--test-root") == argv[i]) {
-            // Allow the user set the tets root directory.  This is useful
+            // Allow the user set the test root directory.  This is useful
             // for testing with files from another source tree.
             if (i + 1 < argc) {
                 glslangtest::GlobalTestSettings.testRoot = argv[i + 1];
@@ -64,6 +64,11 @@
                 return 1;
             }
         }
+        if (std::string("--help") == argv[i]) {
+            printf("\nExtra options:\n\n");
+            printf("  --update-mode\n      Update the golden results for the tests.\n");
+            printf("  --test-root <arg>\n      Specify the test root directory (useful for testing with\n      files from another source tree).\n");
+        }
     }
 
     const int result = RUN_ALL_TESTS();
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index 515922e..5b078ba 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -1549,6 +1549,10 @@
         new(&type) TType(EbtUint, EvqTemporary, 4);
         break;
 
+    case EHTokUint64:
+        new(&type) TType(EbtUint64);
+        break;
+
     case EHTokBool:
         new(&type) TType(EbtBool);
         break;
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index 706173d..e34ab3a 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -4400,6 +4400,22 @@
         return imageAggregate != nullptr && imageAggregate->getOp() == EOpImageLoad;
     };
 
+    const auto lookupBuiltinVariable = [&](const char* name, TBuiltInVariable builtin, TType& type) -> TIntermTyped* {
+        TSymbol* symbol = symbolTable.find(name);
+        if (nullptr == symbol) {
+            type.getQualifier().builtIn = builtin;
+
+            TVariable* variable = new TVariable(new TString(name), type);
+
+            symbolTable.insert(*variable);
+
+            symbol = symbolTable.find(name);
+            assert(symbol && "Inserted symbol could not be found!");
+        }
+
+        return intermediate.addSymbol(*(symbol->getAsVariable()), loc);
+    };
+
     // HLSL intrinsics can be pass through to native AST opcodes, or decomposed here to existing AST
     // opcodes for compatibility with existing software stacks.
     static const bool decomposeHlslIntrinsics = true;
@@ -4949,7 +4965,104 @@
 
             break;
         }
-        
+    case EOpWaveGetLaneCount:
+        {
+            // Mapped to gl_SubgroupSize builtin (We preprend @ to the symbol
+            // so that it inhabits the symbol table, but has a user-invalid name
+            // in-case some source HLSL defined the symbol also).
+            TType type(EbtUint, EvqVaryingIn);
+            node = lookupBuiltinVariable("@gl_SubgroupSize", EbvSubgroupSize2, type);
+            break;
+        }
+    case EOpWaveGetLaneIndex:
+        {
+            // Mapped to gl_SubgroupInvocationID builtin (We preprend @ to the
+            // symbol so that it inhabits the symbol table, but has a
+            // user-invalid name in-case some source HLSL defined the symbol
+            // also).
+            TType type(EbtUint, EvqVaryingIn);
+            node = lookupBuiltinVariable("@gl_SubgroupInvocationID", EbvSubgroupInvocation2, type);
+            break;
+        }
+    case EOpWaveIsHelperLane:
+        {
+            // Mapped to gl_HelperInvocation builtin (We preprend @ to the symbol
+            // so that it inhabits the symbol table, but has a user-invalid name
+            // in-case some source HLSL defined the symbol also).
+            TType type(EbtBool, EvqVaryingIn);
+            node = lookupBuiltinVariable("@gl_HelperInvocation", EbvHelperInvocation, type);
+            break;
+        }
+    case EOpWaveBallot:
+        {
+            // Mapped to subgroupBallot() builtin (NOTE: if an IHV has
+            // a subgroup size > 64 these wave ops will not work for them!)
+
+            // uvec4 type.
+            TType uvec4Type(EbtUint, EvqTemporary, 4);
+
+            // Get the uvec4 return from subgroupBallot().
+            TIntermTyped* res = intermediate.addBuiltInFunctionCall(loc,
+                EOpSubgroupBallot, true, arguments, uvec4Type);
+
+            // And extract a uvec2 for the two highest components.
+            TIntermTyped* xy = handleDotDereference(loc, res, "xy");
+
+            // uint64_t type.
+            TType uint64Type(EbtUint64, EvqTemporary);
+
+            // And bitcast the result for a uint64_t
+            node = intermediate.addBuiltInFunctionCall(loc,
+                EOpPackUint2x32, true, xy, uint64Type);
+
+            break;
+        }
+    case EOpWaveGetOrderedIndex:
+        {
+            if (language == EShLangFragment) {
+                // NOTE: For HLSL SM6.0 this should work for PS too, but the current GLSL extensions don't allow this.
+                error(loc, "WaveGetOrderedIndex() unsupported in a pixel/fragment shader", "WaveGetOrderedIndex", "");
+                break;
+            }
+
+            TType uintType(EbtUint, EvqVaryingIn);
+            TIntermTyped* subgroupID = lookupBuiltinVariable("@gl_SubgroupID", EbvSubgroupID, uintType);
+            TIntermTyped* numSubgroups = lookupBuiltinVariable("@gl_NumSubgroups", EbvNumSubgroups, uintType);
+
+            TType uvec3Type(EbtUint, EvqVaryingIn, 3);
+            TIntermTyped* numWorkGroups = lookupBuiltinVariable("@gl_NumWorkGroups", EbvNumWorkGroups, uvec3Type);
+            TIntermTyped* workGroupID = lookupBuiltinVariable("@gl_WorkGroupID", EbvWorkGroupId, uvec3Type);
+
+            //x & y components of gl_NumWorkGroups
+            TIntermTyped* numWorkGroupsX = handleDotDereference(loc, numWorkGroups, "x");
+            TIntermTyped* numWorkGroupsY = handleDotDereference(loc, numWorkGroups, "y");
+
+            // x & y components of globalSize
+            TIntermTyped* globalSizeX = handleBinaryMath(loc, "mul", EOpMul, numSubgroups, numWorkGroupsX);
+            TIntermTyped* globalSizeY = numWorkGroupsY;
+
+            // x, y & z components of gl_WorkGroupID
+            TIntermTyped* workGroupX = handleDotDereference(loc, workGroupID, "x");
+            TIntermTyped* workGroupY = handleDotDereference(loc, workGroupID, "y");
+            TIntermTyped* workGroupZ = handleDotDereference(loc, workGroupID, "z");
+
+            // We're going to build up the following variables to get a uniquely ordered ID:
+            // (globalSize.y * gl_WorkGroupID.z + gl_WorkGroupID.y) * globalSize.x + gl_WorkGroupID.x + gl_SubgroupID
+            node = handleBinaryMath(loc, "mul", EOpMul, globalSizeY, workGroupZ);
+            node = handleBinaryMath(loc, "add", EOpAdd, node, workGroupY);
+            node = handleBinaryMath(loc, "mul", EOpMul, node, globalSizeX);
+            node = handleBinaryMath(loc, "add", EOpAdd, node, workGroupX);
+            node = handleBinaryMath(loc, "add", EOpAdd, node, subgroupID);
+
+            break;
+        }
+    case EOpGlobalOrderedCountIncrement:
+        {
+            // NOTE: For HLSL SM6.0 this should work, but the current GLSL extensions don't allow this.
+            error(loc, "GlobalOrderedCountIncrement() unsupported", "GlobalOrderedCountIncrement", "");
+            break;
+        }
+
     default:
         break; // most pass through unchanged
     }
diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp
index 31f6801..946d91b 100755
--- a/hlsl/hlslParseables.cpp
+++ b/hlsl/hlslParseables.cpp
@@ -259,6 +259,8 @@
         case 'D': s += "double";                              break;
         case 'I': s += "int";                                 break;
         case 'U': s += "uint";                                break;
+        case 'L': s += "int64_t";                             break;
+        case 'M': s += "uint64_t";                            break;
         case 'B': s += "bool";                                break;
         case 'S': s += "sampler";                             break;
         case 's': s += "SamplerComparisonState";              break;
@@ -544,7 +546,7 @@
     // orderKey can be:
     //   S = scalar, V = vector, M = matrix, - = void
     // typekey can be:
-    //   D = double, F = float, U = uint, I = int, B = bool, S = sampler, s = shadowSampler
+    //   D = double, F = float, U = uint, I = int, B = bool, S = sampler, s = shadowSampler, M = uint64_t, L = int64_t
     // An empty order or type key repeats the first one.  E.g: SVM,, means 3 args each of SVM.
     // '>' as first letter of order creates an output parameter
     // '<' as first letter of order creates an input parameter
@@ -902,6 +904,32 @@
         { "DecrementCounter",                 nullptr, nullptr,   "-",              "-",              EShLangAll,   true },
         { "Consume",                          nullptr, nullptr,   "-",              "-",              EShLangAll,   true },
 
+        // SM 6.0
+        { "WaveOnce",                         "S",     "B",       "-",              "-",              EShLangPSCS,  false},
+        { "WaveGetLaneCount",                 "S",     "U",       "-",              "-",              EShLangPSCS,  false},
+        { "WaveGetLaneIndex",                 "S",     "U",       "-",              "-",              EShLangPSCS,  false},
+        { "WaveIsHelperLane",                 "S",     "B",       "-",              "-",              EShLangPS,    false},
+        { "WaveAnyTrue",                      "S",     "B",       "S",              "B",              EShLangPSCS,  false},
+        { "WaveAllTrue",                      "S",     "B",       "S",              "B",              EShLangPSCS,  false},
+        { "WaveAllEqual",                     "S",     "B",       "S",              "B",              EShLangPSCS,  false},
+        { "WaveBallot",                       "S",     "M",       "S",              "B",              EShLangPSCS,  false},
+        { "WaveReadLaneAt",                   nullptr, nullptr,   "SV,S",           "DFUI,U",         EShLangPSCS,  false},
+        { "WaveReadFirstLane",                nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WaveAllSum",                       nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WaveAllProduct",                   nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WaveAllMin",                       nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WaveAllMax",                       nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WaveAllBitAnd",                    nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WaveAllBitOr",                     nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WaveAllBitXor",                    nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WavePrefixSum",                    nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WavePrefixProduct",                nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "QuadReadLaneAt",                   nullptr, nullptr,   "SV,S",           "DFUI,U",         EShLangPSCS,  false},
+        { "QuadSwapX",                        nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "QuadSwapY",                        nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WaveGetOrderedIndex",              "S",     "U",       "-",              "-",              EShLangPSCS,  false},
+        { "GlobalOrderedCountIncrement",      "S",     "U",       "S",              "U",              EShLangPSCS,  false},
+
         // Methods for subpass input objects
         { "SubpassLoad",                      "V4",    nullptr,   "[",              "FIU",            EShLangPS,    true },
         { "SubpassLoad",                      "V4",    nullptr,   "],S",            "FIU,I",          EShLangPS,    true },
@@ -1244,6 +1272,32 @@
     symbolTable.relateToOperator(BUILTIN_PREFIX "Append",                      EOpMethodAppend);
     symbolTable.relateToOperator(BUILTIN_PREFIX "RestartStrip",                EOpMethodRestartStrip);
 
+    // Wave ops
+    symbolTable.relateToOperator("WaveOnce",                                   EOpSubgroupElect);
+    symbolTable.relateToOperator("WaveGetLaneCount",                           EOpWaveGetLaneCount);
+    symbolTable.relateToOperator("WaveGetLaneIndex",                           EOpWaveGetLaneIndex);
+    symbolTable.relateToOperator("WaveIsHelperLane",                           EOpWaveIsHelperLane);
+    symbolTable.relateToOperator("WaveAnyTrue",                                EOpSubgroupAny);
+    symbolTable.relateToOperator("WaveAllTrue",                                EOpSubgroupAll);
+    symbolTable.relateToOperator("WaveAllEqual",                               EOpSubgroupAllEqual);
+    symbolTable.relateToOperator("WaveBallot",                                 EOpWaveBallot);
+    symbolTable.relateToOperator("WaveReadLaneAt",                             EOpSubgroupShuffle);
+    symbolTable.relateToOperator("WaveReadFirstLane",                          EOpSubgroupBroadcastFirst);
+    symbolTable.relateToOperator("WaveAllSum",                                 EOpSubgroupAdd);
+    symbolTable.relateToOperator("WaveAllProduct",                             EOpSubgroupMul);
+    symbolTable.relateToOperator("WaveAllMin",                                 EOpSubgroupMin);
+    symbolTable.relateToOperator("WaveAllMax",                                 EOpSubgroupMax);
+    symbolTable.relateToOperator("WaveAllBitAnd",                              EOpSubgroupAnd);
+    symbolTable.relateToOperator("WaveAllBitOr",                               EOpSubgroupOr);
+    symbolTable.relateToOperator("WaveAllBitXor",                              EOpSubgroupXor);
+    symbolTable.relateToOperator("WavePrefixSum",                              EOpSubgroupInclusiveAdd);
+    symbolTable.relateToOperator("WavePrefixProduct",                          EOpSubgroupInclusiveMul);
+    symbolTable.relateToOperator("QuadReadLaneAt",                             EOpSubgroupQuadBroadcast);
+    symbolTable.relateToOperator("QuadSwapX",                                  EOpSubgroupQuadSwapHorizontal);
+    symbolTable.relateToOperator("QuadSwapY",                                  EOpSubgroupQuadSwapVertical);
+    symbolTable.relateToOperator("WaveGetOrderedIndex",                        EOpWaveGetOrderedIndex);
+    symbolTable.relateToOperator("GlobalOrderedCountIncrement",                EOpGlobalOrderedCountIncrement);
+
     // Subpass input methods
     symbolTable.relateToOperator(BUILTIN_PREFIX "SubpassLoad",                 EOpSubpassLoad);
     symbolTable.relateToOperator(BUILTIN_PREFIX "SubpassLoadMS",               EOpSubpassLoadMS);
diff --git a/hlsl/hlslScanContext.cpp b/hlsl/hlslScanContext.cpp
index c16fdfa..c6fb122 100755
--- a/hlsl/hlslScanContext.cpp
+++ b/hlsl/hlslScanContext.cpp
@@ -143,6 +143,7 @@
     (*KeywordMap)["bool"] =                    EHTokBool;
     (*KeywordMap)["int"] =                     EHTokInt;
     (*KeywordMap)["uint"] =                    EHTokUint;
+    (*KeywordMap)["uint64_t"] =                EHTokUint64;
     (*KeywordMap)["dword"] =                   EHTokDword;
     (*KeywordMap)["half"] =                    EHTokHalf;
     (*KeywordMap)["float"] =                   EHTokFloat;
@@ -644,6 +645,7 @@
     case EHTokBool:
     case EHTokInt:
     case EHTokUint:
+    case EHTokUint64:
     case EHTokDword:
     case EHTokHalf:
     case EHTokFloat:
diff --git a/hlsl/hlslTokens.h b/hlsl/hlslTokens.h
index 1c827bf..621e272 100755
--- a/hlsl/hlslTokens.h
+++ b/hlsl/hlslTokens.h
@@ -95,6 +95,7 @@
     EHTokBool,
     EHTokInt,
     EHTokUint,
+    EHTokUint64,
     EHTokDword,
     EHTokHalf,
     EHTokFloat,
