yum-mirror/glslang

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

Wint3rNightReject constant_id on a specialization constant computed from othersca70aa31

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