1617a3babSopenharmony_cispv.atomicInt64.comp 2617a3babSopenharmony_ci// Module Version 10000 3617a3babSopenharmony_ci// Generated by (magic number): 8000b 4617a3babSopenharmony_ci// Id's are bound by 149 5617a3babSopenharmony_ci 6617a3babSopenharmony_ci Capability Shader 7617a3babSopenharmony_ci Capability Int64 8617a3babSopenharmony_ci Capability Int64Atomics 9617a3babSopenharmony_ci 1: ExtInstImport "GLSL.std.450" 10617a3babSopenharmony_ci MemoryModel Logical GLSL450 11617a3babSopenharmony_ci EntryPoint GLCompute 4 "main" 12617a3babSopenharmony_ci ExecutionMode 4 LocalSize 16 16 1 13617a3babSopenharmony_ci Source GLSL 450 14617a3babSopenharmony_ci SourceExtension "GL_ARB_gpu_shader_int64" 15617a3babSopenharmony_ci SourceExtension "GL_NV_shader_atomic_int64" 16617a3babSopenharmony_ci Name 4 "main" 17617a3babSopenharmony_ci Name 8 "i64" 18617a3babSopenharmony_ci Name 12 "u64" 19617a3babSopenharmony_ci Name 14 "Buffer" 20617a3babSopenharmony_ci MemberName 14(Buffer) 0 "i64" 21617a3babSopenharmony_ci MemberName 14(Buffer) 1 "u64" 22617a3babSopenharmony_ci Name 16 "buf" 23617a3babSopenharmony_ci Name 84 "Struct" 24617a3babSopenharmony_ci MemberName 84(Struct) 0 "i64" 25617a3babSopenharmony_ci MemberName 84(Struct) 1 "u64" 26617a3babSopenharmony_ci Name 86 "s" 27617a3babSopenharmony_ci MemberDecorate 14(Buffer) 0 Offset 0 28617a3babSopenharmony_ci MemberDecorate 14(Buffer) 1 Offset 8 29617a3babSopenharmony_ci Decorate 14(Buffer) BufferBlock 30617a3babSopenharmony_ci Decorate 16(buf) DescriptorSet 0 31617a3babSopenharmony_ci Decorate 16(buf) Binding 0 32617a3babSopenharmony_ci Decorate 148 BuiltIn WorkgroupSize 33617a3babSopenharmony_ci 2: TypeVoid 34617a3babSopenharmony_ci 3: TypeFunction 2 35617a3babSopenharmony_ci 6: TypeInt 64 1 36617a3babSopenharmony_ci 7: TypePointer Function 6(int64_t) 37617a3babSopenharmony_ci 9: 6(int64_t) Constant 0 0 38617a3babSopenharmony_ci 10: TypeInt 64 0 39617a3babSopenharmony_ci 11: TypePointer Function 10(int64_t) 40617a3babSopenharmony_ci 13: 10(int64_t) Constant 0 0 41617a3babSopenharmony_ci 14(Buffer): TypeStruct 6(int64_t) 10(int64_t) 42617a3babSopenharmony_ci 15: TypePointer Uniform 14(Buffer) 43617a3babSopenharmony_ci 16(buf): 15(ptr) Variable Uniform 44617a3babSopenharmony_ci 17: TypeInt 32 1 45617a3babSopenharmony_ci 18: 17(int) Constant 0 46617a3babSopenharmony_ci 19: TypePointer Uniform 6(int64_t) 47617a3babSopenharmony_ci 21: 6(int64_t) Constant 4294967272 4294967295 48617a3babSopenharmony_ci 22: TypeInt 32 0 49617a3babSopenharmony_ci 23: 22(int) Constant 1 50617a3babSopenharmony_ci 24: 22(int) Constant 0 51617a3babSopenharmony_ci 28: 17(int) Constant 1 52617a3babSopenharmony_ci 29: TypePointer Uniform 10(int64_t) 53617a3babSopenharmony_ci 31: 10(int64_t) Constant 15 240 54617a3babSopenharmony_ci 84(Struct): TypeStruct 6(int64_t) 10(int64_t) 55617a3babSopenharmony_ci 85: TypePointer Workgroup 84(Struct) 56617a3babSopenharmony_ci 86(s): 85(ptr) Variable Workgroup 57617a3babSopenharmony_ci 87: TypePointer Workgroup 6(int64_t) 58617a3babSopenharmony_ci 92: TypePointer Workgroup 10(int64_t) 59617a3babSopenharmony_ci 146: TypeVector 22(int) 3 60617a3babSopenharmony_ci 147: 22(int) Constant 16 61617a3babSopenharmony_ci 148: 146(ivec3) ConstantComposite 147 147 23 62617a3babSopenharmony_ci 4(main): 2 Function None 3 63617a3babSopenharmony_ci 5: Label 64617a3babSopenharmony_ci 8(i64): 7(ptr) Variable Function 65617a3babSopenharmony_ci 12(u64): 11(ptr) Variable Function 66617a3babSopenharmony_ci Store 8(i64) 9 67617a3babSopenharmony_ci Store 12(u64) 13 68617a3babSopenharmony_ci 20: 19(ptr) AccessChain 16(buf) 18 69617a3babSopenharmony_ci 25: 6(int64_t) AtomicSMin 20 23 24 21 70617a3babSopenharmony_ci 26: 6(int64_t) Load 8(i64) 71617a3babSopenharmony_ci 27: 6(int64_t) IAdd 26 25 72617a3babSopenharmony_ci Store 8(i64) 27 73617a3babSopenharmony_ci 30: 29(ptr) AccessChain 16(buf) 28 74617a3babSopenharmony_ci 32: 10(int64_t) AtomicUMin 30 23 24 31 75617a3babSopenharmony_ci 33: 10(int64_t) Load 12(u64) 76617a3babSopenharmony_ci 34: 10(int64_t) IAdd 33 32 77617a3babSopenharmony_ci Store 12(u64) 34 78617a3babSopenharmony_ci 35: 19(ptr) AccessChain 16(buf) 18 79617a3babSopenharmony_ci 36: 6(int64_t) AtomicSMax 35 23 24 21 80617a3babSopenharmony_ci 37: 6(int64_t) Load 8(i64) 81617a3babSopenharmony_ci 38: 6(int64_t) IAdd 37 36 82617a3babSopenharmony_ci Store 8(i64) 38 83617a3babSopenharmony_ci 39: 29(ptr) AccessChain 16(buf) 28 84617a3babSopenharmony_ci 40: 10(int64_t) AtomicUMax 39 23 24 31 85617a3babSopenharmony_ci 41: 10(int64_t) Load 12(u64) 86617a3babSopenharmony_ci 42: 10(int64_t) IAdd 41 40 87617a3babSopenharmony_ci Store 12(u64) 42 88617a3babSopenharmony_ci 43: 19(ptr) AccessChain 16(buf) 18 89617a3babSopenharmony_ci 44: 6(int64_t) AtomicAnd 43 23 24 21 90617a3babSopenharmony_ci 45: 6(int64_t) Load 8(i64) 91617a3babSopenharmony_ci 46: 6(int64_t) IAdd 45 44 92617a3babSopenharmony_ci Store 8(i64) 46 93617a3babSopenharmony_ci 47: 29(ptr) AccessChain 16(buf) 28 94617a3babSopenharmony_ci 48: 10(int64_t) AtomicAnd 47 23 24 31 95617a3babSopenharmony_ci 49: 10(int64_t) Load 12(u64) 96617a3babSopenharmony_ci 50: 10(int64_t) IAdd 49 48 97617a3babSopenharmony_ci Store 12(u64) 50 98617a3babSopenharmony_ci 51: 19(ptr) AccessChain 16(buf) 18 99617a3babSopenharmony_ci 52: 6(int64_t) AtomicOr 51 23 24 21 100617a3babSopenharmony_ci 53: 6(int64_t) Load 8(i64) 101617a3babSopenharmony_ci 54: 6(int64_t) IAdd 53 52 102617a3babSopenharmony_ci Store 8(i64) 54 103617a3babSopenharmony_ci 55: 29(ptr) AccessChain 16(buf) 28 104617a3babSopenharmony_ci 56: 10(int64_t) AtomicOr 55 23 24 31 105617a3babSopenharmony_ci 57: 10(int64_t) Load 12(u64) 106617a3babSopenharmony_ci 58: 10(int64_t) IAdd 57 56 107617a3babSopenharmony_ci Store 12(u64) 58 108617a3babSopenharmony_ci 59: 19(ptr) AccessChain 16(buf) 18 109617a3babSopenharmony_ci 60: 6(int64_t) AtomicXor 59 23 24 21 110617a3babSopenharmony_ci 61: 6(int64_t) Load 8(i64) 111617a3babSopenharmony_ci 62: 6(int64_t) IAdd 61 60 112617a3babSopenharmony_ci Store 8(i64) 62 113617a3babSopenharmony_ci 63: 29(ptr) AccessChain 16(buf) 28 114617a3babSopenharmony_ci 64: 10(int64_t) AtomicXor 63 23 24 31 115617a3babSopenharmony_ci 65: 10(int64_t) Load 12(u64) 116617a3babSopenharmony_ci 66: 10(int64_t) IAdd 65 64 117617a3babSopenharmony_ci Store 12(u64) 66 118617a3babSopenharmony_ci 67: 19(ptr) AccessChain 16(buf) 18 119617a3babSopenharmony_ci 68: 6(int64_t) AtomicIAdd 67 23 24 21 120617a3babSopenharmony_ci 69: 6(int64_t) Load 8(i64) 121617a3babSopenharmony_ci 70: 6(int64_t) IAdd 69 68 122617a3babSopenharmony_ci Store 8(i64) 70 123617a3babSopenharmony_ci 71: 19(ptr) AccessChain 16(buf) 18 124617a3babSopenharmony_ci 72: 6(int64_t) AtomicExchange 71 23 24 21 125617a3babSopenharmony_ci 73: 6(int64_t) Load 8(i64) 126617a3babSopenharmony_ci 74: 6(int64_t) IAdd 73 72 127617a3babSopenharmony_ci Store 8(i64) 74 128617a3babSopenharmony_ci 75: 19(ptr) AccessChain 16(buf) 18 129617a3babSopenharmony_ci 76: 6(int64_t) Load 8(i64) 130617a3babSopenharmony_ci 77: 6(int64_t) AtomicCompareExchange 75 23 24 24 76 21 131617a3babSopenharmony_ci 78: 6(int64_t) Load 8(i64) 132617a3babSopenharmony_ci 79: 6(int64_t) IAdd 78 77 133617a3babSopenharmony_ci Store 8(i64) 79 134617a3babSopenharmony_ci 80: 6(int64_t) Load 8(i64) 135617a3babSopenharmony_ci 81: 19(ptr) AccessChain 16(buf) 18 136617a3babSopenharmony_ci Store 81 80 137617a3babSopenharmony_ci 82: 10(int64_t) Load 12(u64) 138617a3babSopenharmony_ci 83: 29(ptr) AccessChain 16(buf) 28 139617a3babSopenharmony_ci Store 83 82 140617a3babSopenharmony_ci Store 8(i64) 9 141617a3babSopenharmony_ci Store 12(u64) 13 142617a3babSopenharmony_ci 88: 87(ptr) AccessChain 86(s) 18 143617a3babSopenharmony_ci 89: 6(int64_t) AtomicSMin 88 23 24 21 144617a3babSopenharmony_ci 90: 6(int64_t) Load 8(i64) 145617a3babSopenharmony_ci 91: 6(int64_t) IAdd 90 89 146617a3babSopenharmony_ci Store 8(i64) 91 147617a3babSopenharmony_ci 93: 92(ptr) AccessChain 86(s) 28 148617a3babSopenharmony_ci 94: 10(int64_t) AtomicUMin 93 23 24 31 149617a3babSopenharmony_ci 95: 10(int64_t) Load 12(u64) 150617a3babSopenharmony_ci 96: 10(int64_t) IAdd 95 94 151617a3babSopenharmony_ci Store 12(u64) 96 152617a3babSopenharmony_ci 97: 87(ptr) AccessChain 86(s) 18 153617a3babSopenharmony_ci 98: 6(int64_t) AtomicSMax 97 23 24 21 154617a3babSopenharmony_ci 99: 6(int64_t) Load 8(i64) 155617a3babSopenharmony_ci 100: 6(int64_t) IAdd 99 98 156617a3babSopenharmony_ci Store 8(i64) 100 157617a3babSopenharmony_ci 101: 92(ptr) AccessChain 86(s) 28 158617a3babSopenharmony_ci 102: 10(int64_t) AtomicUMax 101 23 24 31 159617a3babSopenharmony_ci 103: 10(int64_t) Load 12(u64) 160617a3babSopenharmony_ci 104: 10(int64_t) IAdd 103 102 161617a3babSopenharmony_ci Store 12(u64) 104 162617a3babSopenharmony_ci 105: 87(ptr) AccessChain 86(s) 18 163617a3babSopenharmony_ci 106: 6(int64_t) AtomicAnd 105 23 24 21 164617a3babSopenharmony_ci 107: 6(int64_t) Load 8(i64) 165617a3babSopenharmony_ci 108: 6(int64_t) IAdd 107 106 166617a3babSopenharmony_ci Store 8(i64) 108 167617a3babSopenharmony_ci 109: 92(ptr) AccessChain 86(s) 28 168617a3babSopenharmony_ci 110: 10(int64_t) AtomicAnd 109 23 24 31 169617a3babSopenharmony_ci 111: 10(int64_t) Load 12(u64) 170617a3babSopenharmony_ci 112: 10(int64_t) IAdd 111 110 171617a3babSopenharmony_ci Store 12(u64) 112 172617a3babSopenharmony_ci 113: 87(ptr) AccessChain 86(s) 18 173617a3babSopenharmony_ci 114: 6(int64_t) AtomicOr 113 23 24 21 174617a3babSopenharmony_ci 115: 6(int64_t) Load 8(i64) 175617a3babSopenharmony_ci 116: 6(int64_t) IAdd 115 114 176617a3babSopenharmony_ci Store 8(i64) 116 177617a3babSopenharmony_ci 117: 92(ptr) AccessChain 86(s) 28 178617a3babSopenharmony_ci 118: 10(int64_t) AtomicOr 117 23 24 31 179617a3babSopenharmony_ci 119: 10(int64_t) Load 12(u64) 180617a3babSopenharmony_ci 120: 10(int64_t) IAdd 119 118 181617a3babSopenharmony_ci Store 12(u64) 120 182617a3babSopenharmony_ci 121: 87(ptr) AccessChain 86(s) 18 183617a3babSopenharmony_ci 122: 6(int64_t) AtomicXor 121 23 24 21 184617a3babSopenharmony_ci 123: 6(int64_t) Load 8(i64) 185617a3babSopenharmony_ci 124: 6(int64_t) IAdd 123 122 186617a3babSopenharmony_ci Store 8(i64) 124 187617a3babSopenharmony_ci 125: 92(ptr) AccessChain 86(s) 28 188617a3babSopenharmony_ci 126: 10(int64_t) AtomicXor 125 23 24 31 189617a3babSopenharmony_ci 127: 10(int64_t) Load 12(u64) 190617a3babSopenharmony_ci 128: 10(int64_t) IAdd 127 126 191617a3babSopenharmony_ci Store 12(u64) 128 192617a3babSopenharmony_ci 129: 87(ptr) AccessChain 86(s) 18 193617a3babSopenharmony_ci 130: 6(int64_t) AtomicIAdd 129 23 24 21 194617a3babSopenharmony_ci 131: 6(int64_t) Load 8(i64) 195617a3babSopenharmony_ci 132: 6(int64_t) IAdd 131 130 196617a3babSopenharmony_ci Store 8(i64) 132 197617a3babSopenharmony_ci 133: 87(ptr) AccessChain 86(s) 18 198617a3babSopenharmony_ci 134: 6(int64_t) AtomicExchange 133 23 24 21 199617a3babSopenharmony_ci 135: 6(int64_t) Load 8(i64) 200617a3babSopenharmony_ci 136: 6(int64_t) IAdd 135 134 201617a3babSopenharmony_ci Store 8(i64) 136 202617a3babSopenharmony_ci 137: 87(ptr) AccessChain 86(s) 18 203617a3babSopenharmony_ci 138: 6(int64_t) Load 8(i64) 204617a3babSopenharmony_ci 139: 6(int64_t) AtomicCompareExchange 137 23 24 24 138 21 205617a3babSopenharmony_ci 140: 6(int64_t) Load 8(i64) 206617a3babSopenharmony_ci 141: 6(int64_t) IAdd 140 139 207617a3babSopenharmony_ci Store 8(i64) 141 208617a3babSopenharmony_ci 142: 6(int64_t) Load 8(i64) 209617a3babSopenharmony_ci 143: 87(ptr) AccessChain 86(s) 18 210617a3babSopenharmony_ci Store 143 142 211617a3babSopenharmony_ci 144: 10(int64_t) Load 12(u64) 212617a3babSopenharmony_ci 145: 92(ptr) AccessChain 86(s) 28 213617a3babSopenharmony_ci Store 145 144 214617a3babSopenharmony_ci Return 215617a3babSopenharmony_ci FunctionEnd 216