| spv.longVectorBuiltinsuint64.comp |
| // Module Version 10300 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 112 |
| |
| Capability Shader |
| Capability Int64 |
| Capability LongVectorEXT |
| Capability ExpectAssumeKHR |
| Extension "SPV_EXT_long_vector" |
| Extension "SPV_KHR_expect_assume" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint GLCompute 4 "main" |
| ExecutionMode 4 LocalSize 64 1 1 |
| Source GLSL 450 |
| SourceExtension "GL_EXT_buffer_reference" |
| SourceExtension "GL_EXT_expect_assume" |
| SourceExtension "GL_EXT_long_vector" |
| SourceExtension "GL_EXT_shader_explicit_arithmetic_types" |
| SourceExtension "GL_KHR_memory_scope_semantics" |
| Name 4 "main" |
| Name 9 "vu" |
| Name 12 "u" |
| Name 41 "vb" |
| Name 62 "tempReturn" |
| Name 65 "tempArg" |
| Name 66 "ResType" |
| Name 72 "tempReturn" |
| Name 75 "tempArg" |
| Name 83 "tempArg" |
| Name 84 "tempArg" |
| Name 93 "vi" |
| Decorate 111 BuiltIn WorkgroupSize |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeInt 64 0 |
| 7: TypeVector 6(int64_t) 5 |
| 8: TypePointer Function 7(i64vec) |
| 11: TypePointer Function 6(int64_t) |
| 38: TypeBool |
| 39: TypeVector 38(bool) 5 |
| 40: TypePointer Function 39(bvec) |
| 66(ResType): TypeStruct 7(i64vec) 7(i64vec) |
| 90: TypeInt 64 1 |
| 91: TypeVector 90(int64_t) 5 |
| 92: TypePointer Function 91(i64vec) |
| 107: TypeInt 32 0 |
| 108: TypeVector 107(int) 3 |
| 109: 107(int) Constant 64 |
| 110: 107(int) Constant 1 |
| 111: 108(ivec3) ConstantComposite 109 110 110 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 9(vu): 8(ptr) Variable Function |
| 12(u): 11(ptr) Variable Function |
| 41(vb): 40(ptr) Variable Function |
| 62(tempReturn): 8(ptr) Variable Function |
| 65(tempArg): 8(ptr) Variable Function |
| 72(tempReturn): 8(ptr) Variable Function |
| 75(tempArg): 8(ptr) Variable Function |
| 83(tempArg): 8(ptr) Variable Function |
| 84(tempArg): 8(ptr) Variable Function |
| 93(vi): 92(ptr) Variable Function |
| 10: 7(i64vec) Load 9(vu) |
| 13: 6(int64_t) Load 12(u) |
| 14: 7(i64vec) CompositeConstruct 13 13 13 13 13 |
| 15: 7(i64vec) ExtInst 1(GLSL.std.450) 38(UMin) 10 14 |
| Store 9(vu) 15 |
| 16: 7(i64vec) Load 9(vu) |
| 17: 7(i64vec) Load 9(vu) |
| 18: 7(i64vec) ExtInst 1(GLSL.std.450) 38(UMin) 16 17 |
| Store 9(vu) 18 |
| 19: 7(i64vec) Load 9(vu) |
| 20: 6(int64_t) Load 12(u) |
| 21: 7(i64vec) CompositeConstruct 20 20 20 20 20 |
| 22: 7(i64vec) ExtInst 1(GLSL.std.450) 41(UMax) 19 21 |
| Store 9(vu) 22 |
| 23: 7(i64vec) Load 9(vu) |
| 24: 7(i64vec) Load 9(vu) |
| 25: 7(i64vec) ExtInst 1(GLSL.std.450) 41(UMax) 23 24 |
| Store 9(vu) 25 |
| 26: 7(i64vec) Load 9(vu) |
| 27: 6(int64_t) Load 12(u) |
| 28: 6(int64_t) Load 12(u) |
| 29: 7(i64vec) CompositeConstruct 27 27 27 27 27 |
| 30: 7(i64vec) CompositeConstruct 28 28 28 28 28 |
| 31: 7(i64vec) ExtInst 1(GLSL.std.450) 44(UClamp) 26 29 30 |
| Store 9(vu) 31 |
| 32: 7(i64vec) Load 9(vu) |
| 33: 7(i64vec) Load 9(vu) |
| 34: 7(i64vec) Load 9(vu) |
| 35: 7(i64vec) ExtInst 1(GLSL.std.450) 44(UClamp) 32 33 34 |
| Store 9(vu) 35 |
| 36: 7(i64vec) Load 9(vu) |
| 37: 7(i64vec) Load 9(vu) |
| 42: 39(bvec) Load 41(vb) |
| 43: 7(i64vec) Select 42 37 36 |
| Store 9(vu) 43 |
| 44: 7(i64vec) Load 9(vu) |
| 45: 7(i64vec) Load 9(vu) |
| 46: 39(bvec) ULessThan 44 45 |
| Store 41(vb) 46 |
| 47: 7(i64vec) Load 9(vu) |
| 48: 7(i64vec) Load 9(vu) |
| 49: 39(bvec) ULessThanEqual 47 48 |
| Store 41(vb) 49 |
| 50: 7(i64vec) Load 9(vu) |
| 51: 7(i64vec) Load 9(vu) |
| 52: 39(bvec) UGreaterThan 50 51 |
| Store 41(vb) 52 |
| 53: 7(i64vec) Load 9(vu) |
| 54: 7(i64vec) Load 9(vu) |
| 55: 39(bvec) UGreaterThanEqual 53 54 |
| Store 41(vb) 55 |
| 56: 7(i64vec) Load 9(vu) |
| 57: 7(i64vec) Load 9(vu) |
| 58: 39(bvec) IEqual 56 57 |
| Store 41(vb) 58 |
| 59: 7(i64vec) Load 9(vu) |
| 60: 7(i64vec) Load 9(vu) |
| 61: 39(bvec) INotEqual 59 60 |
| Store 41(vb) 61 |
| 63: 7(i64vec) Load 9(vu) |
| 64: 7(i64vec) Load 9(vu) |
| 67: 66(ResType) IAddCarry 63 64 |
| 68: 7(i64vec) CompositeExtract 67 1 |
| Store 65(tempArg) 68 |
| 69: 7(i64vec) CompositeExtract 67 0 |
| Store 62(tempReturn) 69 |
| 70: 7(i64vec) Load 65(tempArg) |
| Store 9(vu) 70 |
| 71: 7(i64vec) Load 62(tempReturn) |
| Store 9(vu) 71 |
| 73: 7(i64vec) Load 9(vu) |
| 74: 7(i64vec) Load 9(vu) |
| 76: 66(ResType) ISubBorrow 73 74 |
| 77: 7(i64vec) CompositeExtract 76 1 |
| Store 75(tempArg) 77 |
| 78: 7(i64vec) CompositeExtract 76 0 |
| Store 72(tempReturn) 78 |
| 79: 7(i64vec) Load 75(tempArg) |
| Store 9(vu) 79 |
| 80: 7(i64vec) Load 72(tempReturn) |
| Store 9(vu) 80 |
| 81: 7(i64vec) Load 9(vu) |
| 82: 7(i64vec) Load 9(vu) |
| 85: 66(ResType) UMulExtended 81 82 |
| 86: 7(i64vec) CompositeExtract 85 0 |
| Store 84(tempArg) 86 |
| 87: 7(i64vec) CompositeExtract 85 1 |
| Store 83(tempArg) 87 |
| 88: 7(i64vec) Load 83(tempArg) |
| Store 9(vu) 88 |
| 89: 7(i64vec) Load 84(tempArg) |
| Store 9(vu) 89 |
| 94: 7(i64vec) Load 9(vu) |
| 95: 91(i64vec) BitCount 94 |
| Store 93(vi) 95 |
| 96: 7(i64vec) Load 9(vu) |
| 97: 7(i64vec) Load 9(vu) |
| 98: 39(bvec) Load 41(vb) |
| 99: 7(i64vec) Select 98 97 96 |
| Store 9(vu) 99 |
| 100: 39(bvec) Load 41(vb) |
| 101: 39(bvec) Load 41(vb) |
| 102: 39(bvec) Load 41(vb) |
| 103: 39(bvec) Select 102 101 100 |
| Store 41(vb) 103 |
| 104: 7(i64vec) Load 9(vu) |
| 105: 7(i64vec) Load 9(vu) |
| 106: 7(i64vec) ExpectKHR 104 105 |
| Store 9(vu) 106 |
| Return |
| FunctionEnd |