blob: 089ef16864402cea6239b30a064844be900a2a86 [file] [edit]
spv.longVectorBuiltins.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 320
Capability Shader
Capability Float16
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 "vf"
Name 14 "f"
Name 28 "vf16"
Name 102 "tempReturn"
Name 104 "tempArg"
Name 105 "ResType"
Name 149 "vb"
Name 176 "vi"
Name 182 "vu"
Name 194 "ResType"
Name 241 "b"
Name 248 "tempReturn"
Name 251 "tempArg"
Name 252 "ResType"
Name 258 "tempReturn"
Name 261 "tempArg"
Name 269 "tempArg"
Name 270 "tempArg"
Name 278 "tempArg"
Name 279 "tempArg"
Name 280 "ResType"
Name 288 "i"
Decorate 319 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 5
8: TypePointer Function 7(fvec)
13: TypePointer Function 6(float)
25: TypeFloat 16
26: TypeVector 25(float16_t) 5
27: TypePointer Function 26(f16vec)
105(ResType): TypeStruct 7(fvec) 7(fvec)
146: TypeBool
147: TypeVector 146(bool) 5
148: TypePointer Function 147(bvec)
173: TypeInt 32 1
174: TypeVector 173(int) 5
175: TypePointer Function 174(ivec)
179: TypeInt 32 0
180: TypeVector 179(int) 5
181: TypePointer Function 180(ivec)
194(ResType): TypeStruct 7(fvec) 174(ivec)
240: TypePointer Function 146(bool)
252(ResType): TypeStruct 180(ivec) 180(ivec)
280(ResType): TypeStruct 174(ivec) 174(ivec)
287: TypePointer Function 173(int)
316: TypeVector 179(int) 3
317: 179(int) Constant 64
318: 179(int) Constant 1
319: 316(ivec3) ConstantComposite 317 318 318
4(main): 2 Function None 3
5: Label
9(vf): 8(ptr) Variable Function
14(f): 13(ptr) Variable Function
28(vf16): 27(ptr) Variable Function
102(tempReturn): 8(ptr) Variable Function
104(tempArg): 8(ptr) Variable Function
149(vb): 148(ptr) Variable Function
176(vi): 175(ptr) Variable Function
182(vu): 181(ptr) Variable Function
241(b): 240(ptr) Variable Function
248(tempReturn): 181(ptr) Variable Function
251(tempArg): 181(ptr) Variable Function
258(tempReturn): 181(ptr) Variable Function
261(tempArg): 181(ptr) Variable Function
269(tempArg): 181(ptr) Variable Function
270(tempArg): 181(ptr) Variable Function
278(tempArg): 175(ptr) Variable Function
279(tempArg): 175(ptr) Variable Function
288(i): 287(ptr) Variable Function
10: 7(fvec) Load 9(vf)
11: 7(fvec) Load 9(vf)
12: 7(fvec) ExtInst 1(GLSL.std.450) 40(FMax) 10 11
Store 9(vf) 12
15: 6(float) Load 14(f)
16: 6(float) Load 14(f)
17: 7(fvec) Load 9(vf)
18: 7(fvec) CompositeConstruct 15 15 15 15 15
19: 7(fvec) CompositeConstruct 16 16 16 16 16
20: 7(fvec) ExtInst 1(GLSL.std.450) 49(SmoothStep) 18 19 17
Store 9(vf) 20
21: 7(fvec) Load 9(vf)
22: 7(fvec) Load 9(vf)
23: 7(fvec) Load 9(vf)
24: 7(fvec) ExtInst 1(GLSL.std.450) 49(SmoothStep) 21 22 23
Store 9(vf) 24
29: 26(f16vec) Load 28(vf16)
30: 26(f16vec) Load 28(vf16)
31: 26(f16vec) Load 28(vf16)
32: 26(f16vec) ExtInst 1(GLSL.std.450) 49(SmoothStep) 29 30 31
Store 28(vf16) 32
33: 7(fvec) Load 9(vf)
34: 7(fvec) ExtInst 1(GLSL.std.450) 11(Radians) 33
Store 9(vf) 34
35: 7(fvec) Load 9(vf)
36: 7(fvec) ExtInst 1(GLSL.std.450) 12(Degrees) 35
Store 9(vf) 36
37: 7(fvec) Load 9(vf)
38: 7(fvec) ExtInst 1(GLSL.std.450) 13(Sin) 37
Store 9(vf) 38
39: 7(fvec) Load 9(vf)
40: 7(fvec) ExtInst 1(GLSL.std.450) 14(Cos) 39
Store 9(vf) 40
41: 7(fvec) Load 9(vf)
42: 7(fvec) ExtInst 1(GLSL.std.450) 15(Tan) 41
Store 9(vf) 42
43: 7(fvec) Load 9(vf)
44: 7(fvec) ExtInst 1(GLSL.std.450) 16(Asin) 43
Store 9(vf) 44
45: 7(fvec) Load 9(vf)
46: 7(fvec) ExtInst 1(GLSL.std.450) 17(Acos) 45
Store 9(vf) 46
47: 7(fvec) Load 9(vf)
48: 7(fvec) ExtInst 1(GLSL.std.450) 18(Atan) 47
Store 9(vf) 48
49: 7(fvec) Load 9(vf)
50: 7(fvec) Load 9(vf)
51: 7(fvec) ExtInst 1(GLSL.std.450) 25(Atan2) 49 50
Store 9(vf) 51
52: 7(fvec) Load 9(vf)
53: 7(fvec) ExtInst 1(GLSL.std.450) 19(Sinh) 52
Store 9(vf) 53
54: 7(fvec) Load 9(vf)
55: 7(fvec) ExtInst 1(GLSL.std.450) 20(Cosh) 54
Store 9(vf) 55
56: 7(fvec) Load 9(vf)
57: 7(fvec) ExtInst 1(GLSL.std.450) 21(Tanh) 56
Store 9(vf) 57
58: 7(fvec) Load 9(vf)
59: 7(fvec) ExtInst 1(GLSL.std.450) 22(Asinh) 58
Store 9(vf) 59
60: 7(fvec) Load 9(vf)
61: 7(fvec) ExtInst 1(GLSL.std.450) 23(Acosh) 60
Store 9(vf) 61
62: 7(fvec) Load 9(vf)
63: 7(fvec) ExtInst 1(GLSL.std.450) 24(Atanh) 62
Store 9(vf) 63
64: 7(fvec) Load 9(vf)
65: 7(fvec) Load 9(vf)
66: 7(fvec) ExtInst 1(GLSL.std.450) 26(Pow) 64 65
Store 9(vf) 66
67: 7(fvec) Load 9(vf)
68: 7(fvec) ExtInst 1(GLSL.std.450) 27(Exp) 67
Store 9(vf) 68
69: 7(fvec) Load 9(vf)
70: 7(fvec) ExtInst 1(GLSL.std.450) 28(Log) 69
Store 9(vf) 70
71: 7(fvec) Load 9(vf)
72: 7(fvec) ExtInst 1(GLSL.std.450) 29(Exp2) 71
Store 9(vf) 72
73: 7(fvec) Load 9(vf)
74: 7(fvec) ExtInst 1(GLSL.std.450) 30(Log2) 73
Store 9(vf) 74
75: 7(fvec) Load 9(vf)
76: 7(fvec) ExtInst 1(GLSL.std.450) 31(Sqrt) 75
Store 9(vf) 76
77: 7(fvec) Load 9(vf)
78: 7(fvec) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 77
Store 9(vf) 78
79: 7(fvec) Load 9(vf)
80: 7(fvec) ExtInst 1(GLSL.std.450) 4(FAbs) 79
Store 9(vf) 80
81: 7(fvec) Load 9(vf)
82: 7(fvec) ExtInst 1(GLSL.std.450) 6(FSign) 81
Store 9(vf) 82
83: 7(fvec) Load 9(vf)
84: 7(fvec) ExtInst 1(GLSL.std.450) 8(Floor) 83
Store 9(vf) 84
85: 7(fvec) Load 9(vf)
86: 7(fvec) ExtInst 1(GLSL.std.450) 3(Trunc) 85
Store 9(vf) 86
87: 7(fvec) Load 9(vf)
88: 7(fvec) ExtInst 1(GLSL.std.450) 1(Round) 87
Store 9(vf) 88
89: 7(fvec) Load 9(vf)
90: 7(fvec) ExtInst 1(GLSL.std.450) 2(RoundEven) 89
Store 9(vf) 90
91: 7(fvec) Load 9(vf)
92: 7(fvec) ExtInst 1(GLSL.std.450) 9(Ceil) 91
Store 9(vf) 92
93: 7(fvec) Load 9(vf)
94: 7(fvec) ExtInst 1(GLSL.std.450) 10(Fract) 93
Store 9(vf) 94
95: 7(fvec) Load 9(vf)
96: 6(float) Load 14(f)
97: 7(fvec) CompositeConstruct 96 96 96 96 96
98: 7(fvec) FMod 95 97
Store 9(vf) 98
99: 7(fvec) Load 9(vf)
100: 7(fvec) Load 9(vf)
101: 7(fvec) FMod 99 100
Store 9(vf) 101
103: 7(fvec) Load 9(vf)
106:105(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 103
107: 7(fvec) CompositeExtract 106 1
Store 104(tempArg) 107
108: 7(fvec) CompositeExtract 106 0
Store 102(tempReturn) 108
109: 7(fvec) Load 104(tempArg)
Store 9(vf) 109
110: 7(fvec) Load 102(tempReturn)
Store 9(vf) 110
111: 7(fvec) Load 9(vf)
112: 6(float) Load 14(f)
113: 7(fvec) CompositeConstruct 112 112 112 112 112
114: 7(fvec) ExtInst 1(GLSL.std.450) 37(FMin) 111 113
Store 9(vf) 114
115: 7(fvec) Load 9(vf)
116: 7(fvec) Load 9(vf)
117: 7(fvec) ExtInst 1(GLSL.std.450) 37(FMin) 115 116
Store 9(vf) 117
118: 7(fvec) Load 9(vf)
119: 6(float) Load 14(f)
120: 7(fvec) CompositeConstruct 119 119 119 119 119
121: 7(fvec) ExtInst 1(GLSL.std.450) 40(FMax) 118 120
Store 9(vf) 121
122: 7(fvec) Load 9(vf)
123: 7(fvec) Load 9(vf)
124: 7(fvec) ExtInst 1(GLSL.std.450) 40(FMax) 122 123
Store 9(vf) 124
125: 7(fvec) Load 9(vf)
126: 6(float) Load 14(f)
127: 6(float) Load 14(f)
128: 7(fvec) CompositeConstruct 126 126 126 126 126
129: 7(fvec) CompositeConstruct 127 127 127 127 127
130: 7(fvec) ExtInst 1(GLSL.std.450) 43(FClamp) 125 128 129
Store 9(vf) 130
131: 7(fvec) Load 9(vf)
132: 7(fvec) Load 9(vf)
133: 7(fvec) Load 9(vf)
134: 7(fvec) ExtInst 1(GLSL.std.450) 43(FClamp) 131 132 133
Store 9(vf) 134
135: 7(fvec) Load 9(vf)
136: 7(fvec) Load 9(vf)
137: 6(float) Load 14(f)
138: 7(fvec) CompositeConstruct 137 137 137 137 137
139: 7(fvec) ExtInst 1(GLSL.std.450) 46(FMix) 135 136 138
Store 9(vf) 139
140: 7(fvec) Load 9(vf)
141: 7(fvec) Load 9(vf)
142: 7(fvec) Load 9(vf)
143: 7(fvec) ExtInst 1(GLSL.std.450) 46(FMix) 140 141 142
Store 9(vf) 143
144: 7(fvec) Load 9(vf)
145: 7(fvec) Load 9(vf)
150: 147(bvec) Load 149(vb)
151: 7(fvec) Select 150 145 144
Store 9(vf) 151
152: 7(fvec) Load 9(vf)
153: 7(fvec) Load 9(vf)
154: 7(fvec) ExtInst 1(GLSL.std.450) 48(Step) 152 153
Store 9(vf) 154
155: 6(float) Load 14(f)
156: 7(fvec) Load 9(vf)
157: 7(fvec) CompositeConstruct 155 155 155 155 155
158: 7(fvec) ExtInst 1(GLSL.std.450) 48(Step) 157 156
Store 9(vf) 158
159: 7(fvec) Load 9(vf)
160: 7(fvec) Load 9(vf)
161: 7(fvec) Load 9(vf)
162: 7(fvec) ExtInst 1(GLSL.std.450) 49(SmoothStep) 159 160 161
Store 9(vf) 162
163: 6(float) Load 14(f)
164: 6(float) Load 14(f)
165: 7(fvec) Load 9(vf)
166: 7(fvec) CompositeConstruct 163 163 163 163 163
167: 7(fvec) CompositeConstruct 164 164 164 164 164
168: 7(fvec) ExtInst 1(GLSL.std.450) 49(SmoothStep) 166 167 165
Store 9(vf) 168
169: 7(fvec) Load 9(vf)
170: 147(bvec) IsNan 169
Store 149(vb) 170
171: 7(fvec) Load 9(vf)
172: 147(bvec) IsInf 171
Store 149(vb) 172
177: 7(fvec) Load 9(vf)
178: 174(ivec) Bitcast 177
Store 176(vi) 178
183: 7(fvec) Load 9(vf)
184: 180(ivec) Bitcast 183
Store 182(vu) 184
185: 174(ivec) Load 176(vi)
186: 7(fvec) Bitcast 185
Store 9(vf) 186
187: 180(ivec) Load 182(vu)
188: 7(fvec) Bitcast 187
Store 9(vf) 188
189: 7(fvec) Load 9(vf)
190: 7(fvec) Load 9(vf)
191: 7(fvec) Load 9(vf)
192: 7(fvec) ExtInst 1(GLSL.std.450) 50(Fma) 189 190 191
Store 9(vf) 192
193: 7(fvec) Load 9(vf)
195:194(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 193
196: 174(ivec) CompositeExtract 195 1
Store 176(vi) 196
197: 7(fvec) CompositeExtract 195 0
Store 9(vf) 197
198: 7(fvec) Load 9(vf)
199: 174(ivec) Load 176(vi)
200: 7(fvec) ExtInst 1(GLSL.std.450) 53(Ldexp) 198 199
Store 9(vf) 200
201: 7(fvec) Load 9(vf)
202: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 201
Store 14(f) 202
203: 7(fvec) Load 9(vf)
204: 7(fvec) Load 9(vf)
205: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 203 204
Store 14(f) 205
206: 7(fvec) Load 9(vf)
207: 7(fvec) Load 9(vf)
208: 6(float) Dot 206 207
Store 14(f) 208
209: 7(fvec) Load 9(vf)
210: 7(fvec) ExtInst 1(GLSL.std.450) 69(Normalize) 209
Store 9(vf) 210
211: 7(fvec) Load 9(vf)
212: 7(fvec) Load 9(vf)
213: 7(fvec) Load 9(vf)
214: 7(fvec) ExtInst 1(GLSL.std.450) 70(FaceForward) 211 212 213
Store 9(vf) 214
215: 7(fvec) Load 9(vf)
216: 7(fvec) Load 9(vf)
217: 7(fvec) ExtInst 1(GLSL.std.450) 71(Reflect) 215 216
Store 9(vf) 217
218: 7(fvec) Load 9(vf)
219: 7(fvec) Load 9(vf)
220: 6(float) Load 14(f)
221: 7(fvec) ExtInst 1(GLSL.std.450) 72(Refract) 218 219 220
Store 9(vf) 221
222: 7(fvec) Load 9(vf)
223: 7(fvec) Load 9(vf)
224: 147(bvec) FOrdLessThan 222 223
Store 149(vb) 224
225: 7(fvec) Load 9(vf)
226: 7(fvec) Load 9(vf)
227: 147(bvec) FOrdLessThanEqual 225 226
Store 149(vb) 227
228: 7(fvec) Load 9(vf)
229: 7(fvec) Load 9(vf)
230: 147(bvec) FOrdGreaterThan 228 229
Store 149(vb) 230
231: 7(fvec) Load 9(vf)
232: 7(fvec) Load 9(vf)
233: 147(bvec) FOrdGreaterThanEqual 231 232
Store 149(vb) 233
234: 7(fvec) Load 9(vf)
235: 7(fvec) Load 9(vf)
236: 147(bvec) FOrdEqual 234 235
Store 149(vb) 236
237: 7(fvec) Load 9(vf)
238: 7(fvec) Load 9(vf)
239: 147(bvec) FUnordNotEqual 237 238
Store 149(vb) 239
242: 147(bvec) Load 149(vb)
243: 146(bool) Any 242
Store 241(b) 243
244: 147(bvec) Load 149(vb)
245: 146(bool) All 244
Store 241(b) 245
246: 147(bvec) Load 149(vb)
247: 147(bvec) LogicalNot 246
Store 149(vb) 247
249: 180(ivec) Load 182(vu)
250: 180(ivec) Load 182(vu)
253:252(ResType) IAddCarry 249 250
254: 180(ivec) CompositeExtract 253 1
Store 251(tempArg) 254
255: 180(ivec) CompositeExtract 253 0
Store 248(tempReturn) 255
256: 180(ivec) Load 251(tempArg)
Store 182(vu) 256
257: 180(ivec) Load 248(tempReturn)
Store 182(vu) 257
259: 180(ivec) Load 182(vu)
260: 180(ivec) Load 182(vu)
262:252(ResType) ISubBorrow 259 260
263: 180(ivec) CompositeExtract 262 1
Store 261(tempArg) 263
264: 180(ivec) CompositeExtract 262 0
Store 258(tempReturn) 264
265: 180(ivec) Load 261(tempArg)
Store 182(vu) 265
266: 180(ivec) Load 258(tempReturn)
Store 182(vu) 266
267: 180(ivec) Load 182(vu)
268: 180(ivec) Load 182(vu)
271:252(ResType) UMulExtended 267 268
272: 180(ivec) CompositeExtract 271 0
Store 270(tempArg) 272
273: 180(ivec) CompositeExtract 271 1
Store 269(tempArg) 273
274: 180(ivec) Load 269(tempArg)
Store 182(vu) 274
275: 180(ivec) Load 270(tempArg)
Store 182(vu) 275
276: 174(ivec) Load 176(vi)
277: 174(ivec) Load 176(vi)
281:280(ResType) SMulExtended 276 277
282: 174(ivec) CompositeExtract 281 0
Store 279(tempArg) 282
283: 174(ivec) CompositeExtract 281 1
Store 278(tempArg) 283
284: 174(ivec) Load 278(tempArg)
Store 176(vi) 284
285: 174(ivec) Load 279(tempArg)
Store 176(vi) 285
286: 180(ivec) Load 182(vu)
289: 173(int) Load 288(i)
290: 173(int) Load 288(i)
291: 180(ivec) BitFieldUExtract 286 289 290
Store 182(vu) 291
292: 180(ivec) Load 182(vu)
293: 180(ivec) Load 182(vu)
294: 173(int) Load 288(i)
295: 173(int) Load 288(i)
296: 180(ivec) BitFieldInsert 292 293 294 295
Store 182(vu) 296
297: 180(ivec) Load 182(vu)
298: 180(ivec) BitReverse 297
Store 182(vu) 298
299: 180(ivec) Load 182(vu)
300: 174(ivec) BitCount 299
Store 176(vi) 300
301: 180(ivec) Load 182(vu)
302: 174(ivec) ExtInst 1(GLSL.std.450) 73(FindILsb) 301
Store 176(vi) 302
303: 180(ivec) Load 182(vu)
304: 174(ivec) ExtInst 1(GLSL.std.450) 75(FindUMsb) 303
Store 176(vi) 304
305: 180(ivec) Load 182(vu)
306: 180(ivec) Load 182(vu)
307: 147(bvec) Load 149(vb)
308: 180(ivec) Select 307 306 305
Store 182(vu) 308
309: 147(bvec) Load 149(vb)
310: 147(bvec) Load 149(vb)
311: 147(bvec) Load 149(vb)
312: 147(bvec) Select 311 310 309
Store 149(vb) 312
313: 180(ivec) Load 182(vu)
314: 180(ivec) Load 182(vu)
315: 180(ivec) ExpectKHR 313 314
Store 182(vu) 315
Return
FunctionEnd