comment out problematic negative int

This commit is contained in:
teoxoy
2022-04-12 16:33:43 +02:00
committed by Teodor Tanasoaia
parent 6e6daad4d4
commit 2cda40396a
2 changed files with 474 additions and 474 deletions

View File

@@ -87,7 +87,8 @@ fn logical() {
fn arithmetic() {
// unary
let _ = -1;
// TODO: uncomment when we get the changes from https://github.com/gfx-rs/rspirv/pull/231
// let _ = -1;
let _ = -1.0;
let _ = -vec2(1);
let _ = -vec2(1.0);

View File

@@ -1,16 +1,16 @@
; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 460
; Bound: 459
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %448 "main"
OpExecutionMode %448 LocalSize 1 1 1
OpMemberDecorate %31 0 Offset 0
OpMemberDecorate %31 1 Offset 16
OpDecorate %36 ArrayStride 32
OpDecorate %37 ArrayStride 4
OpEntryPoint GLCompute %447 "main"
OpExecutionMode %447 LocalSize 1 1 1
OpMemberDecorate %30 0 Offset 0
OpMemberDecorate %30 1 Offset 16
OpDecorate %35 ArrayStride 32
OpDecorate %36 ArrayStride 4
%2 = OpTypeVoid
%4 = OpTypeFloat 32
%3 = OpConstant %4 1.0
@@ -32,486 +32,485 @@ OpDecorate %37 ArrayStride 4
%19 = OpConstant %20 0
%21 = OpConstant %8 3
%22 = OpConstant %20 4
%23 = OpConstant %8 4294967295
%24 = OpConstant %4 -1.0
%25 = OpConstant %20 2
%26 = OpConstant %20 1
%27 = OpTypeVector %4 4
%28 = OpTypeVector %8 4
%29 = OpTypeVector %10 4
%30 = OpTypeVector %4 3
%31 = OpTypeStruct %27 %8
%32 = OpTypeVector %4 2
%33 = OpTypeMatrix %32 2
%34 = OpTypeMatrix %27 4
%35 = OpTypeVector %20 2
%36 = OpTypeArray %31 %21
%37 = OpTypeArray %8 %22
%38 = OpTypeMatrix %30 3
%39 = OpTypeMatrix %30 4
%40 = OpTypeMatrix %27 3
%41 = OpConstantComposite %27 %3 %3 %3 %3
%42 = OpConstantComposite %27 %5 %5 %5 %5
%43 = OpConstantComposite %27 %6 %6 %6 %6
%44 = OpConstantComposite %28 %7 %7 %7 %7
%45 = OpConstantComposite %35 %19 %19
%46 = OpConstantComposite %32 %5 %5
%47 = OpConstantComposite %33 %46 %46
%48 = OpConstantComposite %27 %5 %5 %5 %5
%49 = OpConstantComposite %31 %48 %11
%50 = OpConstantComposite %36 %49 %49 %49
%51 = OpConstantComposite %30 %5 %5 %5
%52 = OpConstantComposite %38 %51 %51 %51
%53 = OpConstantComposite %39 %51 %51 %51 %51
%54 = OpConstantComposite %40 %48 %48 %48
%57 = OpTypeFunction %27
%99 = OpTypeFunction %30 %30
%101 = OpTypeVector %10 3
%108 = OpTypePointer Function %31
%110 = OpTypePointer Function %10
%112 = OpTypePointer Function %8
%114 = OpTypePointer Function %20
%116 = OpTypePointer Function %4
%118 = OpTypePointer Function %35
%120 = OpTypePointer Function %33
%122 = OpTypePointer Function %36
%127 = OpTypePointer Function %37
%130 = OpTypeFunction %4
%147 = OpTypePointer Function %27
%148 = OpTypePointer Function %4
%153 = OpTypeFunction %2
%156 = OpTypeVector %10 2
%172 = OpTypeVector %8 2
%183 = OpTypeVector %20 3
%56 = OpFunction %27 None %57
%55 = OpLabel
OpBranch %58
%58 = OpLabel
%59 = OpSelect %8 %9 %7 %11
%61 = OpCompositeConstruct %29 %9 %9 %9 %9
%60 = OpSelect %27 %61 %41 %42
%62 = OpCompositeConstruct %29 %12 %12 %12 %12
%63 = OpSelect %27 %62 %42 %41
%64 = OpExtInst %27 %1 FMix %42 %41 %43
%66 = OpCompositeConstruct %27 %13 %13 %13 %13
%65 = OpExtInst %27 %1 FMix %42 %41 %66
%67 = OpCompositeExtract %8 %44 0
%68 = OpBitcast %4 %67
%69 = OpBitcast %27 %44
%70 = OpConvertFToS %28 %42
%71 = OpCompositeConstruct %28 %59 %59 %59 %59
%72 = OpIAdd %28 %71 %70
%73 = OpConvertSToF %27 %72
%74 = OpFAdd %27 %73 %60
%75 = OpFAdd %27 %74 %64
%76 = OpFAdd %27 %75 %65
%77 = OpCompositeConstruct %27 %68 %68 %68 %68
%78 = OpFAdd %27 %76 %77
%79 = OpFAdd %27 %78 %69
OpReturnValue %79
%23 = OpConstant %4 -1.0
%24 = OpConstant %20 2
%25 = OpConstant %20 1
%26 = OpTypeVector %4 4
%27 = OpTypeVector %8 4
%28 = OpTypeVector %10 4
%29 = OpTypeVector %4 3
%30 = OpTypeStruct %26 %8
%31 = OpTypeVector %4 2
%32 = OpTypeMatrix %31 2
%33 = OpTypeMatrix %26 4
%34 = OpTypeVector %20 2
%35 = OpTypeArray %30 %21
%36 = OpTypeArray %8 %22
%37 = OpTypeMatrix %29 3
%38 = OpTypeMatrix %29 4
%39 = OpTypeMatrix %26 3
%40 = OpConstantComposite %26 %3 %3 %3 %3
%41 = OpConstantComposite %26 %5 %5 %5 %5
%42 = OpConstantComposite %26 %6 %6 %6 %6
%43 = OpConstantComposite %27 %7 %7 %7 %7
%44 = OpConstantComposite %34 %19 %19
%45 = OpConstantComposite %31 %5 %5
%46 = OpConstantComposite %32 %45 %45
%47 = OpConstantComposite %26 %5 %5 %5 %5
%48 = OpConstantComposite %30 %47 %11
%49 = OpConstantComposite %35 %48 %48 %48
%50 = OpConstantComposite %29 %5 %5 %5
%51 = OpConstantComposite %37 %50 %50 %50
%52 = OpConstantComposite %38 %50 %50 %50 %50
%53 = OpConstantComposite %39 %47 %47 %47
%56 = OpTypeFunction %26
%98 = OpTypeFunction %29 %29
%100 = OpTypeVector %10 3
%107 = OpTypePointer Function %30
%109 = OpTypePointer Function %10
%111 = OpTypePointer Function %8
%113 = OpTypePointer Function %20
%115 = OpTypePointer Function %4
%117 = OpTypePointer Function %34
%119 = OpTypePointer Function %32
%121 = OpTypePointer Function %35
%126 = OpTypePointer Function %36
%129 = OpTypeFunction %4
%146 = OpTypePointer Function %26
%147 = OpTypePointer Function %4
%152 = OpTypeFunction %2
%155 = OpTypeVector %10 2
%171 = OpTypeVector %8 2
%182 = OpTypeVector %20 3
%55 = OpFunction %26 None %56
%54 = OpLabel
OpBranch %57
%57 = OpLabel
%58 = OpSelect %8 %9 %7 %11
%60 = OpCompositeConstruct %28 %9 %9 %9 %9
%59 = OpSelect %26 %60 %40 %41
%61 = OpCompositeConstruct %28 %12 %12 %12 %12
%62 = OpSelect %26 %61 %41 %40
%63 = OpExtInst %26 %1 FMix %41 %40 %42
%65 = OpCompositeConstruct %26 %13 %13 %13 %13
%64 = OpExtInst %26 %1 FMix %41 %40 %65
%66 = OpCompositeExtract %8 %43 0
%67 = OpBitcast %4 %66
%68 = OpBitcast %26 %43
%69 = OpConvertFToS %27 %41
%70 = OpCompositeConstruct %27 %58 %58 %58 %58
%71 = OpIAdd %27 %70 %69
%72 = OpConvertSToF %26 %71
%73 = OpFAdd %26 %72 %59
%74 = OpFAdd %26 %73 %63
%75 = OpFAdd %26 %74 %64
%76 = OpCompositeConstruct %26 %67 %67 %67 %67
%77 = OpFAdd %26 %75 %76
%78 = OpFAdd %26 %77 %68
OpReturnValue %78
OpFunctionEnd
%81 = OpFunction %27 None %57
%80 = OpLabel
OpBranch %82
%82 = OpLabel
%83 = OpCompositeConstruct %32 %14 %14
%84 = OpCompositeConstruct %32 %3 %3
%85 = OpFAdd %32 %84 %83
%86 = OpCompositeConstruct %32 %15 %15
%87 = OpFSub %32 %85 %86
%88 = OpCompositeConstruct %32 %16 %16
%89 = OpFDiv %32 %87 %88
%90 = OpCompositeConstruct %28 %17 %17 %17 %17
%91 = OpCompositeConstruct %28 %18 %18 %18 %18
%92 = OpSMod %28 %90 %91
%93 = OpVectorShuffle %27 %89 %89 0 1 0 1
%94 = OpConvertSToF %27 %92
%95 = OpFAdd %27 %93 %94
OpReturnValue %95
%80 = OpFunction %26 None %56
%79 = OpLabel
OpBranch %81
%81 = OpLabel
%82 = OpCompositeConstruct %31 %14 %14
%83 = OpCompositeConstruct %31 %3 %3
%84 = OpFAdd %31 %83 %82
%85 = OpCompositeConstruct %31 %15 %15
%86 = OpFSub %31 %84 %85
%87 = OpCompositeConstruct %31 %16 %16
%88 = OpFDiv %31 %86 %87
%89 = OpCompositeConstruct %27 %17 %17 %17 %17
%90 = OpCompositeConstruct %27 %18 %18 %18 %18
%91 = OpSMod %27 %89 %90
%92 = OpVectorShuffle %26 %88 %88 0 1 0 1
%93 = OpConvertSToF %26 %91
%94 = OpFAdd %26 %92 %93
OpReturnValue %94
OpFunctionEnd
%98 = OpFunction %30 None %99
%97 = OpFunctionParameter %30
%96 = OpLabel
OpBranch %100
%100 = OpLabel
%102 = OpCompositeConstruct %30 %5 %5 %5
%103 = OpFUnordNotEqual %101 %97 %102
%104 = OpCompositeConstruct %30 %5 %5 %5
%105 = OpCompositeConstruct %30 %3 %3 %3
%106 = OpSelect %30 %103 %105 %104
OpReturnValue %106
%97 = OpFunction %29 None %98
%96 = OpFunctionParameter %29
%95 = OpLabel
OpBranch %99
%99 = OpLabel
%101 = OpCompositeConstruct %29 %5 %5 %5
%102 = OpFUnordNotEqual %100 %96 %101
%103 = OpCompositeConstruct %29 %5 %5 %5
%104 = OpCompositeConstruct %29 %3 %3 %3
%105 = OpSelect %29 %102 %104 %103
OpReturnValue %105
OpFunctionEnd
%129 = OpFunction %4 None %130
%128 = OpLabel
%124 = OpVariable %118 Function
%119 = OpVariable %120 Function %47
%113 = OpVariable %114 Function %19
%107 = OpVariable %108 Function
%125 = OpVariable %120 Function
%121 = OpVariable %122 Function %50
%115 = OpVariable %116 Function %5
%109 = OpVariable %110 Function %12
%126 = OpVariable %127 Function
%123 = OpVariable %108 Function %49
%117 = OpVariable %118 Function %45
%111 = OpVariable %112 Function %11
OpBranch %131
%131 = OpLabel
%132 = OpCompositeConstruct %27 %3 %3 %3 %3
%133 = OpCompositeConstruct %31 %132 %7
OpStore %107 %133
%134 = OpCompositeConstruct %32 %3 %5
%135 = OpCompositeConstruct %32 %5 %3
%136 = OpCompositeConstruct %33 %134 %135
%137 = OpCompositeConstruct %27 %3 %5 %5 %5
%138 = OpCompositeConstruct %27 %5 %3 %5 %5
%139 = OpCompositeConstruct %27 %5 %5 %3 %5
%140 = OpCompositeConstruct %27 %5 %5 %5 %3
%141 = OpCompositeConstruct %34 %137 %138 %139 %140
%142 = OpCompositeConstruct %35 %19 %19
OpStore %124 %142
%143 = OpCompositeConstruct %32 %5 %5
%144 = OpCompositeConstruct %32 %5 %5
%145 = OpCompositeConstruct %33 %143 %144
%128 = OpFunction %4 None %129
%127 = OpLabel
%123 = OpVariable %117 Function
%118 = OpVariable %119 Function %46
%112 = OpVariable %113 Function %19
%106 = OpVariable %107 Function
%124 = OpVariable %119 Function
%120 = OpVariable %121 Function %49
%114 = OpVariable %115 Function %5
%108 = OpVariable %109 Function %12
%125 = OpVariable %126 Function
%122 = OpVariable %107 Function %48
%116 = OpVariable %117 Function %44
%110 = OpVariable %111 Function %11
OpBranch %130
%130 = OpLabel
%131 = OpCompositeConstruct %26 %3 %3 %3 %3
%132 = OpCompositeConstruct %30 %131 %7
OpStore %106 %132
%133 = OpCompositeConstruct %31 %3 %5
%134 = OpCompositeConstruct %31 %5 %3
%135 = OpCompositeConstruct %32 %133 %134
%136 = OpCompositeConstruct %26 %3 %5 %5 %5
%137 = OpCompositeConstruct %26 %5 %3 %5 %5
%138 = OpCompositeConstruct %26 %5 %5 %3 %5
%139 = OpCompositeConstruct %26 %5 %5 %5 %3
%140 = OpCompositeConstruct %33 %136 %137 %138 %139
%141 = OpCompositeConstruct %34 %19 %19
OpStore %123 %141
%142 = OpCompositeConstruct %31 %5 %5
%143 = OpCompositeConstruct %31 %5 %5
%144 = OpCompositeConstruct %32 %142 %143
OpStore %124 %144
%145 = OpCompositeConstruct %36 %11 %7 %18 %21
OpStore %125 %145
%146 = OpCompositeConstruct %37 %11 %7 %18 %21
OpStore %126 %146
%149 = OpAccessChain %148 %107 %19 %19
%150 = OpLoad %4 %149
OpReturnValue %150
%148 = OpAccessChain %147 %106 %19 %19
%149 = OpLoad %4 %148
OpReturnValue %149
OpFunctionEnd
%152 = OpFunction %2 None %153
%151 = OpLabel
OpBranch %154
%154 = OpLabel
%155 = OpLogicalNot %10 %9
%157 = OpCompositeConstruct %156 %9 %9
%158 = OpLogicalNot %156 %157
%159 = OpLogicalOr %10 %9 %12
%160 = OpLogicalAnd %10 %9 %12
%161 = OpLogicalOr %10 %9 %12
%162 = OpCompositeConstruct %101 %9 %9 %9
%163 = OpCompositeConstruct %101 %12 %12 %12
%164 = OpLogicalOr %101 %162 %163
%165 = OpLogicalAnd %10 %9 %12
%166 = OpCompositeConstruct %29 %9 %9 %9 %9
%167 = OpCompositeConstruct %29 %12 %12 %12 %12
%168 = OpLogicalAnd %29 %166 %167
%151 = OpFunction %2 None %152
%150 = OpLabel
OpBranch %153
%153 = OpLabel
%154 = OpLogicalNot %10 %9
%156 = OpCompositeConstruct %155 %9 %9
%157 = OpLogicalNot %155 %156
%158 = OpLogicalOr %10 %9 %12
%159 = OpLogicalAnd %10 %9 %12
%160 = OpLogicalOr %10 %9 %12
%161 = OpCompositeConstruct %100 %9 %9 %9
%162 = OpCompositeConstruct %100 %12 %12 %12
%163 = OpLogicalOr %100 %161 %162
%164 = OpLogicalAnd %10 %9 %12
%165 = OpCompositeConstruct %28 %9 %9 %9 %9
%166 = OpCompositeConstruct %28 %12 %12 %12 %12
%167 = OpLogicalAnd %28 %165 %166
OpReturn
OpFunctionEnd
%170 = OpFunction %2 None %153
%169 = OpLabel
OpBranch %171
%171 = OpLabel
%173 = OpCompositeConstruct %172 %7 %7
%174 = OpSNegate %172 %173
%175 = OpCompositeConstruct %32 %3 %3
%176 = OpFNegate %32 %175
%177 = OpIAdd %8 %18 %7
%178 = OpIAdd %20 %25 %26
%179 = OpFAdd %4 %14 %3
%180 = OpCompositeConstruct %172 %18 %18
%181 = OpCompositeConstruct %172 %7 %7
%182 = OpIAdd %172 %180 %181
%184 = OpCompositeConstruct %183 %25 %25 %25
%185 = OpCompositeConstruct %183 %26 %26 %26
%186 = OpIAdd %183 %184 %185
%187 = OpCompositeConstruct %27 %14 %14 %14 %14
%188 = OpCompositeConstruct %27 %3 %3 %3 %3
%189 = OpFAdd %27 %187 %188
%190 = OpISub %8 %18 %7
%191 = OpISub %20 %25 %26
%192 = OpFSub %4 %14 %3
%193 = OpCompositeConstruct %172 %18 %18
%194 = OpCompositeConstruct %172 %7 %7
%195 = OpISub %172 %193 %194
%196 = OpCompositeConstruct %183 %25 %25 %25
%197 = OpCompositeConstruct %183 %26 %26 %26
%198 = OpISub %183 %196 %197
%199 = OpCompositeConstruct %27 %14 %14 %14 %14
%200 = OpCompositeConstruct %27 %3 %3 %3 %3
%201 = OpFSub %27 %199 %200
%202 = OpIMul %8 %18 %7
%203 = OpIMul %20 %25 %26
%204 = OpFMul %4 %14 %3
%205 = OpCompositeConstruct %172 %18 %18
%206 = OpCompositeConstruct %172 %7 %7
%207 = OpIMul %172 %205 %206
%208 = OpCompositeConstruct %183 %25 %25 %25
%209 = OpCompositeConstruct %183 %26 %26 %26
%210 = OpIMul %183 %208 %209
%211 = OpCompositeConstruct %27 %14 %14 %14 %14
%212 = OpCompositeConstruct %27 %3 %3 %3 %3
%213 = OpFMul %27 %211 %212
%214 = OpSDiv %8 %18 %7
%215 = OpUDiv %20 %25 %26
%216 = OpFDiv %4 %14 %3
%217 = OpCompositeConstruct %172 %18 %18
%218 = OpCompositeConstruct %172 %7 %7
%219 = OpSDiv %172 %217 %218
%220 = OpCompositeConstruct %183 %25 %25 %25
%221 = OpCompositeConstruct %183 %26 %26 %26
%222 = OpUDiv %183 %220 %221
%223 = OpCompositeConstruct %27 %14 %14 %14 %14
%224 = OpCompositeConstruct %27 %3 %3 %3 %3
%225 = OpFDiv %27 %223 %224
%226 = OpSMod %8 %18 %7
%227 = OpUMod %20 %25 %26
%228 = OpFRem %4 %14 %3
%229 = OpCompositeConstruct %172 %18 %18
%230 = OpCompositeConstruct %172 %7 %7
%231 = OpSMod %172 %229 %230
%232 = OpCompositeConstruct %183 %25 %25 %25
%233 = OpCompositeConstruct %183 %26 %26 %26
%234 = OpUMod %183 %232 %233
%235 = OpCompositeConstruct %27 %14 %14 %14 %14
%236 = OpCompositeConstruct %27 %3 %3 %3 %3
%237 = OpFRem %27 %235 %236
%238 = OpCompositeConstruct %172 %18 %18
%239 = OpCompositeConstruct %172 %7 %7
%240 = OpIAdd %172 %238 %239
%241 = OpCompositeConstruct %172 %7 %7
%242 = OpCompositeConstruct %172 %18 %18
%243 = OpIAdd %172 %242 %241
%244 = OpCompositeConstruct %172 %18 %18
%245 = OpCompositeConstruct %172 %7 %7
%246 = OpISub %172 %244 %245
%247 = OpCompositeConstruct %172 %7 %7
%248 = OpCompositeConstruct %172 %18 %18
%249 = OpISub %172 %248 %247
%250 = OpCompositeConstruct %172 %18 %18
%251 = OpVectorTimesScalar %172 %250 %7
%252 = OpCompositeConstruct %172 %7 %7
%253 = OpVectorTimesScalar %172 %252 %18
%254 = OpCompositeConstruct %172 %18 %18
%255 = OpCompositeConstruct %172 %7 %7
%256 = OpSDiv %172 %254 %255
%257 = OpCompositeConstruct %172 %7 %7
%258 = OpCompositeConstruct %172 %18 %18
%259 = OpSDiv %172 %258 %257
%260 = OpCompositeConstruct %172 %18 %18
%261 = OpCompositeConstruct %172 %7 %7
%262 = OpSMod %172 %260 %261
%263 = OpCompositeConstruct %172 %7 %7
%264 = OpCompositeConstruct %172 %18 %18
%265 = OpSMod %172 %264 %263
%267 = OpCompositeExtract %30 %52 0
%268 = OpCompositeExtract %30 %52 0
%269 = OpFAdd %30 %267 %268
%270 = OpCompositeExtract %30 %52 1
%271 = OpCompositeExtract %30 %52 1
%272 = OpFAdd %30 %270 %271
%273 = OpCompositeExtract %30 %52 2
%274 = OpCompositeExtract %30 %52 2
%275 = OpFAdd %30 %273 %274
%266 = OpCompositeConstruct %38 %269 %272 %275
%277 = OpCompositeExtract %30 %52 0
%278 = OpCompositeExtract %30 %52 0
%279 = OpFSub %30 %277 %278
%280 = OpCompositeExtract %30 %52 1
%281 = OpCompositeExtract %30 %52 1
%282 = OpFSub %30 %280 %281
%283 = OpCompositeExtract %30 %52 2
%284 = OpCompositeExtract %30 %52 2
%285 = OpFSub %30 %283 %284
%276 = OpCompositeConstruct %38 %279 %282 %285
%286 = OpMatrixTimesScalar %38 %52 %3
%287 = OpMatrixTimesScalar %38 %52 %14
%288 = OpCompositeConstruct %27 %3 %3 %3 %3
%289 = OpMatrixTimesVector %30 %53 %288
%290 = OpCompositeConstruct %30 %14 %14 %14
%291 = OpVectorTimesMatrix %27 %290 %53
%292 = OpMatrixTimesMatrix %38 %53 %54
%169 = OpFunction %2 None %152
%168 = OpLabel
OpBranch %170
%170 = OpLabel
%172 = OpCompositeConstruct %171 %7 %7
%173 = OpSNegate %171 %172
%174 = OpCompositeConstruct %31 %3 %3
%175 = OpFNegate %31 %174
%176 = OpIAdd %8 %18 %7
%177 = OpIAdd %20 %24 %25
%178 = OpFAdd %4 %14 %3
%179 = OpCompositeConstruct %171 %18 %18
%180 = OpCompositeConstruct %171 %7 %7
%181 = OpIAdd %171 %179 %180
%183 = OpCompositeConstruct %182 %24 %24 %24
%184 = OpCompositeConstruct %182 %25 %25 %25
%185 = OpIAdd %182 %183 %184
%186 = OpCompositeConstruct %26 %14 %14 %14 %14
%187 = OpCompositeConstruct %26 %3 %3 %3 %3
%188 = OpFAdd %26 %186 %187
%189 = OpISub %8 %18 %7
%190 = OpISub %20 %24 %25
%191 = OpFSub %4 %14 %3
%192 = OpCompositeConstruct %171 %18 %18
%193 = OpCompositeConstruct %171 %7 %7
%194 = OpISub %171 %192 %193
%195 = OpCompositeConstruct %182 %24 %24 %24
%196 = OpCompositeConstruct %182 %25 %25 %25
%197 = OpISub %182 %195 %196
%198 = OpCompositeConstruct %26 %14 %14 %14 %14
%199 = OpCompositeConstruct %26 %3 %3 %3 %3
%200 = OpFSub %26 %198 %199
%201 = OpIMul %8 %18 %7
%202 = OpIMul %20 %24 %25
%203 = OpFMul %4 %14 %3
%204 = OpCompositeConstruct %171 %18 %18
%205 = OpCompositeConstruct %171 %7 %7
%206 = OpIMul %171 %204 %205
%207 = OpCompositeConstruct %182 %24 %24 %24
%208 = OpCompositeConstruct %182 %25 %25 %25
%209 = OpIMul %182 %207 %208
%210 = OpCompositeConstruct %26 %14 %14 %14 %14
%211 = OpCompositeConstruct %26 %3 %3 %3 %3
%212 = OpFMul %26 %210 %211
%213 = OpSDiv %8 %18 %7
%214 = OpUDiv %20 %24 %25
%215 = OpFDiv %4 %14 %3
%216 = OpCompositeConstruct %171 %18 %18
%217 = OpCompositeConstruct %171 %7 %7
%218 = OpSDiv %171 %216 %217
%219 = OpCompositeConstruct %182 %24 %24 %24
%220 = OpCompositeConstruct %182 %25 %25 %25
%221 = OpUDiv %182 %219 %220
%222 = OpCompositeConstruct %26 %14 %14 %14 %14
%223 = OpCompositeConstruct %26 %3 %3 %3 %3
%224 = OpFDiv %26 %222 %223
%225 = OpSMod %8 %18 %7
%226 = OpUMod %20 %24 %25
%227 = OpFRem %4 %14 %3
%228 = OpCompositeConstruct %171 %18 %18
%229 = OpCompositeConstruct %171 %7 %7
%230 = OpSMod %171 %228 %229
%231 = OpCompositeConstruct %182 %24 %24 %24
%232 = OpCompositeConstruct %182 %25 %25 %25
%233 = OpUMod %182 %231 %232
%234 = OpCompositeConstruct %26 %14 %14 %14 %14
%235 = OpCompositeConstruct %26 %3 %3 %3 %3
%236 = OpFRem %26 %234 %235
%237 = OpCompositeConstruct %171 %18 %18
%238 = OpCompositeConstruct %171 %7 %7
%239 = OpIAdd %171 %237 %238
%240 = OpCompositeConstruct %171 %7 %7
%241 = OpCompositeConstruct %171 %18 %18
%242 = OpIAdd %171 %241 %240
%243 = OpCompositeConstruct %171 %18 %18
%244 = OpCompositeConstruct %171 %7 %7
%245 = OpISub %171 %243 %244
%246 = OpCompositeConstruct %171 %7 %7
%247 = OpCompositeConstruct %171 %18 %18
%248 = OpISub %171 %247 %246
%249 = OpCompositeConstruct %171 %18 %18
%250 = OpVectorTimesScalar %171 %249 %7
%251 = OpCompositeConstruct %171 %7 %7
%252 = OpVectorTimesScalar %171 %251 %18
%253 = OpCompositeConstruct %171 %18 %18
%254 = OpCompositeConstruct %171 %7 %7
%255 = OpSDiv %171 %253 %254
%256 = OpCompositeConstruct %171 %7 %7
%257 = OpCompositeConstruct %171 %18 %18
%258 = OpSDiv %171 %257 %256
%259 = OpCompositeConstruct %171 %18 %18
%260 = OpCompositeConstruct %171 %7 %7
%261 = OpSMod %171 %259 %260
%262 = OpCompositeConstruct %171 %7 %7
%263 = OpCompositeConstruct %171 %18 %18
%264 = OpSMod %171 %263 %262
%266 = OpCompositeExtract %29 %51 0
%267 = OpCompositeExtract %29 %51 0
%268 = OpFAdd %29 %266 %267
%269 = OpCompositeExtract %29 %51 1
%270 = OpCompositeExtract %29 %51 1
%271 = OpFAdd %29 %269 %270
%272 = OpCompositeExtract %29 %51 2
%273 = OpCompositeExtract %29 %51 2
%274 = OpFAdd %29 %272 %273
%265 = OpCompositeConstruct %37 %268 %271 %274
%276 = OpCompositeExtract %29 %51 0
%277 = OpCompositeExtract %29 %51 0
%278 = OpFSub %29 %276 %277
%279 = OpCompositeExtract %29 %51 1
%280 = OpCompositeExtract %29 %51 1
%281 = OpFSub %29 %279 %280
%282 = OpCompositeExtract %29 %51 2
%283 = OpCompositeExtract %29 %51 2
%284 = OpFSub %29 %282 %283
%275 = OpCompositeConstruct %37 %278 %281 %284
%285 = OpMatrixTimesScalar %37 %51 %3
%286 = OpMatrixTimesScalar %37 %51 %14
%287 = OpCompositeConstruct %26 %3 %3 %3 %3
%288 = OpMatrixTimesVector %29 %52 %287
%289 = OpCompositeConstruct %29 %14 %14 %14
%290 = OpVectorTimesMatrix %26 %289 %52
%291 = OpMatrixTimesMatrix %37 %52 %53
OpReturn
OpFunctionEnd
%294 = OpFunction %2 None %153
%293 = OpLabel
OpBranch %295
%295 = OpLabel
%296 = OpNot %8 %7
%297 = OpNot %20 %26
%298 = OpCompositeConstruct %172 %7 %7
%299 = OpNot %172 %298
%300 = OpCompositeConstruct %183 %26 %26 %26
%301 = OpNot %183 %300
%302 = OpBitwiseOr %8 %18 %7
%303 = OpBitwiseOr %20 %25 %26
%304 = OpCompositeConstruct %172 %18 %18
%305 = OpCompositeConstruct %172 %7 %7
%306 = OpBitwiseOr %172 %304 %305
%307 = OpCompositeConstruct %183 %25 %25 %25
%308 = OpCompositeConstruct %183 %26 %26 %26
%309 = OpBitwiseOr %183 %307 %308
%310 = OpBitwiseAnd %8 %18 %7
%311 = OpBitwiseAnd %20 %25 %26
%312 = OpCompositeConstruct %172 %18 %18
%313 = OpCompositeConstruct %172 %7 %7
%314 = OpBitwiseAnd %172 %312 %313
%315 = OpCompositeConstruct %183 %25 %25 %25
%316 = OpCompositeConstruct %183 %26 %26 %26
%317 = OpBitwiseAnd %183 %315 %316
%318 = OpBitwiseXor %8 %18 %7
%319 = OpBitwiseXor %20 %25 %26
%320 = OpCompositeConstruct %172 %18 %18
%321 = OpCompositeConstruct %172 %7 %7
%322 = OpBitwiseXor %172 %320 %321
%323 = OpCompositeConstruct %183 %25 %25 %25
%324 = OpCompositeConstruct %183 %26 %26 %26
%325 = OpBitwiseXor %183 %323 %324
%326 = OpShiftLeftLogical %8 %18 %26
%327 = OpShiftLeftLogical %20 %25 %26
%328 = OpCompositeConstruct %172 %18 %18
%329 = OpCompositeConstruct %35 %26 %26
%330 = OpShiftLeftLogical %172 %328 %329
%331 = OpCompositeConstruct %183 %25 %25 %25
%332 = OpCompositeConstruct %183 %26 %26 %26
%333 = OpShiftLeftLogical %183 %331 %332
%334 = OpShiftRightArithmetic %8 %18 %26
%335 = OpShiftRightLogical %20 %25 %26
%336 = OpCompositeConstruct %172 %18 %18
%337 = OpCompositeConstruct %35 %26 %26
%338 = OpShiftRightArithmetic %172 %336 %337
%339 = OpCompositeConstruct %183 %25 %25 %25
%340 = OpCompositeConstruct %183 %26 %26 %26
%341 = OpShiftRightLogical %183 %339 %340
%293 = OpFunction %2 None %152
%292 = OpLabel
OpBranch %294
%294 = OpLabel
%295 = OpNot %8 %7
%296 = OpNot %20 %25
%297 = OpCompositeConstruct %171 %7 %7
%298 = OpNot %171 %297
%299 = OpCompositeConstruct %182 %25 %25 %25
%300 = OpNot %182 %299
%301 = OpBitwiseOr %8 %18 %7
%302 = OpBitwiseOr %20 %24 %25
%303 = OpCompositeConstruct %171 %18 %18
%304 = OpCompositeConstruct %171 %7 %7
%305 = OpBitwiseOr %171 %303 %304
%306 = OpCompositeConstruct %182 %24 %24 %24
%307 = OpCompositeConstruct %182 %25 %25 %25
%308 = OpBitwiseOr %182 %306 %307
%309 = OpBitwiseAnd %8 %18 %7
%310 = OpBitwiseAnd %20 %24 %25
%311 = OpCompositeConstruct %171 %18 %18
%312 = OpCompositeConstruct %171 %7 %7
%313 = OpBitwiseAnd %171 %311 %312
%314 = OpCompositeConstruct %182 %24 %24 %24
%315 = OpCompositeConstruct %182 %25 %25 %25
%316 = OpBitwiseAnd %182 %314 %315
%317 = OpBitwiseXor %8 %18 %7
%318 = OpBitwiseXor %20 %24 %25
%319 = OpCompositeConstruct %171 %18 %18
%320 = OpCompositeConstruct %171 %7 %7
%321 = OpBitwiseXor %171 %319 %320
%322 = OpCompositeConstruct %182 %24 %24 %24
%323 = OpCompositeConstruct %182 %25 %25 %25
%324 = OpBitwiseXor %182 %322 %323
%325 = OpShiftLeftLogical %8 %18 %25
%326 = OpShiftLeftLogical %20 %24 %25
%327 = OpCompositeConstruct %171 %18 %18
%328 = OpCompositeConstruct %34 %25 %25
%329 = OpShiftLeftLogical %171 %327 %328
%330 = OpCompositeConstruct %182 %24 %24 %24
%331 = OpCompositeConstruct %182 %25 %25 %25
%332 = OpShiftLeftLogical %182 %330 %331
%333 = OpShiftRightArithmetic %8 %18 %25
%334 = OpShiftRightLogical %20 %24 %25
%335 = OpCompositeConstruct %171 %18 %18
%336 = OpCompositeConstruct %34 %25 %25
%337 = OpShiftRightArithmetic %171 %335 %336
%338 = OpCompositeConstruct %182 %24 %24 %24
%339 = OpCompositeConstruct %182 %25 %25 %25
%340 = OpShiftRightLogical %182 %338 %339
OpReturn
OpFunctionEnd
%343 = OpFunction %2 None %153
%342 = OpLabel
OpBranch %344
%344 = OpLabel
%345 = OpIEqual %10 %18 %7
%346 = OpIEqual %10 %25 %26
%347 = OpFOrdEqual %10 %14 %3
%348 = OpCompositeConstruct %172 %18 %18
%349 = OpCompositeConstruct %172 %7 %7
%350 = OpIEqual %156 %348 %349
%351 = OpCompositeConstruct %183 %25 %25 %25
%352 = OpCompositeConstruct %183 %26 %26 %26
%353 = OpIEqual %101 %351 %352
%354 = OpCompositeConstruct %27 %14 %14 %14 %14
%355 = OpCompositeConstruct %27 %3 %3 %3 %3
%356 = OpFOrdEqual %29 %354 %355
%357 = OpINotEqual %10 %18 %7
%358 = OpINotEqual %10 %25 %26
%359 = OpFOrdNotEqual %10 %14 %3
%360 = OpCompositeConstruct %172 %18 %18
%361 = OpCompositeConstruct %172 %7 %7
%362 = OpINotEqual %156 %360 %361
%363 = OpCompositeConstruct %183 %25 %25 %25
%364 = OpCompositeConstruct %183 %26 %26 %26
%365 = OpINotEqual %101 %363 %364
%366 = OpCompositeConstruct %27 %14 %14 %14 %14
%367 = OpCompositeConstruct %27 %3 %3 %3 %3
%368 = OpFOrdNotEqual %29 %366 %367
%369 = OpSLessThan %10 %18 %7
%370 = OpULessThan %10 %25 %26
%371 = OpFOrdLessThan %10 %14 %3
%372 = OpCompositeConstruct %172 %18 %18
%373 = OpCompositeConstruct %172 %7 %7
%374 = OpSLessThan %156 %372 %373
%375 = OpCompositeConstruct %183 %25 %25 %25
%376 = OpCompositeConstruct %183 %26 %26 %26
%377 = OpULessThan %101 %375 %376
%378 = OpCompositeConstruct %27 %14 %14 %14 %14
%379 = OpCompositeConstruct %27 %3 %3 %3 %3
%380 = OpFOrdLessThan %29 %378 %379
%381 = OpSLessThanEqual %10 %18 %7
%382 = OpULessThanEqual %10 %25 %26
%383 = OpFOrdLessThanEqual %10 %14 %3
%384 = OpCompositeConstruct %172 %18 %18
%385 = OpCompositeConstruct %172 %7 %7
%386 = OpSLessThanEqual %156 %384 %385
%387 = OpCompositeConstruct %183 %25 %25 %25
%388 = OpCompositeConstruct %183 %26 %26 %26
%389 = OpULessThanEqual %101 %387 %388
%390 = OpCompositeConstruct %27 %14 %14 %14 %14
%391 = OpCompositeConstruct %27 %3 %3 %3 %3
%392 = OpFOrdLessThanEqual %29 %390 %391
%393 = OpSGreaterThan %10 %18 %7
%394 = OpUGreaterThan %10 %25 %26
%395 = OpFOrdGreaterThan %10 %14 %3
%396 = OpCompositeConstruct %172 %18 %18
%397 = OpCompositeConstruct %172 %7 %7
%398 = OpSGreaterThan %156 %396 %397
%399 = OpCompositeConstruct %183 %25 %25 %25
%400 = OpCompositeConstruct %183 %26 %26 %26
%401 = OpUGreaterThan %101 %399 %400
%402 = OpCompositeConstruct %27 %14 %14 %14 %14
%403 = OpCompositeConstruct %27 %3 %3 %3 %3
%404 = OpFOrdGreaterThan %29 %402 %403
%405 = OpSGreaterThanEqual %10 %18 %7
%406 = OpUGreaterThanEqual %10 %25 %26
%407 = OpFOrdGreaterThanEqual %10 %14 %3
%408 = OpCompositeConstruct %172 %18 %18
%409 = OpCompositeConstruct %172 %7 %7
%410 = OpSGreaterThanEqual %156 %408 %409
%411 = OpCompositeConstruct %183 %25 %25 %25
%412 = OpCompositeConstruct %183 %26 %26 %26
%413 = OpUGreaterThanEqual %101 %411 %412
%414 = OpCompositeConstruct %27 %14 %14 %14 %14
%415 = OpCompositeConstruct %27 %3 %3 %3 %3
%416 = OpFOrdGreaterThanEqual %29 %414 %415
%342 = OpFunction %2 None %152
%341 = OpLabel
OpBranch %343
%343 = OpLabel
%344 = OpIEqual %10 %18 %7
%345 = OpIEqual %10 %24 %25
%346 = OpFOrdEqual %10 %14 %3
%347 = OpCompositeConstruct %171 %18 %18
%348 = OpCompositeConstruct %171 %7 %7
%349 = OpIEqual %155 %347 %348
%350 = OpCompositeConstruct %182 %24 %24 %24
%351 = OpCompositeConstruct %182 %25 %25 %25
%352 = OpIEqual %100 %350 %351
%353 = OpCompositeConstruct %26 %14 %14 %14 %14
%354 = OpCompositeConstruct %26 %3 %3 %3 %3
%355 = OpFOrdEqual %28 %353 %354
%356 = OpINotEqual %10 %18 %7
%357 = OpINotEqual %10 %24 %25
%358 = OpFOrdNotEqual %10 %14 %3
%359 = OpCompositeConstruct %171 %18 %18
%360 = OpCompositeConstruct %171 %7 %7
%361 = OpINotEqual %155 %359 %360
%362 = OpCompositeConstruct %182 %24 %24 %24
%363 = OpCompositeConstruct %182 %25 %25 %25
%364 = OpINotEqual %100 %362 %363
%365 = OpCompositeConstruct %26 %14 %14 %14 %14
%366 = OpCompositeConstruct %26 %3 %3 %3 %3
%367 = OpFOrdNotEqual %28 %365 %366
%368 = OpSLessThan %10 %18 %7
%369 = OpULessThan %10 %24 %25
%370 = OpFOrdLessThan %10 %14 %3
%371 = OpCompositeConstruct %171 %18 %18
%372 = OpCompositeConstruct %171 %7 %7
%373 = OpSLessThan %155 %371 %372
%374 = OpCompositeConstruct %182 %24 %24 %24
%375 = OpCompositeConstruct %182 %25 %25 %25
%376 = OpULessThan %100 %374 %375
%377 = OpCompositeConstruct %26 %14 %14 %14 %14
%378 = OpCompositeConstruct %26 %3 %3 %3 %3
%379 = OpFOrdLessThan %28 %377 %378
%380 = OpSLessThanEqual %10 %18 %7
%381 = OpULessThanEqual %10 %24 %25
%382 = OpFOrdLessThanEqual %10 %14 %3
%383 = OpCompositeConstruct %171 %18 %18
%384 = OpCompositeConstruct %171 %7 %7
%385 = OpSLessThanEqual %155 %383 %384
%386 = OpCompositeConstruct %182 %24 %24 %24
%387 = OpCompositeConstruct %182 %25 %25 %25
%388 = OpULessThanEqual %100 %386 %387
%389 = OpCompositeConstruct %26 %14 %14 %14 %14
%390 = OpCompositeConstruct %26 %3 %3 %3 %3
%391 = OpFOrdLessThanEqual %28 %389 %390
%392 = OpSGreaterThan %10 %18 %7
%393 = OpUGreaterThan %10 %24 %25
%394 = OpFOrdGreaterThan %10 %14 %3
%395 = OpCompositeConstruct %171 %18 %18
%396 = OpCompositeConstruct %171 %7 %7
%397 = OpSGreaterThan %155 %395 %396
%398 = OpCompositeConstruct %182 %24 %24 %24
%399 = OpCompositeConstruct %182 %25 %25 %25
%400 = OpUGreaterThan %100 %398 %399
%401 = OpCompositeConstruct %26 %14 %14 %14 %14
%402 = OpCompositeConstruct %26 %3 %3 %3 %3
%403 = OpFOrdGreaterThan %28 %401 %402
%404 = OpSGreaterThanEqual %10 %18 %7
%405 = OpUGreaterThanEqual %10 %24 %25
%406 = OpFOrdGreaterThanEqual %10 %14 %3
%407 = OpCompositeConstruct %171 %18 %18
%408 = OpCompositeConstruct %171 %7 %7
%409 = OpSGreaterThanEqual %155 %407 %408
%410 = OpCompositeConstruct %182 %24 %24 %24
%411 = OpCompositeConstruct %182 %25 %25 %25
%412 = OpUGreaterThanEqual %100 %410 %411
%413 = OpCompositeConstruct %26 %14 %14 %14 %14
%414 = OpCompositeConstruct %26 %3 %3 %3 %3
%415 = OpFOrdGreaterThanEqual %28 %413 %414
OpReturn
OpFunctionEnd
%419 = OpFunction %2 None %153
%418 = OpLabel
%417 = OpVariable %112 Function %7
OpBranch %420
%420 = OpLabel
%421 = OpLoad %8 %417
%422 = OpIAdd %8 %421 %7
OpStore %417 %422
%423 = OpLoad %8 %417
%424 = OpISub %8 %423 %7
OpStore %417 %424
%425 = OpLoad %8 %417
%426 = OpLoad %8 %417
%427 = OpIMul %8 %425 %426
OpStore %417 %427
%428 = OpLoad %8 %417
%429 = OpLoad %8 %417
%430 = OpSDiv %8 %428 %429
OpStore %417 %430
%431 = OpLoad %8 %417
%432 = OpSMod %8 %431 %7
OpStore %417 %432
%433 = OpLoad %8 %417
%434 = OpBitwiseAnd %8 %433 %11
OpStore %417 %434
%435 = OpLoad %8 %417
%436 = OpBitwiseOr %8 %435 %11
OpStore %417 %436
%437 = OpLoad %8 %417
%438 = OpBitwiseXor %8 %437 %11
OpStore %417 %438
%439 = OpLoad %8 %417
%440 = OpShiftLeftLogical %8 %439 %25
OpStore %417 %440
%441 = OpLoad %8 %417
%442 = OpShiftRightArithmetic %8 %441 %26
OpStore %417 %442
%443 = OpLoad %8 %417
%444 = OpIAdd %8 %443 %7
OpStore %417 %444
%445 = OpLoad %8 %417
%446 = OpISub %8 %445 %7
OpStore %417 %446
%418 = OpFunction %2 None %152
%417 = OpLabel
%416 = OpVariable %111 Function %7
OpBranch %419
%419 = OpLabel
%420 = OpLoad %8 %416
%421 = OpIAdd %8 %420 %7
OpStore %416 %421
%422 = OpLoad %8 %416
%423 = OpISub %8 %422 %7
OpStore %416 %423
%424 = OpLoad %8 %416
%425 = OpLoad %8 %416
%426 = OpIMul %8 %424 %425
OpStore %416 %426
%427 = OpLoad %8 %416
%428 = OpLoad %8 %416
%429 = OpSDiv %8 %427 %428
OpStore %416 %429
%430 = OpLoad %8 %416
%431 = OpSMod %8 %430 %7
OpStore %416 %431
%432 = OpLoad %8 %416
%433 = OpBitwiseAnd %8 %432 %11
OpStore %416 %433
%434 = OpLoad %8 %416
%435 = OpBitwiseOr %8 %434 %11
OpStore %416 %435
%436 = OpLoad %8 %416
%437 = OpBitwiseXor %8 %436 %11
OpStore %416 %437
%438 = OpLoad %8 %416
%439 = OpShiftLeftLogical %8 %438 %24
OpStore %416 %439
%440 = OpLoad %8 %416
%441 = OpShiftRightArithmetic %8 %440 %25
OpStore %416 %441
%442 = OpLoad %8 %416
%443 = OpIAdd %8 %442 %7
OpStore %416 %443
%444 = OpLoad %8 %416
%445 = OpISub %8 %444 %7
OpStore %416 %445
OpReturn
OpFunctionEnd
%448 = OpFunction %2 None %153
%447 = OpLabel
OpBranch %449
%449 = OpLabel
%450 = OpFunctionCall %27 %56
%451 = OpFunctionCall %27 %81
%452 = OpVectorShuffle %30 %41 %41 0 1 2
%453 = OpFunctionCall %30 %98 %452
%454 = OpFunctionCall %4 %129
%455 = OpFunctionCall %2 %152
%456 = OpFunctionCall %2 %170
%457 = OpFunctionCall %2 %294
%458 = OpFunctionCall %2 %343
%459 = OpFunctionCall %2 %419
%447 = OpFunction %2 None %152
%446 = OpLabel
OpBranch %448
%448 = OpLabel
%449 = OpFunctionCall %26 %55
%450 = OpFunctionCall %26 %80
%451 = OpVectorShuffle %29 %40 %40 0 1 2
%452 = OpFunctionCall %29 %97 %451
%453 = OpFunctionCall %4 %128
%454 = OpFunctionCall %2 %151
%455 = OpFunctionCall %2 %169
%456 = OpFunctionCall %2 %293
%457 = OpFunctionCall %2 %342
%458 = OpFunctionCall %2 %418
OpReturn
OpFunctionEnd