spv.int64.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.


Linked fragment stage:


// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 480

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