aboutsummaryrefslogtreecommitdiff
path: root/Test/baseResults/spv.atomicInt64.comp.out
blob: 5b2e13404145752239875511976d7786107882dd (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
spv.atomicInt64.comp
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 149

                              Capability Shader
                              Capability Int64
                              Capability Int64Atomics
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main"
                              ExecutionMode 4 LocalSize 16 16 1
                              Source GLSL 450
                              SourceExtension  "GL_ARB_gpu_shader_int64"
                              SourceExtension  "GL_NV_shader_atomic_int64"
                              Name 4  "main"
                              Name 8  "i64"
                              Name 12  "u64"
                              Name 14  "Buffer"
                              MemberName 14(Buffer) 0  "i64"
                              MemberName 14(Buffer) 1  "u64"
                              Name 16  "buf"
                              Name 84  "Struct"
                              MemberName 84(Struct) 0  "i64"
                              MemberName 84(Struct) 1  "u64"
                              Name 86  "s"
                              MemberDecorate 14(Buffer) 0 Offset 0
                              MemberDecorate 14(Buffer) 1 Offset 8
                              Decorate 14(Buffer) BufferBlock
                              Decorate 16(buf) DescriptorSet 0
                              Decorate 16(buf) Binding 0
                              Decorate 148 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 64 1
               7:             TypePointer Function 6(int64_t)
               9:  6(int64_t) Constant 0 0
              10:             TypeInt 64 0
              11:             TypePointer Function 10(int64_t)
              13: 10(int64_t) Constant 0 0
      14(Buffer):             TypeStruct 6(int64_t) 10(int64_t)
              15:             TypePointer Uniform 14(Buffer)
         16(buf):     15(ptr) Variable Uniform
              17:             TypeInt 32 1
              18:     17(int) Constant 0
              19:             TypePointer Uniform 6(int64_t)
              21:  6(int64_t) Constant 4294967272 4294967295
              22:             TypeInt 32 0
              23:     22(int) Constant 1
              24:     22(int) Constant 0
              28:     17(int) Constant 1
              29:             TypePointer Uniform 10(int64_t)
              31: 10(int64_t) Constant 15 240
      84(Struct):             TypeStruct 6(int64_t) 10(int64_t)
              85:             TypePointer Workgroup 84(Struct)
           86(s):     85(ptr) Variable Workgroup
              87:             TypePointer Workgroup 6(int64_t)
              92:             TypePointer Workgroup 10(int64_t)
             146:             TypeVector 22(int) 3
             147:     22(int) Constant 16
             148:  146(ivec3) ConstantComposite 147 147 23
         4(main):           2 Function None 3
               5:             Label
          8(i64):      7(ptr) Variable Function
         12(u64):     11(ptr) Variable Function
                              Store 8(i64) 9
                              Store 12(u64) 13
              20:     19(ptr) AccessChain 16(buf) 18
              25:  6(int64_t) AtomicSMin 20 23 24 21
              26:  6(int64_t) Load 8(i64)
              27:  6(int64_t) IAdd 26 25
                              Store 8(i64) 27
              30:     29(ptr) AccessChain 16(buf) 28
              32: 10(int64_t) AtomicUMin 30 23 24 31
              33: 10(int64_t) Load 12(u64)
              34: 10(int64_t) IAdd 33 32
                              Store 12(u64) 34
              35:     19(ptr) AccessChain 16(buf) 18
              36:  6(int64_t) AtomicSMax 35 23 24 21
              37:  6(int64_t) Load 8(i64)
              38:  6(int64_t) IAdd 37 36
                              Store 8(i64) 38
              39:     29(ptr) AccessChain 16(buf) 28
              40: 10(int64_t) AtomicUMax 39 23 24 31
              41: 10(int64_t) Load 12(u64)
              42: 10(int64_t) IAdd 41 40
                              Store 12(u64) 42
              43:     19(ptr) AccessChain 16(buf) 18
              44:  6(int64_t) AtomicAnd 43 23 24 21
              45:  6(int64_t) Load 8(i64)
              46:  6(int64_t) IAdd 45 44
                              Store 8(i64) 46
              47:     29(ptr) AccessChain 16(buf) 28
              48: 10(int64_t) AtomicAnd 47 23 24 31
              49: 10(int64_t) Load 12(u64)
              50: 10(int64_t) IAdd 49 48
                              Store 12(u64) 50
              51:     19(ptr) AccessChain 16(buf) 18
              52:  6(int64_t) AtomicOr 51 23 24 21
              53:  6(int64_t) Load 8(i64)
              54:  6(int64_t) IAdd 53 52
                              Store 8(i64) 54
              55:     29(ptr) AccessChain 16(buf) 28
              56: 10(int64_t) AtomicOr 55 23 24 31
              57: 10(int64_t) Load 12(u64)
              58: 10(int64_t) IAdd 57 56
                              Store 12(u64) 58
              59:     19(ptr) AccessChain 16(buf) 18
              60:  6(int64_t) AtomicXor 59 23 24 21
              61:  6(int64_t) Load 8(i64)
              62:  6(int64_t) IAdd 61 60
                              Store 8(i64) 62
              63:     29(ptr) AccessChain 16(buf) 28
              64: 10(int64_t) AtomicXor 63 23 24 31
              65: 10(int64_t) Load 12(u64)
              66: 10(int64_t) IAdd 65 64
                              Store 12(u64) 66
              67:     19(ptr) AccessChain 16(buf) 18
              68:  6(int64_t) AtomicIAdd 67 23 24 21
              69:  6(int64_t) Load 8(i64)
              70:  6(int64_t) IAdd 69 68
                              Store 8(i64) 70
              71:     19(ptr) AccessChain 16(buf) 18
              72:  6(int64_t) AtomicExchange 71 23 24 21
              73:  6(int64_t) Load 8(i64)
              74:  6(int64_t) IAdd 73 72
                              Store 8(i64) 74
              75:     19(ptr) AccessChain 16(buf) 18
              76:  6(int64_t) Load 8(i64)
              77:  6(int64_t) AtomicCompareExchange 75 23 24 24 76 21
              78:  6(int64_t) Load 8(i64)
              79:  6(int64_t) IAdd 78 77
                              Store 8(i64) 79
              80:  6(int64_t) Load 8(i64)
              81:     19(ptr) AccessChain 16(buf) 18
                              Store 81 80
              82: 10(int64_t) Load 12(u64)
              83:     29(ptr) AccessChain 16(buf) 28
                              Store 83 82
                              Store 8(i64) 9
                              Store 12(u64) 13
              88:     87(ptr) AccessChain 86(s) 18
              89:  6(int64_t) AtomicSMin 88 23 24 21
              90:  6(int64_t) Load 8(i64)
              91:  6(int64_t) IAdd 90 89
                              Store 8(i64) 91
              93:     92(ptr) AccessChain 86(s) 28
              94: 10(int64_t) AtomicUMin 93 23 24 31
              95: 10(int64_t) Load 12(u64)
              96: 10(int64_t) IAdd 95 94
                              Store 12(u64) 96
              97:     87(ptr) AccessChain 86(s) 18
              98:  6(int64_t) AtomicSMax 97 23 24 21
              99:  6(int64_t) Load 8(i64)
             100:  6(int64_t) IAdd 99 98
                              Store 8(i64) 100
             101:     92(ptr) AccessChain 86(s) 28
             102: 10(int64_t) AtomicUMax 101 23 24 31
             103: 10(int64_t) Load 12(u64)
             104: 10(int64_t) IAdd 103 102
                              Store 12(u64) 104
             105:     87(ptr) AccessChain 86(s) 18
             106:  6(int64_t) AtomicAnd 105 23 24 21
             107:  6(int64_t) Load 8(i64)
             108:  6(int64_t) IAdd 107 106
                              Store 8(i64) 108
             109:     92(ptr) AccessChain 86(s) 28
             110: 10(int64_t) AtomicAnd 109 23 24 31
             111: 10(int64_t) Load 12(u64)
             112: 10(int64_t) IAdd 111 110
                              Store 12(u64) 112
             113:     87(ptr) AccessChain 86(s) 18
             114:  6(int64_t) AtomicOr 113 23 24 21
             115:  6(int64_t) Load 8(i64)
             116:  6(int64_t) IAdd 115 114
                              Store 8(i64) 116
             117:     92(ptr) AccessChain 86(s) 28
             118: 10(int64_t) AtomicOr 117 23 24 31
             119: 10(int64_t) Load 12(u64)
             120: 10(int64_t) IAdd 119 118
                              Store 12(u64) 120
             121:     87(ptr) AccessChain 86(s) 18
             122:  6(int64_t) AtomicXor 121 23 24 21
             123:  6(int64_t) Load 8(i64)
             124:  6(int64_t) IAdd 123 122
                              Store 8(i64) 124
             125:     92(ptr) AccessChain 86(s) 28
             126: 10(int64_t) AtomicXor 125 23 24 31
             127: 10(int64_t) Load 12(u64)
             128: 10(int64_t) IAdd 127 126
                              Store 12(u64) 128
             129:     87(ptr) AccessChain 86(s) 18
             130:  6(int64_t) AtomicIAdd 129 23 24 21
             131:  6(int64_t) Load 8(i64)
             132:  6(int64_t) IAdd 131 130
                              Store 8(i64) 132
             133:     87(ptr) AccessChain 86(s) 18
             134:  6(int64_t) AtomicExchange 133 23 24 21
             135:  6(int64_t) Load 8(i64)
             136:  6(int64_t) IAdd 135 134
                              Store 8(i64) 136
             137:     87(ptr) AccessChain 86(s) 18
             138:  6(int64_t) Load 8(i64)
             139:  6(int64_t) AtomicCompareExchange 137 23 24 24 138 21
             140:  6(int64_t) Load 8(i64)
             141:  6(int64_t) IAdd 140 139
                              Store 8(i64) 141
             142:  6(int64_t) Load 8(i64)
             143:     87(ptr) AccessChain 86(s) 18
                              Store 143 142
             144: 10(int64_t) Load 12(u64)
             145:     92(ptr) AccessChain 86(s) 28
                              Store 145 144
                              Return
                              FunctionEnd