1spv.int16.frag
2// Module Version 10000
3// Generated by (magic number): 80007
4// Id's are bound by 523
5
6                              Capability Shader
7                              Capability Float16
8                              Capability Float64
9                              Capability Int64
10                              Capability Int16
11                              Capability Int8
12                              Capability StorageUniform16
13                              Extension  "SPV_AMD_gpu_shader_half_float"
14                              Extension  "SPV_AMD_gpu_shader_int16"
15                              Extension  "SPV_KHR_16bit_storage"
16               1:             ExtInstImport  "GLSL.std.450"
17                              MemoryModel Logical GLSL450
18                              EntryPoint Fragment 4  "main"
19                              ExecutionMode 4 OriginUpperLeft
20                              Source GLSL 450
21                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types"
22                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float16"
23                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float32"
24                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float64"
25                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int16"
26                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int32"
27                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int64"
28                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int8"
29                              Name 4  "main"
30                              Name 6  "literal("
31                              Name 8  "typeCast16("
32                              Name 10  "operators("
33                              Name 12  "builtinFuncs("
34                              Name 16  "i16"
35                              Name 24  "Uniforms"
36                              MemberName 24(Uniforms) 0  "index"
37                              Name 26  ""
38                              Name 33  "indexable"
39                              Name 38  "u16"
40                              Name 46  "indexable"
41                              Name 51  "i32v"
42                              Name 54  "i16v"
43                              Name 59  "u16v"
44                              Name 67  "u32v"
45                              Name 74  "i64v"
46                              Name 80  "u64v"
47                              Name 94  "f16v"
48                              Name 100  "f32v"
49                              Name 106  "f64v"
50                              Name 154  "i8v"
51                              Name 163  "u8v"
52                              Name 176  "bv"
53                              Name 195  "u16v"
54                              Name 200  "i16"
55                              Name 220  "i"
56                              Name 227  "uv"
57                              Name 243  "i64"
58                              Name 281  "b"
59                              Name 343  "i16v"
60                              Name 346  "i16"
61                              Name 356  "u16v"
62                              Name 358  "u16"
63                              Name 428  "i32"
64                              Name 431  "i64"
65                              Name 434  "i16v4"
66                              Name 437  "u32"
67                              Name 438  "u16v2"
68                              Name 442  "u64"
69                              Name 445  "u16v4"
70                              Name 457  "bv"
71                              Name 518  "Block"
72                              MemberName 518(Block) 0  "i16"
73                              MemberName 518(Block) 1  "i16v2"
74                              MemberName 518(Block) 2  "i16v3"
75                              MemberName 518(Block) 3  "i16v4"
76                              MemberName 518(Block) 4  "u16"
77                              MemberName 518(Block) 5  "u16v2"
78                              MemberName 518(Block) 6  "u16v3"
79                              MemberName 518(Block) 7  "u16v4"
80                              Name 520  "block"
81                              Name 521  "si16"
82                              Name 522  "su16"
83                              MemberDecorate 24(Uniforms) 0 Offset 0
84                              Decorate 24(Uniforms) Block
85                              Decorate 26 DescriptorSet 0
86                              Decorate 26 Binding 0
87                              MemberDecorate 518(Block) 0 Offset 0
88                              MemberDecorate 518(Block) 1 Offset 4
89                              MemberDecorate 518(Block) 2 Offset 8
90                              MemberDecorate 518(Block) 3 Offset 16
91                              MemberDecorate 518(Block) 4 Offset 24
92                              MemberDecorate 518(Block) 5 Offset 28
93                              MemberDecorate 518(Block) 6 Offset 32
94                              MemberDecorate 518(Block) 7 Offset 40
95                              Decorate 518(Block) Block
96                              Decorate 520(block) DescriptorSet 0
97                              Decorate 520(block) Binding 1
98                              Decorate 521(si16) SpecId 100
99                              Decorate 522(su16) SpecId 101
100               2:             TypeVoid
101               3:             TypeFunction 2
102              14:             TypeInt 16 1
103              15:             TypePointer Function 14(int16_t)
104              17:             TypeInt 32 0
105              18:     17(int) Constant 3
106              19:             TypeArray 14(int16_t) 18
107              20: 14(int16_t) Constant 4294962927
108              21: 14(int16_t) Constant 4294967295
109              22: 14(int16_t) Constant 16384
110              23:          19 ConstantComposite 20 21 22
111    24(Uniforms):             TypeStruct 17(int)
112              25:             TypePointer Uniform 24(Uniforms)
113              26:     25(ptr) Variable Uniform
114              27:             TypeInt 32 1
115              28:     27(int) Constant 0
116              29:             TypePointer Uniform 17(int)
117              32:             TypePointer Function 19
118              36:             TypeInt 16 0
119              37:             TypePointer Function 36(int16_t)
120              39:             TypeArray 36(int16_t) 18
121              40: 36(int16_t) Constant 65535
122              41: 36(int16_t) Constant 32767
123              42:          39 ConstantComposite 40 40 41
124              45:             TypePointer Function 39
125              49:             TypeVector 27(int) 2
126              50:             TypePointer Function 49(ivec2)
127              52:             TypeVector 14(int16_t) 2
128              53:             TypePointer Function 52(i16vec2)
129              57:             TypeVector 36(int16_t) 2
130              58:             TypePointer Function 57(i16vec2)
131              61:             TypeVector 17(int) 2
132              66:             TypePointer Function 61(ivec2)
133              71:             TypeInt 64 1
134              72:             TypeVector 71(int64_t) 2
135              73:             TypePointer Function 72(i64vec2)
136              77:             TypeInt 64 0
137              78:             TypeVector 77(int64_t) 2
138              79:             TypePointer Function 78(i64vec2)
139              91:             TypeFloat 16
140              92:             TypeVector 91(float16_t) 2
141              93:             TypePointer Function 92(f16vec2)
142              97:             TypeFloat 32
143              98:             TypeVector 97(float) 2
144              99:             TypePointer Function 98(fvec2)
145             103:             TypeFloat 64
146             104:             TypeVector 103(float64_t) 2
147             105:             TypePointer Function 104(f64vec2)
148             151:             TypeInt 8 1
149             152:             TypeVector 151(int8_t) 2
150             153:             TypePointer Function 152(i8vec2)
151             158:             TypeInt 8 0
152             159:             TypeVector 158(int8_t) 2
153             162:             TypePointer Function 159(i8vec2)
154             173:             TypeBool
155             174:             TypeVector 173(bool) 2
156             175:             TypePointer Function 174(bvec2)
157             178: 14(int16_t) Constant 0
158             179: 14(int16_t) Constant 1
159             180: 52(i16vec2) ConstantComposite 178 178
160             181: 52(i16vec2) ConstantComposite 179 179
161             184: 36(int16_t) Constant 0
162             185: 36(int16_t) Constant 1
163             186: 57(i16vec2) ConstantComposite 184 184
164             187: 57(i16vec2) ConstantComposite 185 185
165             193:             TypeVector 36(int16_t) 3
166             194:             TypePointer Function 193(i16vec3)
167             197:             TypeVector 14(int16_t) 3
168             219:             TypePointer Function 27(int)
169             225:             TypeVector 17(int) 3
170             226:             TypePointer Function 225(ivec3)
171             242:             TypePointer Function 71(int64_t)
172             264:     17(int) Constant 1
173             270:     17(int) Constant 2
174             276:             TypeVector 27(int) 3
175             280:             TypePointer Function 173(bool)
176             282:     17(int) Constant 0
177             296:             TypePointer Function 17(int)
178             354: 52(i16vec2) ConstantComposite 21 21
179             363:193(i16vec3) ConstantComposite 184 184 184
180             405:   173(bool) ConstantTrue
181             412:   173(bool) ConstantFalse
182             413:  174(bvec2) ConstantComposite 412 412
183             425:             TypeVector 173(bool) 3
184             426:  425(bvec3) ConstantComposite 412 412 412
185             432:             TypeVector 14(int16_t) 4
186             433:             TypePointer Function 432(i16vec4)
187             441:             TypePointer Function 77(int64_t)
188             443:             TypeVector 36(int16_t) 4
189             444:             TypePointer Function 443(i16vec4)
190             456:             TypePointer Function 425(bvec3)
191      518(Block):             TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
192             519:             TypePointer Uniform 518(Block)
193      520(block):    519(ptr) Variable Uniform
194       521(si16): 14(int16_t) SpecConstant 4294967286
195       522(su16): 36(int16_t) SpecConstant 20
196         4(main):           2 Function None 3
197               5:             Label
198                              Return
199                              FunctionEnd
200     6(literal():           2 Function None 3
201               7:             Label
202         16(i16):     15(ptr) Variable Function
203   33(indexable):     32(ptr) Variable Function
204         38(u16):     37(ptr) Variable Function
205   46(indexable):     45(ptr) Variable Function
206              30:     29(ptr) AccessChain 26 28
207              31:     17(int) Load 30
208                              Store 33(indexable) 23
209              34:     15(ptr) AccessChain 33(indexable) 31
210              35: 14(int16_t) Load 34
211                              Store 16(i16) 35
212              43:     29(ptr) AccessChain 26 28
213              44:     17(int) Load 43
214                              Store 46(indexable) 42
215              47:     37(ptr) AccessChain 46(indexable) 44
216              48: 36(int16_t) Load 47
217                              Store 38(u16) 48
218                              Return
219                              FunctionEnd
220  8(typeCast16():           2 Function None 3
221               9:             Label
222        51(i32v):     50(ptr) Variable Function
223        54(i16v):     53(ptr) Variable Function
224        59(u16v):     58(ptr) Variable Function
225        67(u32v):     66(ptr) Variable Function
226        74(i64v):     73(ptr) Variable Function
227        80(u64v):     79(ptr) Variable Function
228        94(f16v):     93(ptr) Variable Function
229       100(f32v):     99(ptr) Variable Function
230       106(f64v):    105(ptr) Variable Function
231        154(i8v):    153(ptr) Variable Function
232        163(u8v):    162(ptr) Variable Function
233         176(bv):    175(ptr) Variable Function
234              55: 52(i16vec2) Load 54(i16v)
235              56:   49(ivec2) SConvert 55
236                              Store 51(i32v) 56
237              60: 57(i16vec2) Load 59(u16v)
238              62:   61(ivec2) UConvert 60
239              63:   49(ivec2) Bitcast 62
240                              Store 51(i32v) 63
241              64: 52(i16vec2) Load 54(i16v)
242              65: 57(i16vec2) Bitcast 64
243                              Store 59(u16v) 65
244              68: 52(i16vec2) Load 54(i16v)
245              69:   49(ivec2) SConvert 68
246              70:   61(ivec2) Bitcast 69
247                              Store 67(u32v) 70
248              75: 52(i16vec2) Load 54(i16v)
249              76: 72(i64vec2) SConvert 75
250                              Store 74(i64v) 76
251              81: 52(i16vec2) Load 54(i16v)
252              82: 72(i64vec2) SConvert 81
253              83: 78(i64vec2) Bitcast 82
254                              Store 80(u64v) 83
255              84: 57(i16vec2) Load 59(u16v)
256              85:   61(ivec2) UConvert 84
257                              Store 67(u32v) 85
258              86: 57(i16vec2) Load 59(u16v)
259              87: 78(i64vec2) UConvert 86
260              88: 72(i64vec2) Bitcast 87
261                              Store 74(i64v) 88
262              89: 57(i16vec2) Load 59(u16v)
263              90: 78(i64vec2) UConvert 89
264                              Store 80(u64v) 90
265              95: 52(i16vec2) Load 54(i16v)
266              96: 92(f16vec2) ConvertSToF 95
267                              Store 94(f16v) 96
268             101: 52(i16vec2) Load 54(i16v)
269             102:   98(fvec2) ConvertSToF 101
270                              Store 100(f32v) 102
271             107: 52(i16vec2) Load 54(i16v)
272             108:104(f64vec2) ConvertSToF 107
273                              Store 106(f64v) 108
274             109: 57(i16vec2) Load 59(u16v)
275             110: 92(f16vec2) ConvertUToF 109
276                              Store 94(f16v) 110
277             111: 57(i16vec2) Load 59(u16v)
278             112:   98(fvec2) ConvertUToF 111
279                              Store 100(f32v) 112
280             113: 57(i16vec2) Load 59(u16v)
281             114:104(f64vec2) ConvertUToF 113
282                              Store 106(f64v) 114
283             115: 52(i16vec2) Load 54(i16v)
284             116:   49(ivec2) SConvert 115
285                              Store 51(i32v) 116
286             117: 57(i16vec2) Load 59(u16v)
287             118:   61(ivec2) UConvert 117
288             119:   49(ivec2) Bitcast 118
289                              Store 51(i32v) 119
290             120: 52(i16vec2) Load 54(i16v)
291             121: 57(i16vec2) Bitcast 120
292                              Store 59(u16v) 121
293             122: 52(i16vec2) Load 54(i16v)
294             123:   49(ivec2) SConvert 122
295             124:   61(ivec2) Bitcast 123
296                              Store 67(u32v) 124
297             125: 52(i16vec2) Load 54(i16v)
298             126: 72(i64vec2) SConvert 125
299                              Store 74(i64v) 126
300             127: 52(i16vec2) Load 54(i16v)
301             128: 72(i64vec2) SConvert 127
302             129: 78(i64vec2) Bitcast 128
303                              Store 80(u64v) 129
304             130: 57(i16vec2) Load 59(u16v)
305             131:   61(ivec2) UConvert 130
306                              Store 67(u32v) 131
307             132: 57(i16vec2) Load 59(u16v)
308             133: 78(i64vec2) UConvert 132
309             134: 72(i64vec2) Bitcast 133
310                              Store 74(i64v) 134
311             135: 57(i16vec2) Load 59(u16v)
312             136: 78(i64vec2) UConvert 135
313             137: 72(i64vec2) Bitcast 136
314             138: 78(i64vec2) Bitcast 137
315                              Store 80(u64v) 138
316             139: 52(i16vec2) Load 54(i16v)
317             140: 92(f16vec2) ConvertSToF 139
318                              Store 94(f16v) 140
319             141: 52(i16vec2) Load 54(i16v)
320             142:   98(fvec2) ConvertSToF 141
321                              Store 100(f32v) 142
322             143: 52(i16vec2) Load 54(i16v)
323             144:104(f64vec2) ConvertSToF 143
324                              Store 106(f64v) 144
325             145: 57(i16vec2) Load 59(u16v)
326             146: 92(f16vec2) ConvertUToF 145
327                              Store 94(f16v) 146
328             147: 57(i16vec2) Load 59(u16v)
329             148:   98(fvec2) ConvertUToF 147
330                              Store 100(f32v) 148
331             149: 57(i16vec2) Load 59(u16v)
332             150:104(f64vec2) ConvertUToF 149
333                              Store 106(f64v) 150
334             155: 52(i16vec2) Load 54(i16v)
335             156: 152(i8vec2) SConvert 155
336                              Store 154(i8v) 156
337             157: 57(i16vec2) Load 59(u16v)
338             160: 159(i8vec2) UConvert 157
339             161: 152(i8vec2) Bitcast 160
340                              Store 154(i8v) 161
341             164: 52(i16vec2) Load 54(i16v)
342             165: 152(i8vec2) SConvert 164
343             166: 159(i8vec2) Bitcast 165
344                              Store 163(u8v) 166
345             167: 57(i16vec2) Load 59(u16v)
346             168: 159(i8vec2) UConvert 167
347                              Store 163(u8v) 168
348             169: 57(i16vec2) Load 59(u16v)
349             170: 159(i8vec2) UConvert 169
350             171: 57(i16vec2) UConvert 170
351             172: 52(i16vec2) Bitcast 171
352                              Store 54(i16v) 172
353             177:  174(bvec2) Load 176(bv)
354             182: 52(i16vec2) Select 177 181 180
355                              Store 54(i16v) 182
356             183:  174(bvec2) Load 176(bv)
357             188: 57(i16vec2) Select 183 187 186
358                              Store 59(u16v) 188
359             189: 52(i16vec2) Load 54(i16v)
360             190:  174(bvec2) INotEqual 189 186
361                              Store 176(bv) 190
362             191: 57(i16vec2) Load 59(u16v)
363             192:  174(bvec2) INotEqual 191 186
364                              Store 176(bv) 192
365                              Return
366                              FunctionEnd
367  10(operators():           2 Function None 3
368              11:             Label
369       195(u16v):    194(ptr) Variable Function
370        200(i16):     15(ptr) Variable Function
371          220(i):    219(ptr) Variable Function
372         227(uv):    226(ptr) Variable Function
373        243(i64):    242(ptr) Variable Function
374          281(b):    280(ptr) Variable Function
375             196:193(i16vec3) Load 195(u16v)
376             198:197(i16vec3) CompositeConstruct 179 179 179
377             199:193(i16vec3) IAdd 196 198
378                              Store 195(u16v) 199
379             201: 14(int16_t) Load 200(i16)
380             202: 14(int16_t) ISub 201 179
381                              Store 200(i16) 202
382             203: 14(int16_t) Load 200(i16)
383             204: 14(int16_t) IAdd 203 179
384                              Store 200(i16) 204
385             205:193(i16vec3) Load 195(u16v)
386             206:197(i16vec3) CompositeConstruct 179 179 179
387             207:193(i16vec3) ISub 205 206
388                              Store 195(u16v) 207
389             208:193(i16vec3) Load 195(u16v)
390             209:193(i16vec3) Not 208
391                              Store 195(u16v) 209
392             210: 14(int16_t) Load 200(i16)
393                              Store 200(i16) 210
394             211:193(i16vec3) Load 195(u16v)
395             212:193(i16vec3) SNegate 211
396                              Store 195(u16v) 212
397             213: 14(int16_t) Load 200(i16)
398             214: 14(int16_t) Load 200(i16)
399             215: 14(int16_t) IAdd 214 213
400                              Store 200(i16) 215
401             216:193(i16vec3) Load 195(u16v)
402             217:193(i16vec3) Load 195(u16v)
403             218:193(i16vec3) ISub 217 216
404                              Store 195(u16v) 218
405             221: 14(int16_t) Load 200(i16)
406             222:     27(int) SConvert 221
407             223:     27(int) Load 220(i)
408             224:     27(int) IMul 223 222
409                              Store 220(i) 224
410             228:193(i16vec3) Load 195(u16v)
411             229:  225(ivec3) UConvert 228
412             230:  225(ivec3) Load 227(uv)
413             231:  225(ivec3) UDiv 230 229
414                              Store 227(uv) 231
415             232: 14(int16_t) Load 200(i16)
416             233:     27(int) SConvert 232
417             234:     17(int) Bitcast 233
418             235:  225(ivec3) Load 227(uv)
419             236:  225(ivec3) CompositeConstruct 234 234 234
420             237:  225(ivec3) UMod 235 236
421                              Store 227(uv) 237
422             238:193(i16vec3) Load 195(u16v)
423             239:  225(ivec3) UConvert 238
424             240:  225(ivec3) Load 227(uv)
425             241:  225(ivec3) IAdd 239 240
426                              Store 227(uv) 241
427             244: 14(int16_t) Load 200(i16)
428             245: 71(int64_t) SConvert 244
429             246: 71(int64_t) Load 243(i64)
430             247: 71(int64_t) ISub 245 246
431                              Store 243(i64) 247
432             248:193(i16vec3) Load 195(u16v)
433             249:  225(ivec3) UConvert 248
434             250:  225(ivec3) Load 227(uv)
435             251:  225(ivec3) IMul 249 250
436                              Store 227(uv) 251
437             252: 14(int16_t) Load 200(i16)
438             253: 71(int64_t) SConvert 252
439             254: 71(int64_t) Load 243(i64)
440             255: 71(int64_t) IMul 253 254
441                              Store 243(i64) 255
442             256: 14(int16_t) Load 200(i16)
443             257:     27(int) SConvert 256
444             258:     27(int) Load 220(i)
445             259:     27(int) SMod 257 258
446                              Store 220(i) 259
447             260: 14(int16_t) Load 200(i16)
448             261:193(i16vec3) Load 195(u16v)
449             262:197(i16vec3) CompositeConstruct 260 260 260
450             263:193(i16vec3) ShiftLeftLogical 261 262
451                              Store 195(u16v) 263
452             265:     37(ptr) AccessChain 195(u16v) 264
453             266: 36(int16_t) Load 265
454             267: 14(int16_t) Load 200(i16)
455             268: 14(int16_t) ShiftRightArithmetic 267 266
456                              Store 200(i16) 268
457             269: 14(int16_t) Load 200(i16)
458             271:     37(ptr) AccessChain 195(u16v) 270
459             272: 36(int16_t) Load 271
460             273: 14(int16_t) ShiftLeftLogical 269 272
461                              Store 200(i16) 273
462             274:193(i16vec3) Load 195(u16v)
463             275:     27(int) Load 220(i)
464             277:  276(ivec3) CompositeConstruct 275 275 275
465             278:193(i16vec3) ShiftLeftLogical 274 277
466             279:  225(ivec3) UConvert 278
467                              Store 227(uv) 279
468             283:     37(ptr) AccessChain 195(u16v) 282
469             284: 36(int16_t) Load 283
470             285: 14(int16_t) Load 200(i16)
471             286: 36(int16_t) Bitcast 285
472             287:   173(bool) INotEqual 284 286
473                              Store 281(b) 287
474             288: 14(int16_t) Load 200(i16)
475             289: 36(int16_t) Bitcast 288
476             290:     37(ptr) AccessChain 195(u16v) 282
477             291: 36(int16_t) Load 290
478             292:   173(bool) IEqual 289 291
479                              Store 281(b) 292
480             293:     37(ptr) AccessChain 195(u16v) 282
481             294: 36(int16_t) Load 293
482             295:     17(int) UConvert 294
483             297:    296(ptr) AccessChain 227(uv) 264
484             298:     17(int) Load 297
485             299:   173(bool) UGreaterThan 295 298
486                              Store 281(b) 299
487             300: 14(int16_t) Load 200(i16)
488             301:     27(int) SConvert 300
489             302:     27(int) Load 220(i)
490             303:   173(bool) SLessThan 301 302
491                              Store 281(b) 303
492             304:     37(ptr) AccessChain 195(u16v) 264
493             305: 36(int16_t) Load 304
494             306:     17(int) UConvert 305
495             307:    296(ptr) AccessChain 227(uv) 282
496             308:     17(int) Load 307
497             309:   173(bool) UGreaterThanEqual 306 308
498                              Store 281(b) 309
499             310: 14(int16_t) Load 200(i16)
500             311:     27(int) SConvert 310
501             312:     27(int) Load 220(i)
502             313:   173(bool) SLessThanEqual 311 312
503                              Store 281(b) 313
504             314: 14(int16_t) Load 200(i16)
505             315:     27(int) SConvert 314
506             316:     17(int) Bitcast 315
507             317:  225(ivec3) Load 227(uv)
508             318:  225(ivec3) CompositeConstruct 316 316 316
509             319:  225(ivec3) BitwiseOr 317 318
510                              Store 227(uv) 319
511             320: 14(int16_t) Load 200(i16)
512             321:     27(int) SConvert 320
513             322:     27(int) Load 220(i)
514             323:     27(int) BitwiseOr 321 322
515                              Store 220(i) 323
516             324: 14(int16_t) Load 200(i16)
517             325: 71(int64_t) SConvert 324
518             326: 71(int64_t) Load 243(i64)
519             327: 71(int64_t) BitwiseAnd 326 325
520                              Store 243(i64) 327
521             328:193(i16vec3) Load 195(u16v)
522             329:  225(ivec3) UConvert 328
523             330:  225(ivec3) Load 227(uv)
524             331:  225(ivec3) BitwiseAnd 329 330
525                              Store 227(uv) 331
526             332: 14(int16_t) Load 200(i16)
527             333:     27(int) SConvert 332
528             334:     17(int) Bitcast 333
529             335:  225(ivec3) Load 227(uv)
530             336:  225(ivec3) CompositeConstruct 334 334 334
531             337:  225(ivec3) BitwiseXor 335 336
532                              Store 227(uv) 337
533             338:193(i16vec3) Load 195(u16v)
534             339: 14(int16_t) Load 200(i16)
535             340: 36(int16_t) Bitcast 339
536             341:193(i16vec3) CompositeConstruct 340 340 340
537             342:193(i16vec3) BitwiseXor 338 341
538                              Store 195(u16v) 342
539                              Return
540                              FunctionEnd
54112(builtinFuncs():           2 Function None 3
542              13:             Label
543       343(i16v):     53(ptr) Variable Function
544        346(i16):     15(ptr) Variable Function
545       356(u16v):    194(ptr) Variable Function
546        358(u16):     37(ptr) Variable Function
547        428(i32):    219(ptr) Variable Function
548        431(i64):    242(ptr) Variable Function
549      434(i16v4):    433(ptr) Variable Function
550        437(u32):    296(ptr) Variable Function
551      438(u16v2):     58(ptr) Variable Function
552        442(u64):    441(ptr) Variable Function
553      445(u16v4):    444(ptr) Variable Function
554         457(bv):    456(ptr) Variable Function
555             344: 52(i16vec2) Load 343(i16v)
556             345: 52(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 344
557                              Store 343(i16v) 345
558             347: 14(int16_t) Load 346(i16)
559             348: 14(int16_t) ExtInst 1(GLSL.std.450) 7(SSign) 347
560                              Store 346(i16) 348
561             349: 52(i16vec2) Load 343(i16v)
562             350: 14(int16_t) Load 346(i16)
563             351: 52(i16vec2) CompositeConstruct 350 350
564             352: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 349 351
565                              Store 343(i16v) 352
566             353: 52(i16vec2) Load 343(i16v)
567             355: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 353 354
568                              Store 343(i16v) 355
569             357:193(i16vec3) Load 356(u16v)
570             359: 36(int16_t) Load 358(u16)
571             360:193(i16vec3) CompositeConstruct 359 359 359
572             361:193(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 360
573                              Store 356(u16v) 361
574             362:193(i16vec3) Load 356(u16v)
575             364:193(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 362 363
576                              Store 356(u16v) 364
577             365: 52(i16vec2) Load 343(i16v)
578             366: 14(int16_t) Load 346(i16)
579             367: 52(i16vec2) CompositeConstruct 366 366
580             368: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 365 367
581                              Store 343(i16v) 368
582             369: 52(i16vec2) Load 343(i16v)
583             370: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 369 354
584                              Store 343(i16v) 370
585             371:193(i16vec3) Load 356(u16v)
586             372: 36(int16_t) Load 358(u16)
587             373:193(i16vec3) CompositeConstruct 372 372 372
588             374:193(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 371 373
589                              Store 356(u16v) 374
590             375:193(i16vec3) Load 356(u16v)
591             376:193(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 375 363
592                              Store 356(u16v) 376
593             377: 52(i16vec2) Load 343(i16v)
594             378: 14(int16_t) Load 346(i16)
595             379: 14(int16_t) SNegate 378
596             380: 14(int16_t) Load 346(i16)
597             381: 52(i16vec2) CompositeConstruct 379 379
598             382: 52(i16vec2) CompositeConstruct 380 380
599             383: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 377 381 382
600                              Store 343(i16v) 383
601             384: 52(i16vec2) Load 343(i16v)
602             385: 52(i16vec2) Load 343(i16v)
603             386: 52(i16vec2) SNegate 385
604             387: 52(i16vec2) Load 343(i16v)
605             388: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 384 386 387
606                              Store 343(i16v) 388
607             389:193(i16vec3) Load 356(u16v)
608             390: 36(int16_t) Load 358(u16)
609             391: 36(int16_t) SNegate 390
610             392: 36(int16_t) Load 358(u16)
611             393:193(i16vec3) CompositeConstruct 391 391 391
612             394:193(i16vec3) CompositeConstruct 392 392 392
613             395:193(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 389 393 394
614                              Store 356(u16v) 395
615             396:193(i16vec3) Load 356(u16v)
616             397:193(i16vec3) Load 356(u16v)
617             398:193(i16vec3) SNegate 397
618             399:193(i16vec3) Load 356(u16v)
619             400:193(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 396 398 399
620                              Store 356(u16v) 400
621             401:     15(ptr) AccessChain 343(i16v) 282
622             402: 14(int16_t) Load 401
623             403:     15(ptr) AccessChain 343(i16v) 264
624             404: 14(int16_t) Load 403
625             406: 14(int16_t) Select 405 404 402
626                              Store 346(i16) 406
627             407: 14(int16_t) Load 346(i16)
628             408: 52(i16vec2) CompositeConstruct 407 407
629             409: 14(int16_t) Load 346(i16)
630             410: 14(int16_t) SNegate 409
631             411: 52(i16vec2) CompositeConstruct 410 410
632             414: 52(i16vec2) Select 413 411 408
633                              Store 343(i16v) 414
634             415:     37(ptr) AccessChain 356(u16v) 282
635             416: 36(int16_t) Load 415
636             417:     37(ptr) AccessChain 356(u16v) 264
637             418: 36(int16_t) Load 417
638             419: 36(int16_t) Select 405 418 416
639                              Store 358(u16) 419
640             420: 36(int16_t) Load 358(u16)
641             421:193(i16vec3) CompositeConstruct 420 420 420
642             422: 36(int16_t) Load 358(u16)
643             423: 36(int16_t) SNegate 422
644             424:193(i16vec3) CompositeConstruct 423 423 423
645             427:193(i16vec3) Select 426 424 421
646                              Store 356(u16v) 427
647             429: 52(i16vec2) Load 343(i16v)
648             430:     27(int) Bitcast 429
649                              Store 428(i32) 430
650             435:432(i16vec4) Load 434(i16v4)
651             436: 71(int64_t) Bitcast 435
652                              Store 431(i64) 436
653             439: 57(i16vec2) Load 438(u16v2)
654             440:     17(int) Bitcast 439
655                              Store 437(u32) 440
656             446:443(i16vec4) Load 445(u16v4)
657             447: 77(int64_t) Bitcast 446
658                              Store 442(u64) 447
659             448:     27(int) Load 428(i32)
660             449: 52(i16vec2) Bitcast 448
661                              Store 343(i16v) 449
662             450: 71(int64_t) Load 431(i64)
663             451:432(i16vec4) Bitcast 450
664                              Store 434(i16v4) 451
665             452:     17(int) Load 437(u32)
666             453: 57(i16vec2) Bitcast 452
667                              Store 438(u16v2) 453
668             454: 77(int64_t) Load 442(u64)
669             455:443(i16vec4) Bitcast 454
670                              Store 445(u16v4) 455
671             458:193(i16vec3) Load 356(u16v)
672             459: 36(int16_t) Load 358(u16)
673             460:193(i16vec3) CompositeConstruct 459 459 459
674             461:  425(bvec3) ULessThan 458 460
675                              Store 457(bv) 461
676             462: 52(i16vec2) Load 343(i16v)
677             463: 14(int16_t) Load 346(i16)
678             464: 52(i16vec2) CompositeConstruct 463 463
679             465:  174(bvec2) SLessThan 462 464
680             466:  425(bvec3) Load 457(bv)
681             467:  425(bvec3) VectorShuffle 466 465 3 4 2
682                              Store 457(bv) 467
683             468:193(i16vec3) Load 356(u16v)
684             469: 36(int16_t) Load 358(u16)
685             470:193(i16vec3) CompositeConstruct 469 469 469
686             471:  425(bvec3) ULessThanEqual 468 470
687                              Store 457(bv) 471
688             472: 52(i16vec2) Load 343(i16v)
689             473: 14(int16_t) Load 346(i16)
690             474: 52(i16vec2) CompositeConstruct 473 473
691             475:  174(bvec2) SLessThanEqual 472 474
692             476:  425(bvec3) Load 457(bv)
693             477:  425(bvec3) VectorShuffle 476 475 3 4 2
694                              Store 457(bv) 477
695             478:193(i16vec3) Load 356(u16v)
696             479: 36(int16_t) Load 358(u16)
697             480:193(i16vec3) CompositeConstruct 479 479 479
698             481:  425(bvec3) UGreaterThan 478 480
699                              Store 457(bv) 481
700             482: 52(i16vec2) Load 343(i16v)
701             483: 14(int16_t) Load 346(i16)
702             484: 52(i16vec2) CompositeConstruct 483 483
703             485:  174(bvec2) SGreaterThan 482 484
704             486:  425(bvec3) Load 457(bv)
705             487:  425(bvec3) VectorShuffle 486 485 3 4 2
706                              Store 457(bv) 487
707             488:193(i16vec3) Load 356(u16v)
708             489: 36(int16_t) Load 358(u16)
709             490:193(i16vec3) CompositeConstruct 489 489 489
710             491:  425(bvec3) UGreaterThanEqual 488 490
711                              Store 457(bv) 491
712             492: 52(i16vec2) Load 343(i16v)
713             493: 14(int16_t) Load 346(i16)
714             494: 52(i16vec2) CompositeConstruct 493 493
715             495:  174(bvec2) SGreaterThanEqual 492 494
716             496:  425(bvec3) Load 457(bv)
717             497:  425(bvec3) VectorShuffle 496 495 3 4 2
718                              Store 457(bv) 497
719             498:193(i16vec3) Load 356(u16v)
720             499: 36(int16_t) Load 358(u16)
721             500:193(i16vec3) CompositeConstruct 499 499 499
722             501:  425(bvec3) IEqual 498 500
723                              Store 457(bv) 501
724             502: 52(i16vec2) Load 343(i16v)
725             503: 14(int16_t) Load 346(i16)
726             504: 52(i16vec2) CompositeConstruct 503 503
727             505:  174(bvec2) IEqual 502 504
728             506:  425(bvec3) Load 457(bv)
729             507:  425(bvec3) VectorShuffle 506 505 3 4 2
730                              Store 457(bv) 507
731             508:193(i16vec3) Load 356(u16v)
732             509: 36(int16_t) Load 358(u16)
733             510:193(i16vec3) CompositeConstruct 509 509 509
734             511:  425(bvec3) INotEqual 508 510
735                              Store 457(bv) 511
736             512: 52(i16vec2) Load 343(i16v)
737             513: 14(int16_t) Load 346(i16)
738             514: 52(i16vec2) CompositeConstruct 513 513
739             515:  174(bvec2) INotEqual 512 514
740             516:  425(bvec3) Load 457(bv)
741             517:  425(bvec3) VectorShuffle 516 515 3 4 2
742                              Store 457(bv) 517
743                              Return
744                              FunctionEnd
745