yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

Wint3rNightDon't emit OpUConvert for spec constants before SPIR-V 1.42d0f1968

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