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

                              Capability Shader
                              Capability Float64
                              Capability Int64
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_ARB_gpu_shader_int64"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int64"
                              Name 4  "main"
                              Name 6  "literal("
                              Name 8  "typeCast("
                              Name 10  "operators("
                              Name 12  "builtinFuncs("
                              Name 16  "u64Max"
                              Name 20  "i64"
                              Name 28  "Uniforms"
                              MemberName 28(Uniforms) 0  "index"
                              Name 30  ""
                              Name 37  "indexable"
                              Name 41  "u64"
                              Name 49  "indexable"
                              Name 54  "i64v"
                              Name 58  "bv"
                              Name 67  "u64v"
                              Name 76  "iv"
                              Name 83  "uv"
                              Name 91  "fv"
                              Name 97  "dv"
                              Name 134  "u64v"
                              Name 139  "i64"
                              Name 159  "i"
                              Name 166  "uv"
                              Name 226  "b"
                              Name 286  "i64v"
                              Name 289  "i64"
                              Name 299  "u64v"
                              Name 301  "u64"
                              Name 373  "dv"
                              Name 394  "iv"
                              Name 399  "uv"
                              Name 403  "bv"
                              Name 486  "Block"
                              MemberName 486(Block) 0  "i64v"
                              MemberName 486(Block) 1  "u64"
                              Name 488  "block"
                              Name 489  "si64"
                              Name 490  "su64"
                              Name 491  "si"
                              Name 492  "su"
                              Name 493  "sb"
                              Name 494  "su64inc"
                              Name 495  "i64_to_b"
                              Name 496  "u64_to_b"
                              Name 497  "b_to_i64"
                              Name 498  "b_to_u64"
                              Name 499  "i64_to_i"
                              Name 500  "i_to_i64"
                              Name 501  "u64_to_u"
                              Name 502  "u_to_u64"
                              Name 503  "u64_to_i64"
                              Name 504  "i64_to_u64"
                              Name 506  "u64_to_i"
                              Name 508  "i_to_u64"
                              Name 510  "i64_to_u"
                              Name 512  "u_to_i64"
                              MemberDecorate 28(Uniforms) 0 Offset 0
                              Decorate 28(Uniforms) Block
                              Decorate 30 DescriptorSet 0
                              Decorate 30 Binding 0
                              MemberDecorate 486(Block) 0 Offset 0
                              MemberDecorate 486(Block) 1 Offset 24
                              Decorate 486(Block) Block
                              Decorate 488(block) DescriptorSet 0
                              Decorate 488(block) Binding 1
                              Decorate 489(si64) SpecId 100
                              Decorate 490(su64) SpecId 101
                              Decorate 491(si) SpecId 102
                              Decorate 492(su) SpecId 103
                              Decorate 493(sb) SpecId 104
                              Decorate 494(su64inc) SpecId 105
               2:             TypeVoid
               3:             TypeFunction 2
              14:             TypeInt 64 0
              15:             TypePointer Private 14(int64_t)
      16(u64Max):     15(ptr) Variable Private
              17: 14(int64_t) Constant 4294967295 4294967295
              18:             TypeInt 64 1
              19:             TypePointer Function 18(int64_t)
              21:             TypeInt 32 0
              22:     21(int) Constant 3
              23:             TypeArray 18(int64_t) 22
              24: 18(int64_t) Constant 4008636143 4008636142
              25: 18(int64_t) Constant 4294967295 4294967295
              26: 18(int64_t) Constant 0 1
              27:          23 ConstantComposite 24 25 26
    28(Uniforms):             TypeStruct 21(int)
              29:             TypePointer Uniform 28(Uniforms)
              30:     29(ptr) Variable Uniform
              31:             TypeInt 32 1
              32:     31(int) Constant 0
              33:             TypePointer Uniform 21(int)
              36:             TypePointer Function 23
              40:             TypePointer Function 14(int64_t)
              42:             TypeArray 14(int64_t) 22
              43: 14(int64_t) Constant 0 1
              44: 14(int64_t) Constant 4294967295 1
              45:          42 ConstantComposite 17 43 44
              48:             TypePointer Function 42
              52:             TypeVector 18(int64_t) 2
              53:             TypePointer Function 52(i64vec2)
              55:             TypeBool
              56:             TypeVector 55(bool) 2
              57:             TypePointer Function 56(bvec2)
              60: 18(int64_t) Constant 0 0
              61: 18(int64_t) Constant 1 0
              62: 52(i64vec2) ConstantComposite 60 60
              63: 52(i64vec2) ConstantComposite 61 61
              65:             TypeVector 14(int64_t) 2
              66:             TypePointer Function 65(i64vec2)
              69: 14(int64_t) Constant 0 0
              70: 14(int64_t) Constant 1 0
              71: 65(i64vec2) ConstantComposite 69 69
              72: 65(i64vec2) ConstantComposite 70 70
              74:             TypeVector 31(int) 2
              75:             TypePointer Function 74(ivec2)
              81:             TypeVector 21(int) 2
              82:             TypePointer Function 81(ivec2)
              88:             TypeFloat 32
              89:             TypeVector 88(float) 2
              90:             TypePointer Function 89(fvec2)
              94:             TypeFloat 64
              95:             TypeVector 94(float64_t) 2
              96:             TypePointer Function 95(f64vec2)
             132:             TypeVector 14(int64_t) 3
             133:             TypePointer Function 132(i64vec3)
             136:             TypeVector 18(int64_t) 3
             158:             TypePointer Function 31(int)
             164:             TypeVector 21(int) 3
             165:             TypePointer Function 164(ivec3)
             199:             TypeVector 31(int) 3
             203:     21(int) Constant 1
             204:             TypePointer Function 21(int)
             217:     21(int) Constant 2
             225:             TypePointer Function 55(bool)
             227:     21(int) Constant 0
             297: 52(i64vec2) ConstantComposite 25 25
             306:132(i64vec3) ConstantComposite 69 69 69
             348:    55(bool) ConstantTrue
             355:    55(bool) ConstantFalse
             356:   56(bvec2) ConstantComposite 355 355
             368:             TypeVector 55(bool) 3
             369:  368(bvec3) ConstantComposite 355 355 355
             371:             TypeVector 94(float64_t) 3
             372:             TypePointer Function 371(f64vec3)
             377:             TypePointer Function 94(float64_t)
             390:     31(int) Constant 1
             391:     31(int) Constant 2
             392:   74(ivec2) ConstantComposite 390 391
             397:   81(ivec2) ConstantComposite 217 22
             402:             TypePointer Function 368(bvec3)
      486(Block):             TypeStruct 136(i64vec3) 14(int64_t)
             487:             TypePointer Uniform 486(Block)
      488(block):    487(ptr) Variable Uniform
       489(si64): 18(int64_t) SpecConstant 4294967286 4294967295
       490(su64): 14(int64_t) SpecConstant 20 0
         491(si):     31(int) SpecConstant 4294967291
         492(su):     21(int) SpecConstant 4
         493(sb):    55(bool) SpecConstantTrue
    494(su64inc): 14(int64_t) SpecConstantOp 128 490(su64) 70
   495(i64_to_b):    55(bool) SpecConstantOp 171 489(si64) 69
   496(u64_to_b):    55(bool) SpecConstantOp 171 490(su64) 69
   497(b_to_i64): 18(int64_t) SpecConstantOp 169 493(sb) 61 60
   498(b_to_u64): 14(int64_t) SpecConstantOp 169 493(sb) 70 69
   499(i64_to_i):     31(int) SpecConstantOp 114 489(si64)
   500(i_to_i64): 18(int64_t) SpecConstantOp 114 491(si)
   501(u64_to_u):     21(int) SpecConstantOp 113 490(su64)
   502(u_to_u64): 14(int64_t) SpecConstantOp 113 492(su)
 503(u64_to_i64): 18(int64_t) SpecConstantOp 128 490(su64) 69
 504(i64_to_u64): 14(int64_t) SpecConstantOp 128 489(si64) 69
             505:     21(int) SpecConstantOp 113 490(su64)
   506(u64_to_i):     31(int) SpecConstantOp 128 505 227
             507: 18(int64_t) SpecConstantOp 114 491(si)
   508(i_to_u64): 14(int64_t) SpecConstantOp 128 507 69
             509:     31(int) SpecConstantOp 114 489(si64)
   510(i64_to_u):     21(int) SpecConstantOp 128 509 227
             511: 14(int64_t) SpecConstantOp 113 492(su)
   512(u_to_i64): 18(int64_t) SpecConstantOp 128 511 69
         4(main):           2 Function None 3
               5:             Label
                              Store 16(u64Max) 17
                              Return
                              FunctionEnd
     6(literal():           2 Function None 3
               7:             Label
         20(i64):     19(ptr) Variable Function
   37(indexable):     36(ptr) Variable Function
         41(u64):     40(ptr) Variable Function
   49(indexable):     48(ptr) Variable Function
              34:     33(ptr) AccessChain 30 32
              35:     21(int) Load 34
                              Store 37(indexable) 27
              38:     19(ptr) AccessChain 37(indexable) 35
              39: 18(int64_t) Load 38
                              Store 20(i64) 39
              46:     33(ptr) AccessChain 30 32
              47:     21(int) Load 46
                              Store 49(indexable) 45
              50:     40(ptr) AccessChain 49(indexable) 47
              51: 14(int64_t) Load 50
                              Store 41(u64) 51
                              Return
                              FunctionEnd
    8(typeCast():           2 Function None 3
               9:             Label
        54(i64v):     53(ptr) Variable Function
          58(bv):     57(ptr) Variable Function
        67(u64v):     66(ptr) Variable Function
          76(iv):     75(ptr) Variable Function
          83(uv):     82(ptr) Variable Function
          91(fv):     90(ptr) Variable Function
          97(dv):     96(ptr) Variable Function
              59:   56(bvec2) Load 58(bv)
              64: 52(i64vec2) Select 59 63 62
                              Store 54(i64v) 64
              68:   56(bvec2) Load 58(bv)
              73: 65(i64vec2) Select 68 72 71
                              Store 67(u64v) 73
              77:   74(ivec2) Load 76(iv)
              78: 52(i64vec2) SConvert 77
                              Store 54(i64v) 78
              79: 52(i64vec2) Load 54(i64v)
              80:   74(ivec2) SConvert 79
                              Store 76(iv) 80
              84:   81(ivec2) Load 83(uv)
              85: 65(i64vec2) UConvert 84
                              Store 67(u64v) 85
              86: 65(i64vec2) Load 67(u64v)
              87:   81(ivec2) UConvert 86
                              Store 83(uv) 87
              92: 52(i64vec2) Load 54(i64v)
              93:   89(fvec2) ConvertSToF 92
                              Store 91(fv) 93
              98: 52(i64vec2) Load 54(i64v)
              99: 95(f64vec2) ConvertSToF 98
                              Store 97(dv) 99
             100: 65(i64vec2) Load 67(u64v)
             101:   89(fvec2) ConvertUToF 100
                              Store 91(fv) 101
             102: 65(i64vec2) Load 67(u64v)
             103: 95(f64vec2) ConvertUToF 102
                              Store 97(dv) 103
             104:   89(fvec2) Load 91(fv)
             105: 52(i64vec2) ConvertFToS 104
                              Store 54(i64v) 105
             106: 95(f64vec2) Load 97(dv)
             107: 52(i64vec2) ConvertFToS 106
                              Store 54(i64v) 107
             108:   89(fvec2) Load 91(fv)
             109: 65(i64vec2) ConvertFToU 108
                              Store 67(u64v) 109
             110: 95(f64vec2) Load 97(dv)
             111: 65(i64vec2) ConvertFToU 110
                              Store 67(u64v) 111
             112: 52(i64vec2) Load 54(i64v)
             113:   56(bvec2) INotEqual 112 71
                              Store 58(bv) 113
             114: 65(i64vec2) Load 67(u64v)
             115:   56(bvec2) INotEqual 114 71
                              Store 58(bv) 115
             116: 52(i64vec2) Load 54(i64v)
             117: 65(i64vec2) Bitcast 116
                              Store 67(u64v) 117
             118: 65(i64vec2) Load 67(u64v)
             119: 52(i64vec2) Bitcast 118
                              Store 54(i64v) 119
             120: 52(i64vec2) Load 54(i64v)
             121:   74(ivec2) SConvert 120
             122:   81(ivec2) Bitcast 121
                              Store 83(uv) 122
             123:   81(ivec2) Load 83(uv)
             124: 65(i64vec2) UConvert 123
             125: 52(i64vec2) Bitcast 124
                              Store 54(i64v) 125
             126: 65(i64vec2) Load 67(u64v)
             127:   81(ivec2) UConvert 126
             128:   74(ivec2) Bitcast 127
                              Store 76(iv) 128
             129:   74(ivec2) Load 76(iv)
             130: 52(i64vec2) SConvert 129
             131: 65(i64vec2) Bitcast 130
                              Store 67(u64v) 131
                              Return
                              FunctionEnd
  10(operators():           2 Function None 3
              11:             Label
       134(u64v):    133(ptr) Variable Function
        139(i64):     19(ptr) Variable Function
          159(i):    158(ptr) Variable Function
         166(uv):    165(ptr) Variable Function
          226(b):    225(ptr) Variable Function
             135:132(i64vec3) Load 134(u64v)
             137:136(i64vec3) CompositeConstruct 61 61 61
             138:132(i64vec3) IAdd 135 137
                              Store 134(u64v) 138
             140: 18(int64_t) Load 139(i64)
             141: 18(int64_t) ISub 140 61
                              Store 139(i64) 141
             142: 18(int64_t) Load 139(i64)
             143: 18(int64_t) IAdd 142 61
                              Store 139(i64) 143
             144:132(i64vec3) Load 134(u64v)
             145:136(i64vec3) CompositeConstruct 61 61 61
             146:132(i64vec3) ISub 144 145
                              Store 134(u64v) 146
             147:132(i64vec3) Load 134(u64v)
             148:132(i64vec3) Not 147
                              Store 134(u64v) 148
             149: 18(int64_t) Load 139(i64)
                              Store 139(i64) 149
             150:132(i64vec3) Load 134(u64v)
             151:132(i64vec3) SNegate 150
                              Store 134(u64v) 151
             152: 18(int64_t) Load 139(i64)
             153: 18(int64_t) Load 139(i64)
             154: 18(int64_t) IAdd 153 152
                              Store 139(i64) 154
             155:132(i64vec3) Load 134(u64v)
             156:132(i64vec3) Load 134(u64v)
             157:132(i64vec3) ISub 156 155
                              Store 134(u64v) 157
             160:     31(int) Load 159(i)
             161: 18(int64_t) SConvert 160
             162: 18(int64_t) Load 139(i64)
             163: 18(int64_t) IMul 162 161
                              Store 139(i64) 163
             167:  164(ivec3) Load 166(uv)
             168:132(i64vec3) UConvert 167
             169:132(i64vec3) Load 134(u64v)
             170:132(i64vec3) UDiv 169 168
                              Store 134(u64v) 170
             171:     31(int) Load 159(i)
             172: 18(int64_t) SConvert 171
             173: 14(int64_t) Bitcast 172
             174:132(i64vec3) Load 134(u64v)
             175:132(i64vec3) CompositeConstruct 173 173 173
             176:132(i64vec3) UMod 174 175
                              Store 134(u64v) 176
             177:132(i64vec3) Load 134(u64v)
             178:  164(ivec3) Load 166(uv)
             179:132(i64vec3) UConvert 178
             180:132(i64vec3) IAdd 177 179
                              Store 134(u64v) 180
             181: 18(int64_t) Load 139(i64)
             182:     31(int) Load 159(i)
             183: 18(int64_t) SConvert 182
             184: 18(int64_t) ISub 181 183
                              Store 139(i64) 184
             185:132(i64vec3) Load 134(u64v)
             186:  164(ivec3) Load 166(uv)
             187:132(i64vec3) UConvert 186
             188:132(i64vec3) IMul 185 187
                              Store 134(u64v) 188
             189: 18(int64_t) Load 139(i64)
             190:     31(int) Load 159(i)
             191: 18(int64_t) SConvert 190
             192: 18(int64_t) IMul 189 191
                              Store 139(i64) 192
             193: 18(int64_t) Load 139(i64)
             194:     31(int) Load 159(i)
             195: 18(int64_t) SConvert 194
             196: 18(int64_t) SMod 193 195
                              Store 139(i64) 196
             197:132(i64vec3) Load 134(u64v)
             198:     31(int) Load 159(i)
             200:  199(ivec3) CompositeConstruct 198 198 198
             201:132(i64vec3) ShiftLeftLogical 197 200
                              Store 134(u64v) 201
             202: 18(int64_t) Load 139(i64)
             205:    204(ptr) AccessChain 166(uv) 203
             206:     21(int) Load 205
             207: 18(int64_t) ShiftRightArithmetic 202 206
                              Store 139(i64) 207
             208:     31(int) Load 159(i)
             209:132(i64vec3) Load 134(u64v)
             210:  199(ivec3) CompositeConstruct 208 208 208
             211:132(i64vec3) ShiftLeftLogical 209 210
                              Store 134(u64v) 211
             212:    204(ptr) AccessChain 166(uv) 203
             213:     21(int) Load 212
             214: 18(int64_t) Load 139(i64)
             215: 18(int64_t) ShiftRightArithmetic 214 213
                              Store 139(i64) 215
             216: 18(int64_t) Load 139(i64)
             218:     40(ptr) AccessChain 134(u64v) 217
             219: 14(int64_t) Load 218
             220: 18(int64_t) ShiftLeftLogical 216 219
                              Store 139(i64) 220
             221:132(i64vec3) Load 134(u64v)
             222: 18(int64_t) Load 139(i64)
             223:136(i64vec3) CompositeConstruct 222 222 222
             224:132(i64vec3) ShiftLeftLogical 221 223
                              Store 134(u64v) 224
             228:     40(ptr) AccessChain 134(u64v) 227
             229: 14(int64_t) Load 228
             230: 18(int64_t) Load 139(i64)
             231: 14(int64_t) Bitcast 230
             232:    55(bool) INotEqual 229 231
                              Store 226(b) 232
             233: 18(int64_t) Load 139(i64)
             234: 14(int64_t) Bitcast 233
             235:     40(ptr) AccessChain 134(u64v) 227
             236: 14(int64_t) Load 235
             237:    55(bool) IEqual 234 236
                              Store 226(b) 237
             238:     40(ptr) AccessChain 134(u64v) 227
             239: 14(int64_t) Load 238
             240:    204(ptr) AccessChain 166(uv) 203
             241:     21(int) Load 240
             242: 14(int64_t) UConvert 241
             243:    55(bool) UGreaterThan 239 242
                              Store 226(b) 243
             244: 18(int64_t) Load 139(i64)
             245:     31(int) Load 159(i)
             246: 18(int64_t) SConvert 245
             247:    55(bool) SLessThan 244 246
                              Store 226(b) 247
             248:     40(ptr) AccessChain 134(u64v) 203
             249: 14(int64_t) Load 248
             250:    204(ptr) AccessChain 166(uv) 227
             251:     21(int) Load 250
             252: 14(int64_t) UConvert 251
             253:    55(bool) UGreaterThanEqual 249 252
                              Store 226(b) 253
             254: 18(int64_t) Load 139(i64)
             255:     31(int) Load 159(i)
             256: 18(int64_t) SConvert 255
             257:    55(bool) SLessThanEqual 254 256
                              Store 226(b) 257
             258:     31(int) Load 159(i)
             259: 18(int64_t) SConvert 258
             260: 14(int64_t) Bitcast 259
             261:132(i64vec3) Load 134(u64v)
             262:132(i64vec3) CompositeConstruct 260 260 260
             263:132(i64vec3) BitwiseOr 261 262
                              Store 134(u64v) 263
             264: 18(int64_t) Load 139(i64)
             265:     31(int) Load 159(i)
             266: 18(int64_t) SConvert 265
             267: 18(int64_t) BitwiseOr 264 266
                              Store 139(i64) 267
             268:     31(int) Load 159(i)
             269: 18(int64_t) SConvert 268
             270: 18(int64_t) Load 139(i64)
             271: 18(int64_t) BitwiseAnd 270 269
                              Store 139(i64) 271
             272:132(i64vec3) Load 134(u64v)
             273:  164(ivec3) Load 166(uv)
             274:132(i64vec3) UConvert 273
             275:132(i64vec3) BitwiseAnd 272 274
                              Store 134(u64v) 275
             276: 18(int64_t) Load 139(i64)
             277: 14(int64_t) Bitcast 276
             278:132(i64vec3) Load 134(u64v)
             279:132(i64vec3) CompositeConstruct 277 277 277
             280:132(i64vec3) BitwiseXor 278 279
                              Store 134(u64v) 280
             281:132(i64vec3) Load 134(u64v)
             282: 18(int64_t) Load 139(i64)
             283: 14(int64_t) Bitcast 282
             284:132(i64vec3) CompositeConstruct 283 283 283
             285:132(i64vec3) BitwiseXor 281 284
                              Store 134(u64v) 285
                              Return
                              FunctionEnd
12(builtinFuncs():           2 Function None 3
              13:             Label
       286(i64v):     53(ptr) Variable Function
        289(i64):     19(ptr) Variable Function
       299(u64v):    133(ptr) Variable Function
        301(u64):     40(ptr) Variable Function
         373(dv):    372(ptr) Variable Function
         394(iv):     75(ptr) Variable Function
         399(uv):     82(ptr) Variable Function
         403(bv):    402(ptr) Variable Function
             287: 52(i64vec2) Load 286(i64v)
             288: 52(i64vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 287
                              Store 286(i64v) 288
             290: 18(int64_t) Load 289(i64)
             291: 18(int64_t) ExtInst 1(GLSL.std.450) 7(SSign) 290
                              Store 289(i64) 291
             292: 52(i64vec2) Load 286(i64v)
             293: 18(int64_t) Load 289(i64)
             294: 52(i64vec2) CompositeConstruct 293 293
             295: 52(i64vec2) ExtInst 1(GLSL.std.450) 39(SMin) 292 294
                              Store 286(i64v) 295
             296: 52(i64vec2) Load 286(i64v)
             298: 52(i64vec2) ExtInst 1(GLSL.std.450) 39(SMin) 296 297
                              Store 286(i64v) 298
             300:132(i64vec3) Load 299(u64v)
             302: 14(int64_t) Load 301(u64)
             303:132(i64vec3) CompositeConstruct 302 302 302
             304:132(i64vec3) ExtInst 1(GLSL.std.450) 38(UMin) 300 303
                              Store 299(u64v) 304
             305:132(i64vec3) Load 299(u64v)
             307:132(i64vec3) ExtInst 1(GLSL.std.450) 38(UMin) 305 306
                              Store 299(u64v) 307
             308: 52(i64vec2) Load 286(i64v)
             309: 18(int64_t) Load 289(i64)
             310: 52(i64vec2) CompositeConstruct 309 309
             311: 52(i64vec2) ExtInst 1(GLSL.std.450) 42(SMax) 308 310
                              Store 286(i64v) 311
             312: 52(i64vec2) Load 286(i64v)
             313: 52(i64vec2) ExtInst 1(GLSL.std.450) 42(SMax) 312 297
                              Store 286(i64v) 313
             314:132(i64vec3) Load 299(u64v)
             315: 14(int64_t) Load 301(u64)
             316:132(i64vec3) CompositeConstruct 315 315 315
             317:132(i64vec3) ExtInst 1(GLSL.std.450) 41(UMax) 314 316
                              Store 299(u64v) 317
             318:132(i64vec3) Load 299(u64v)
             319:132(i64vec3) ExtInst 1(GLSL.std.450) 41(UMax) 318 306
                              Store 299(u64v) 319
             320: 52(i64vec2) Load 286(i64v)
             321: 18(int64_t) Load 289(i64)
             322: 18(int64_t) SNegate 321
             323: 18(int64_t) Load 289(i64)
             324: 52(i64vec2) CompositeConstruct 322 322
             325: 52(i64vec2) CompositeConstruct 323 323
             326: 52(i64vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 320 324 325
                              Store 286(i64v) 326
             327: 52(i64vec2) Load 286(i64v)
             328: 52(i64vec2) Load 286(i64v)
             329: 52(i64vec2) SNegate 328
             330: 52(i64vec2) Load 286(i64v)
             331: 52(i64vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 327 329 330
                              Store 286(i64v) 331
             332:132(i64vec3) Load 299(u64v)
             333: 14(int64_t) Load 301(u64)
             334: 14(int64_t) SNegate 333
             335: 14(int64_t) Load 301(u64)
             336:132(i64vec3) CompositeConstruct 334 334 334
             337:132(i64vec3) CompositeConstruct 335 335 335
             338:132(i64vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 332 336 337
                              Store 299(u64v) 338
             339:132(i64vec3) Load 299(u64v)
             340:132(i64vec3) Load 299(u64v)
             341:132(i64vec3) SNegate 340
             342:132(i64vec3) Load 299(u64v)
             343:132(i64vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 339 341 342
                              Store 299(u64v) 343
             344:     19(ptr) AccessChain 286(i64v) 227
             345: 18(int64_t) Load 344
             346:     19(ptr) AccessChain 286(i64v) 203
             347: 18(int64_t) Load 346
             349: 18(int64_t) Select 348 347 345
                              Store 289(i64) 349
             350: 18(int64_t) Load 289(i64)
             351: 52(i64vec2) CompositeConstruct 350 350
             352: 18(int64_t) Load 289(i64)
             353: 18(int64_t) SNegate 352
             354: 52(i64vec2) CompositeConstruct 353 353
             357: 52(i64vec2) Select 356 354 351
                              Store 286(i64v) 357
             358:     40(ptr) AccessChain 299(u64v) 227
             359: 14(int64_t) Load 358
             360:     40(ptr) AccessChain 299(u64v) 203
             361: 14(int64_t) Load 360
             362: 14(int64_t) Select 348 361 359
                              Store 301(u64) 362
             363: 14(int64_t) Load 301(u64)
             364:132(i64vec3) CompositeConstruct 363 363 363
             365: 14(int64_t) Load 301(u64)
             366: 14(int64_t) SNegate 365
             367:132(i64vec3) CompositeConstruct 366 366 366
             370:132(i64vec3) Select 369 367 364
                              Store 299(u64v) 370
             374:371(f64vec3) Load 373(dv)
             375: 95(f64vec2) VectorShuffle 374 374 0 1
             376: 52(i64vec2) Bitcast 375
                              Store 286(i64v) 376
             378:    377(ptr) AccessChain 373(dv) 217
             379:94(float64_t) Load 378
             380: 14(int64_t) Bitcast 379
             381:     40(ptr) AccessChain 299(u64v) 227
                              Store 381 380
             382: 52(i64vec2) Load 286(i64v)
             383: 95(f64vec2) Bitcast 382
             384:    377(ptr) AccessChain 373(dv) 227
             385:94(float64_t) CompositeExtract 383 0
                              Store 384 385
             386:    377(ptr) AccessChain 373(dv) 203
             387:94(float64_t) CompositeExtract 383 1
                              Store 386 387
             388:132(i64vec3) Load 299(u64v)
             389:371(f64vec3) Bitcast 388
                              Store 373(dv) 389
             393: 18(int64_t) Bitcast 392
                              Store 289(i64) 393
             395: 18(int64_t) Load 289(i64)
             396:   74(ivec2) Bitcast 395
                              Store 394(iv) 396
             398: 14(int64_t) Bitcast 397
                              Store 301(u64) 398
             400: 14(int64_t) Load 301(u64)
             401:   81(ivec2) Bitcast 400
                              Store 399(uv) 401
             404:132(i64vec3) Load 299(u64v)
             405: 14(int64_t) Load 301(u64)
             406:132(i64vec3) CompositeConstruct 405 405 405
             407:  368(bvec3) ULessThan 404 406
                              Store 403(bv) 407
             408: 52(i64vec2) Load 286(i64v)
             409: 18(int64_t) Load 289(i64)
             410: 52(i64vec2) CompositeConstruct 409 409
             411:   56(bvec2) SLessThan 408 410
             412:    225(ptr) AccessChain 403(bv) 227
             413:    55(bool) CompositeExtract 411 0
                              Store 412 413
             414:    225(ptr) AccessChain 403(bv) 203
             415:    55(bool) CompositeExtract 411 1
                              Store 414 415
             416:132(i64vec3) Load 299(u64v)
             417: 14(int64_t) Load 301(u64)
             418:132(i64vec3) CompositeConstruct 417 417 417
             419:  368(bvec3) ULessThanEqual 416 418
                              Store 403(bv) 419
             420: 52(i64vec2) Load 286(i64v)
             421: 18(int64_t) Load 289(i64)
             422: 52(i64vec2) CompositeConstruct 421 421
             423:   56(bvec2) SLessThanEqual 420 422
             424:    225(ptr) AccessChain 403(bv) 227
             425:    55(bool) CompositeExtract 423 0
                              Store 424 425
             426:    225(ptr) AccessChain 403(bv) 203
             427:    55(bool) CompositeExtract 423 1
                              Store 426 427
             428:132(i64vec3) Load 299(u64v)
             429: 14(int64_t) Load 301(u64)
             430:132(i64vec3) CompositeConstruct 429 429 429
             431:  368(bvec3) UGreaterThan 428 430
                              Store 403(bv) 431
             432: 52(i64vec2) Load 286(i64v)
             433: 18(int64_t) Load 289(i64)
             434: 52(i64vec2) CompositeConstruct 433 433
             435:   56(bvec2) SGreaterThan 432 434
             436:    225(ptr) AccessChain 403(bv) 227
             437:    55(bool) CompositeExtract 435 0
                              Store 436 437
             438:    225(ptr) AccessChain 403(bv) 203
             439:    55(bool) CompositeExtract 435 1
                              Store 438 439
             440:132(i64vec3) Load 299(u64v)
             441: 14(int64_t) Load 301(u64)
             442:132(i64vec3) CompositeConstruct 441 441 441
             443:  368(bvec3) UGreaterThanEqual 440 442
                              Store 403(bv) 443
             444: 52(i64vec2) Load 286(i64v)
             445: 18(int64_t) Load 289(i64)
             446: 52(i64vec2) CompositeConstruct 445 445
             447:   56(bvec2) SGreaterThanEqual 444 446
             448:    225(ptr) AccessChain 403(bv) 227
             449:    55(bool) CompositeExtract 447 0
                              Store 448 449
             450:    225(ptr) AccessChain 403(bv) 203
             451:    55(bool) CompositeExtract 447 1
                              Store 450 451
             452:132(i64vec3) Load 299(u64v)
             453: 14(int64_t) Load 301(u64)
             454:132(i64vec3) CompositeConstruct 453 453 453
             455:  368(bvec3) IEqual 452 454
                              Store 403(bv) 455
             456: 52(i64vec2) Load 286(i64v)
             457: 18(int64_t) Load 289(i64)
             458: 52(i64vec2) CompositeConstruct 457 457
             459:   56(bvec2) IEqual 456 458
             460:    225(ptr) AccessChain 403(bv) 227
             461:    55(bool) CompositeExtract 459 0
                              Store 460 461
             462:    225(ptr) AccessChain 403(bv) 203
             463:    55(bool) CompositeExtract 459 1
                              Store 462 463
             464:132(i64vec3) Load 299(u64v)
             465: 14(int64_t) Load 301(u64)
             466:132(i64vec3) CompositeConstruct 465 465 465
             467:  368(bvec3) INotEqual 464 466
                              Store 403(bv) 467
             468: 52(i64vec2) Load 286(i64v)
             469: 18(int64_t) Load 289(i64)
             470: 52(i64vec2) CompositeConstruct 469 469
             471:   56(bvec2) INotEqual 468 470
             472:    225(ptr) AccessChain 403(bv) 227
             473:    55(bool) CompositeExtract 471 0
                              Store 472 473
             474:    225(ptr) AccessChain 403(bv) 203
             475:    55(bool) CompositeExtract 471 1
                              Store 474 475
             476: 14(int64_t) Load 301(u64)
             477: 18(int64_t) ExtInst 1(GLSL.std.450) 73(FindILsb) 476
                              Store 289(i64) 477
             478: 14(int64_t) Load 301(u64)
             479: 65(i64vec2) CompositeConstruct 478 478
             480: 52(i64vec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 479
                              Store 286(i64v) 480
             481: 14(int64_t) Load 301(u64)
             482: 18(int64_t) BitCount 481
                              Store 289(i64) 482
             483: 14(int64_t) Load 301(u64)
             484: 65(i64vec2) CompositeConstruct 483 483
             485: 52(i64vec2) BitCount 484
                              Store 286(i64v) 485
                              Return
                              FunctionEnd