1/*
2 * Copyright (C) 2020 Collabora, Ltd.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/* Autogenerated file, do not edit */
25
26#include "bi_opcodes.h"
27
28struct bi_op_props bi_opcode_props[BI_NUM_OPCODES] = {
29
30    [BI_OPCODE_ACMPSTORE_I32] = {
31        "ACMPSTORE.i32", BIFROST_MESSAGE_ATOMIC, BI_SIZE_32,
32        BI_SR_COUNT_2, 1, 0, 0, 0,
33        0, 0, 1, 0, 0, 0,
34        0, 0,
35    },
36
37    [BI_OPCODE_ACMPSTORE_I64] = {
38        "ACMPSTORE.i64", BIFROST_MESSAGE_ATOMIC, BI_SIZE_64,
39        BI_SR_COUNT_4, 1, 0, 0, 0,
40        0, 0, 1, 0, 0, 0,
41        0, 0,
42    },
43
44    [BI_OPCODE_ACMPXCHG_I32] = {
45        "ACMPXCHG.i32", BIFROST_MESSAGE_ATOMIC, BI_SIZE_32,
46        BI_SR_COUNT_2, 1, 1, 0, 0,
47        0, 0, 1, 0, 0, 0,
48        0, 0,
49    },
50
51    [BI_OPCODE_ACMPXCHG_I64] = {
52        "ACMPXCHG.i64", BIFROST_MESSAGE_ATOMIC, BI_SIZE_64,
53        BI_SR_COUNT_4, 1, 1, 0, 0,
54        0, 0, 1, 0, 0, 0,
55        0, 0,
56    },
57
58    [BI_OPCODE_ARSHIFT_I32] = {
59        "ARSHIFT.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
60        BI_SR_COUNT_0, 0, 0, 0, 0,
61        0, 1, 0, 0, 0, 0,
62        0, 0,
63    },
64
65    [BI_OPCODE_ARSHIFT_V2I16] = {
66        "ARSHIFT.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
67        BI_SR_COUNT_0, 0, 0, 0, 0,
68        0, 1, 0, 0, 0, 0,
69        0, 0,
70    },
71
72    [BI_OPCODE_ARSHIFT_V4I8] = {
73        "ARSHIFT.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
74        BI_SR_COUNT_0, 0, 0, 0, 0,
75        0, 1, 0, 0, 0, 0,
76        0, 0,
77    },
78
79    [BI_OPCODE_ARSHIFT_DOUBLE_I32] = {
80        "ARSHIFT_DOUBLE.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
81        BI_SR_COUNT_0, 0, 0, 0, 0,
82        0, 1, 0, 0, 0, 0,
83        0, 0,
84    },
85
86    [BI_OPCODE_ATEST] = {
87        "ATEST", BIFROST_MESSAGE_ATEST, BI_SIZE_32,
88        BI_SR_COUNT_1, 0, 1, 0, 0,
89        1, 0, 1, 0, 0, 0,
90        0, 0,
91    },
92
93    [BI_OPCODE_ATOM_C_I32] = {
94        "ATOM_C.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
95        BI_SR_COUNT_0, 0, 0, 0, 0,
96        0, 1, 0, 0, 0, 0,
97        0, 0,
98    },
99
100    [BI_OPCODE_ATOM_C_I64] = {
101        "ATOM_C.i64", BIFROST_MESSAGE_NONE, BI_SIZE_64,
102        BI_SR_COUNT_0, 0, 0, 0, 0,
103        0, 1, 0, 0, 0, 0,
104        0, 0,
105    },
106
107    [BI_OPCODE_ATOM_C1_I32] = {
108        "ATOM_C1.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
109        BI_SR_COUNT_0, 0, 0, 0, 0,
110        0, 1, 0, 0, 0, 0,
111        0, 0,
112    },
113
114    [BI_OPCODE_ATOM_C1_I64] = {
115        "ATOM_C1.i64", BIFROST_MESSAGE_NONE, BI_SIZE_64,
116        BI_SR_COUNT_0, 0, 0, 0, 0,
117        0, 1, 0, 0, 0, 0,
118        0, 0,
119    },
120
121    [BI_OPCODE_ATOM_C1_RETURN_I32] = {
122        "ATOM_C1_RETURN.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
123        BI_SR_COUNT_0, 0, 0, 0, 0,
124        0, 1, 0, 0, 0, 0,
125        0, 0,
126    },
127
128    [BI_OPCODE_ATOM_C1_RETURN_I64] = {
129        "ATOM_C1_RETURN.i64", BIFROST_MESSAGE_NONE, BI_SIZE_64,
130        BI_SR_COUNT_0, 0, 0, 0, 0,
131        0, 1, 0, 0, 0, 0,
132        0, 0,
133    },
134
135    [BI_OPCODE_ATOM_CX] = {
136        "ATOM_CX", BIFROST_MESSAGE_ATOMIC, BI_SIZE_32,
137        BI_SR_COUNT_SR_COUNT, 1, 1, 0, 0,
138        0, 0, 1, 0, 0, 0,
139        0, 0,
140    },
141
142    [BI_OPCODE_ATOM_C_RETURN_I32] = {
143        "ATOM_C_RETURN.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
144        BI_SR_COUNT_0, 0, 0, 0, 0,
145        0, 1, 0, 0, 0, 0,
146        0, 0,
147    },
148
149    [BI_OPCODE_ATOM_C_RETURN_I64] = {
150        "ATOM_C_RETURN.i64", BIFROST_MESSAGE_NONE, BI_SIZE_64,
151        BI_SR_COUNT_0, 0, 0, 0, 0,
152        0, 1, 0, 0, 0, 0,
153        0, 0,
154    },
155
156    [BI_OPCODE_ATOM_POST_I32] = {
157        "ATOM_POST.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
158        BI_SR_COUNT_0, 0, 0, 0, 0,
159        0, 1, 0, 0, 0, 0,
160        0, 0,
161    },
162
163    [BI_OPCODE_ATOM_POST_I64] = {
164        "ATOM_POST.i64", BIFROST_MESSAGE_NONE, BI_SIZE_64,
165        BI_SR_COUNT_0, 0, 0, 0, 0,
166        0, 1, 0, 0, 0, 0,
167        0, 0,
168    },
169
170    [BI_OPCODE_ATOM_PRE_I64] = {
171        "ATOM_PRE.i64", BIFROST_MESSAGE_NONE, BI_SIZE_64,
172        BI_SR_COUNT_0, 0, 0, 0, 0,
173        0, 1, 0, 0, 0, 0,
174        0, 0,
175    },
176
177    [BI_OPCODE_AXCHG_I32] = {
178        "AXCHG.i32", BIFROST_MESSAGE_ATOMIC, BI_SIZE_32,
179        BI_SR_COUNT_1, 1, 1, 0, 0,
180        0, 0, 1, 0, 0, 0,
181        0, 0,
182    },
183
184    [BI_OPCODE_AXCHG_I64] = {
185        "AXCHG.i64", BIFROST_MESSAGE_ATOMIC, BI_SIZE_64,
186        BI_SR_COUNT_2, 1, 1, 0, 0,
187        0, 0, 1, 0, 0, 0,
188        0, 0,
189    },
190
191    [BI_OPCODE_BARRIER] = {
192        "BARRIER", BIFROST_MESSAGE_BARRIER, BI_SIZE_32,
193        BI_SR_COUNT_0, 0, 0, 1, 0,
194        0, 0, 1, 0, 0, 0,
195        0, 0,
196    },
197
198    [BI_OPCODE_BITREV_I32] = {
199        "BITREV.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
200        BI_SR_COUNT_0, 0, 0, 0, 0,
201        0, 1, 0, 0, 0, 0,
202        0, 0,
203    },
204
205    [BI_OPCODE_BLEND] = {
206        "BLEND", BIFROST_MESSAGE_BLEND, BI_SIZE_32,
207        BI_SR_COUNT_SR_COUNT, 1, 0, 1, 0,
208        0, 0, 1, 0, 0, 0,
209        0, 0,
210    },
211
212    [BI_OPCODE_BRANCH_F16] = {
213        "BRANCH.f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
214        BI_SR_COUNT_0, 0, 0, 1, 1,
215        0, 0, 1, 0, 0, 0,
216        0, 0,
217    },
218
219    [BI_OPCODE_BRANCH_F32] = {
220        "BRANCH.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
221        BI_SR_COUNT_0, 0, 0, 1, 1,
222        0, 0, 1, 0, 0, 0,
223        0, 0,
224    },
225
226    [BI_OPCODE_BRANCH_I16] = {
227        "BRANCH.i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
228        BI_SR_COUNT_0, 0, 0, 1, 1,
229        0, 0, 1, 0, 0, 0,
230        0, 0,
231    },
232
233    [BI_OPCODE_BRANCH_I32] = {
234        "BRANCH.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
235        BI_SR_COUNT_0, 0, 0, 1, 1,
236        0, 0, 1, 0, 0, 0,
237        0, 0,
238    },
239
240    [BI_OPCODE_BRANCH_S16] = {
241        "BRANCH.s16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
242        BI_SR_COUNT_0, 0, 0, 1, 1,
243        0, 0, 1, 0, 0, 0,
244        0, 0,
245    },
246
247    [BI_OPCODE_BRANCH_S32] = {
248        "BRANCH.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
249        BI_SR_COUNT_0, 0, 0, 1, 1,
250        0, 0, 1, 0, 0, 0,
251        0, 0,
252    },
253
254    [BI_OPCODE_BRANCH_U16] = {
255        "BRANCH.u16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
256        BI_SR_COUNT_0, 0, 0, 1, 1,
257        0, 0, 1, 0, 0, 0,
258        0, 0,
259    },
260
261    [BI_OPCODE_BRANCH_U32] = {
262        "BRANCH.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
263        BI_SR_COUNT_0, 0, 0, 1, 1,
264        0, 0, 1, 0, 0, 0,
265        0, 0,
266    },
267
268    [BI_OPCODE_BRANCHC_I16] = {
269        "BRANCHC.i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
270        BI_SR_COUNT_0, 0, 0, 1, 1,
271        0, 0, 1, 0, 0, 0,
272        0, 0,
273    },
274
275    [BI_OPCODE_BRANCHC_I32] = {
276        "BRANCHC.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
277        BI_SR_COUNT_0, 0, 0, 1, 1,
278        0, 0, 1, 0, 0, 0,
279        0, 0,
280    },
281
282    [BI_OPCODE_BRANCHZ_F16] = {
283        "BRANCHZ.f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
284        BI_SR_COUNT_0, 0, 0, 1, 1,
285        0, 0, 1, 0, 0, 0,
286        0, 0,
287    },
288
289    [BI_OPCODE_BRANCHZ_F32] = {
290        "BRANCHZ.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
291        BI_SR_COUNT_0, 0, 0, 1, 1,
292        0, 0, 1, 0, 0, 0,
293        0, 0,
294    },
295
296    [BI_OPCODE_BRANCHZ_I16] = {
297        "BRANCHZ.i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
298        BI_SR_COUNT_0, 0, 0, 1, 1,
299        0, 0, 1, 0, 0, 0,
300        0, 0,
301    },
302
303    [BI_OPCODE_BRANCHZ_I32] = {
304        "BRANCHZ.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
305        BI_SR_COUNT_0, 0, 0, 1, 1,
306        0, 0, 1, 0, 0, 0,
307        0, 0,
308    },
309
310    [BI_OPCODE_BRANCHZ_S16] = {
311        "BRANCHZ.s16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
312        BI_SR_COUNT_0, 0, 0, 1, 1,
313        0, 0, 1, 0, 0, 0,
314        0, 0,
315    },
316
317    [BI_OPCODE_BRANCHZ_S32] = {
318        "BRANCHZ.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
319        BI_SR_COUNT_0, 0, 0, 1, 1,
320        0, 0, 1, 0, 0, 0,
321        0, 0,
322    },
323
324    [BI_OPCODE_BRANCHZ_U16] = {
325        "BRANCHZ.u16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
326        BI_SR_COUNT_0, 0, 0, 1, 1,
327        0, 0, 1, 0, 0, 0,
328        0, 0,
329    },
330
331    [BI_OPCODE_BRANCHZ_U32] = {
332        "BRANCHZ.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
333        BI_SR_COUNT_0, 0, 0, 1, 1,
334        0, 0, 1, 0, 0, 0,
335        0, 0,
336    },
337
338    [BI_OPCODE_BRANCH_DIVERG] = {
339        "BRANCH_DIVERG", BIFROST_MESSAGE_NONE, BI_SIZE_32,
340        BI_SR_COUNT_0, 0, 0, 1, 1,
341        0, 0, 1, 0, 0, 0,
342        0, 0,
343    },
344
345    [BI_OPCODE_BRANCH_LOWBITS_F32] = {
346        "BRANCH_LOWBITS.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
347        BI_SR_COUNT_0, 0, 0, 1, 1,
348        0, 0, 1, 0, 0, 0,
349        0, 0,
350    },
351
352    [BI_OPCODE_BRANCH_NO_DIVERG] = {
353        "BRANCH_NO_DIVERG", BIFROST_MESSAGE_NONE, BI_SIZE_32,
354        BI_SR_COUNT_0, 0, 0, 1, 1,
355        0, 0, 1, 0, 0, 0,
356        0, 0,
357    },
358
359    [BI_OPCODE_CLPER_I32] = {
360        "CLPER.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
361        BI_SR_COUNT_0, 0, 0, 0, 0,
362        0, 0, 1, 0, 0, 0,
363        0, 0,
364    },
365
366    [BI_OPCODE_CLPER_V6_I32] = {
367        "CLPER_V6.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
368        BI_SR_COUNT_0, 0, 0, 0, 0,
369        0, 0, 1, 0, 0, 0,
370        0, 0,
371    },
372
373    [BI_OPCODE_CLZ_U32] = {
374        "CLZ.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
375        BI_SR_COUNT_0, 0, 0, 0, 0,
376        0, 1, 0, 0, 0, 0,
377        0, 0,
378    },
379
380    [BI_OPCODE_CLZ_V2U16] = {
381        "CLZ.v2u16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
382        BI_SR_COUNT_0, 0, 0, 0, 0,
383        0, 1, 0, 0, 0, 0,
384        0, 0,
385    },
386
387    [BI_OPCODE_CLZ_V4U8] = {
388        "CLZ.v4u8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
389        BI_SR_COUNT_0, 0, 0, 0, 0,
390        0, 1, 0, 0, 0, 0,
391        0, 0,
392    },
393
394    [BI_OPCODE_CSEL_F32] = {
395        "CSEL.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
396        BI_SR_COUNT_0, 0, 0, 0, 0,
397        0, 1, 0, 0, 0, 0,
398        0, 0,
399    },
400
401    [BI_OPCODE_CSEL_I32] = {
402        "CSEL.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
403        BI_SR_COUNT_0, 0, 0, 0, 0,
404        0, 1, 0, 0, 0, 0,
405        0, 0,
406    },
407
408    [BI_OPCODE_CSEL_S32] = {
409        "CSEL.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
410        BI_SR_COUNT_0, 0, 0, 0, 0,
411        0, 1, 0, 0, 0, 0,
412        0, 0,
413    },
414
415    [BI_OPCODE_CSEL_U32] = {
416        "CSEL.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
417        BI_SR_COUNT_0, 0, 0, 0, 0,
418        0, 1, 0, 0, 0, 0,
419        0, 0,
420    },
421
422    [BI_OPCODE_CSEL_V2F16] = {
423        "CSEL.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
424        BI_SR_COUNT_0, 0, 0, 0, 0,
425        0, 1, 0, 0, 0, 0,
426        0, 0,
427    },
428
429    [BI_OPCODE_CSEL_V2I16] = {
430        "CSEL.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
431        BI_SR_COUNT_0, 0, 0, 0, 0,
432        0, 1, 0, 0, 0, 0,
433        0, 0,
434    },
435
436    [BI_OPCODE_CSEL_V2S16] = {
437        "CSEL.v2s16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
438        BI_SR_COUNT_0, 0, 0, 0, 0,
439        0, 1, 0, 0, 0, 0,
440        0, 0,
441    },
442
443    [BI_OPCODE_CSEL_V2U16] = {
444        "CSEL.v2u16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
445        BI_SR_COUNT_0, 0, 0, 0, 0,
446        0, 1, 0, 0, 0, 0,
447        0, 0,
448    },
449
450    [BI_OPCODE_CUBEFACE] = {
451        "CUBEFACE", BIFROST_MESSAGE_NONE, BI_SIZE_32,
452        BI_SR_COUNT_0, 0, 0, 0, 0,
453        0, 0, 1, 0, 0, 0,
454        7, 0,
455    },
456
457    [BI_OPCODE_CUBEFACE1] = {
458        "CUBEFACE1", BIFROST_MESSAGE_NONE, BI_SIZE_32,
459        BI_SR_COUNT_0, 0, 0, 0, 0,
460        0, 1, 0, 0, 0, 0,
461        7, 0,
462    },
463
464    [BI_OPCODE_CUBEFACE2] = {
465        "CUBEFACE2", BIFROST_MESSAGE_NONE, BI_SIZE_32,
466        BI_SR_COUNT_0, 0, 0, 0, 0,
467        0, 0, 1, 0, 0, 0,
468        0, 0,
469    },
470
471    [BI_OPCODE_CUBE_SSEL] = {
472        "CUBE_SSEL", BIFROST_MESSAGE_NONE, BI_SIZE_32,
473        BI_SR_COUNT_0, 0, 0, 0, 0,
474        0, 0, 1, 0, 0, 0,
475        3, 0,
476    },
477
478    [BI_OPCODE_CUBE_TSEL] = {
479        "CUBE_TSEL", BIFROST_MESSAGE_NONE, BI_SIZE_32,
480        BI_SR_COUNT_0, 0, 0, 0, 0,
481        0, 0, 1, 0, 0, 0,
482        3, 0,
483    },
484
485    [BI_OPCODE_DISCARD_B32] = {
486        "DISCARD.b32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
487        BI_SR_COUNT_0, 0, 0, 0, 0,
488        0, 0, 1, 0, 0, 0,
489        0, 0,
490    },
491
492    [BI_OPCODE_DISCARD_F32] = {
493        "DISCARD.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
494        BI_SR_COUNT_0, 0, 0, 0, 0,
495        0, 0, 1, 0, 0, 0,
496        0, 0,
497    },
498
499    [BI_OPCODE_DTSEL_IMM] = {
500        "DTSEL_IMM", BIFROST_MESSAGE_NONE, BI_SIZE_32,
501        BI_SR_COUNT_0, 0, 0, 0, 0,
502        0, 1, 0, 0, 0, 0,
503        0, 0,
504    },
505
506    [BI_OPCODE_F16_TO_F32] = {
507        "F16_TO_F32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
508        BI_SR_COUNT_0, 0, 0, 0, 0,
509        0, 1, 1, 0, 0, 0,
510        0, 0,
511    },
512
513    [BI_OPCODE_F16_TO_S32] = {
514        "F16_TO_S32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
515        BI_SR_COUNT_0, 0, 0, 0, 0,
516        0, 0, 1, 0, 0, 0,
517        0, 0,
518    },
519
520    [BI_OPCODE_F16_TO_U32] = {
521        "F16_TO_U32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
522        BI_SR_COUNT_0, 0, 0, 0, 0,
523        0, 0, 1, 0, 0, 0,
524        0, 0,
525    },
526
527    [BI_OPCODE_F32_TO_S32] = {
528        "F32_TO_S32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
529        BI_SR_COUNT_0, 0, 0, 0, 0,
530        0, 0, 1, 0, 0, 0,
531        0, 0,
532    },
533
534    [BI_OPCODE_F32_TO_U32] = {
535        "F32_TO_U32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
536        BI_SR_COUNT_0, 0, 0, 0, 0,
537        0, 0, 1, 0, 0, 0,
538        0, 0,
539    },
540
541    [BI_OPCODE_FABSNEG_F32] = {
542        "FABSNEG.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
543        BI_SR_COUNT_0, 0, 0, 0, 0,
544        0, 1, 0, 0, 0, 1,
545        1, 0,
546    },
547
548    [BI_OPCODE_FABSNEG_V2F16] = {
549        "FABSNEG.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
550        BI_SR_COUNT_0, 0, 0, 0, 0,
551        0, 1, 0, 0, 0, 1,
552        1, 0,
553    },
554
555    [BI_OPCODE_FADD_F32] = {
556        "FADD.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
557        BI_SR_COUNT_0, 0, 0, 0, 0,
558        0, 1, 1, 1, 0, 3,
559        3, 0,
560    },
561
562    [BI_OPCODE_FADD_V2F16] = {
563        "FADD.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
564        BI_SR_COUNT_0, 0, 0, 0, 0,
565        0, 1, 1, 1, 0, 3,
566        3, 0,
567    },
568
569    [BI_OPCODE_FADD_IMM_F32] = {
570        "FADD_IMM.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
571        BI_SR_COUNT_0, 0, 0, 0, 0,
572        0, 0, 1, 0, 0, 0,
573        0, 0,
574    },
575
576    [BI_OPCODE_FADD_IMM_V2F16] = {
577        "FADD_IMM.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
578        BI_SR_COUNT_0, 0, 0, 0, 0,
579        0, 0, 1, 0, 0, 0,
580        0, 0,
581    },
582
583    [BI_OPCODE_FADD_LSCALE_F32] = {
584        "FADD_LSCALE.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
585        BI_SR_COUNT_0, 0, 0, 0, 0,
586        0, 1, 0, 0, 0, 3,
587        3, 0,
588    },
589
590    [BI_OPCODE_FADD_RSCALE_F32] = {
591        "FADD_RSCALE.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
592        BI_SR_COUNT_0, 0, 0, 0, 0,
593        0, 0, 1, 1, 0, 3,
594        3, 0,
595    },
596
597    [BI_OPCODE_FCLAMP_F32] = {
598        "FCLAMP.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
599        BI_SR_COUNT_0, 0, 0, 0, 0,
600        0, 1, 0, 1, 0, 0,
601        0, 0,
602    },
603
604    [BI_OPCODE_FCLAMP_V2F16] = {
605        "FCLAMP.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
606        BI_SR_COUNT_0, 0, 0, 0, 0,
607        0, 1, 0, 1, 0, 0,
608        0, 0,
609    },
610
611    [BI_OPCODE_FCMP_F32] = {
612        "FCMP.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
613        BI_SR_COUNT_0, 0, 0, 0, 0,
614        0, 1, 1, 0, 0, 3,
615        3, 0,
616    },
617
618    [BI_OPCODE_FCMP_V2F16] = {
619        "FCMP.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
620        BI_SR_COUNT_0, 0, 0, 0, 0,
621        0, 1, 1, 0, 0, 3,
622        3, 0,
623    },
624
625    [BI_OPCODE_FCOS_TABLE_U6] = {
626        "FCOS_TABLE.u6", BIFROST_MESSAGE_NONE, BI_SIZE_32,
627        BI_SR_COUNT_0, 0, 0, 0, 0,
628        1, 0, 1, 0, 0, 0,
629        0, 0,
630    },
631
632    [BI_OPCODE_FEXP_F32] = {
633        "FEXP.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
634        BI_SR_COUNT_0, 0, 0, 0, 0,
635        1, 0, 1, 0, 0, 0,
636        0, 0,
637    },
638
639    [BI_OPCODE_FEXP_TABLE_U4] = {
640        "FEXP_TABLE.u4", BIFROST_MESSAGE_NONE, BI_SIZE_32,
641        BI_SR_COUNT_0, 0, 0, 0, 0,
642        1, 0, 1, 0, 0, 0,
643        0, 0,
644    },
645
646    [BI_OPCODE_FLOGD_F32] = {
647        "FLOGD.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
648        BI_SR_COUNT_0, 0, 0, 0, 0,
649        1, 0, 1, 0, 0, 0,
650        0, 0,
651    },
652
653    [BI_OPCODE_FLOG_TABLE_F32] = {
654        "FLOG_TABLE.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
655        BI_SR_COUNT_0, 0, 0, 0, 0,
656        1, 0, 1, 0, 0, 1,
657        1, 0,
658    },
659
660    [BI_OPCODE_FLSHIFT_DOUBLE_I32] = {
661        "FLSHIFT_DOUBLE.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
662        BI_SR_COUNT_0, 0, 0, 0, 0,
663        0, 1, 0, 0, 0, 0,
664        0, 0,
665    },
666
667    [BI_OPCODE_FMA_F32] = {
668        "FMA.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
669        BI_SR_COUNT_0, 0, 0, 0, 0,
670        0, 1, 0, 1, 0, 7,
671        7, 0,
672    },
673
674    [BI_OPCODE_FMA_V2F16] = {
675        "FMA.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
676        BI_SR_COUNT_0, 0, 0, 0, 0,
677        0, 1, 0, 1, 0, 0,
678        7, 0,
679    },
680
681    [BI_OPCODE_FMAX_F32] = {
682        "FMAX.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
683        BI_SR_COUNT_0, 0, 0, 0, 0,
684        0, 0, 1, 1, 0, 3,
685        3, 0,
686    },
687
688    [BI_OPCODE_FMAX_V2F16] = {
689        "FMAX.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
690        BI_SR_COUNT_0, 0, 0, 0, 0,
691        0, 0, 1, 0, 0, 3,
692        3, 0,
693    },
694
695    [BI_OPCODE_FMA_RSCALE_F32] = {
696        "FMA_RSCALE.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
697        BI_SR_COUNT_0, 0, 0, 0, 0,
698        0, 1, 0, 1, 0, 1,
699        7, 0,
700    },
701
702    [BI_OPCODE_FMA_RSCALE_V2F16] = {
703        "FMA_RSCALE.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
704        BI_SR_COUNT_0, 0, 0, 0, 0,
705        0, 1, 0, 1, 0, 1,
706        7, 0,
707    },
708
709    [BI_OPCODE_FMIN_F32] = {
710        "FMIN.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
711        BI_SR_COUNT_0, 0, 0, 0, 0,
712        0, 0, 1, 1, 0, 3,
713        3, 0,
714    },
715
716    [BI_OPCODE_FMIN_V2F16] = {
717        "FMIN.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
718        BI_SR_COUNT_0, 0, 0, 0, 0,
719        0, 0, 1, 0, 0, 3,
720        3, 0,
721    },
722
723    [BI_OPCODE_FMUL_CSLICE] = {
724        "FMUL_CSLICE", BIFROST_MESSAGE_NONE, BI_SIZE_32,
725        BI_SR_COUNT_0, 0, 0, 0, 0,
726        0, 1, 0, 0, 0, 1,
727        1, 0,
728    },
729
730    [BI_OPCODE_FMUL_SLICE_F32] = {
731        "FMUL_SLICE.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
732        BI_SR_COUNT_0, 0, 0, 0, 0,
733        0, 1, 0, 0, 0, 0,
734        0, 0,
735    },
736
737    [BI_OPCODE_FPCLASS_F16] = {
738        "FPCLASS.f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
739        BI_SR_COUNT_0, 0, 0, 0, 0,
740        1, 0, 1, 0, 0, 0,
741        0, 0,
742    },
743
744    [BI_OPCODE_FPCLASS_F32] = {
745        "FPCLASS.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
746        BI_SR_COUNT_0, 0, 0, 0, 0,
747        1, 0, 1, 0, 0, 0,
748        0, 0,
749    },
750
751    [BI_OPCODE_FPOW_SC_APPLY] = {
752        "FPOW_SC_APPLY", BIFROST_MESSAGE_NONE, BI_SIZE_32,
753        BI_SR_COUNT_0, 0, 0, 0, 0,
754        0, 0, 1, 0, 0, 0,
755        0, 0,
756    },
757
758    [BI_OPCODE_FPOW_SC_DET_F16] = {
759        "FPOW_SC_DET.f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
760        BI_SR_COUNT_0, 0, 0, 0, 0,
761        1, 0, 1, 0, 0, 0,
762        0, 0,
763    },
764
765    [BI_OPCODE_FPOW_SC_DET_F32] = {
766        "FPOW_SC_DET.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
767        BI_SR_COUNT_0, 0, 0, 0, 0,
768        1, 0, 1, 0, 0, 0,
769        0, 0,
770    },
771
772    [BI_OPCODE_FRCP_F16] = {
773        "FRCP.f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
774        BI_SR_COUNT_0, 0, 0, 0, 0,
775        1, 0, 1, 0, 0, 1,
776        1, 0,
777    },
778
779    [BI_OPCODE_FRCP_F32] = {
780        "FRCP.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
781        BI_SR_COUNT_0, 0, 0, 0, 0,
782        1, 0, 1, 0, 0, 1,
783        1, 0,
784    },
785
786    [BI_OPCODE_FRCP_APPROX_F32] = {
787        "FRCP_APPROX.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
788        BI_SR_COUNT_0, 0, 0, 0, 0,
789        1, 0, 1, 0, 0, 1,
790        1, 0,
791    },
792
793    [BI_OPCODE_FREXPE_F32] = {
794        "FREXPE.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
795        BI_SR_COUNT_0, 0, 0, 0, 0,
796        0, 1, 1, 0, 0, 0,
797        1, 0,
798    },
799
800    [BI_OPCODE_FREXPE_V2F16] = {
801        "FREXPE.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
802        BI_SR_COUNT_0, 0, 0, 0, 0,
803        0, 1, 1, 0, 0, 0,
804        1, 0,
805    },
806
807    [BI_OPCODE_FREXPM_F32] = {
808        "FREXPM.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
809        BI_SR_COUNT_0, 0, 0, 0, 0,
810        0, 1, 1, 0, 0, 1,
811        1, 0,
812    },
813
814    [BI_OPCODE_FREXPM_V2F16] = {
815        "FREXPM.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
816        BI_SR_COUNT_0, 0, 0, 0, 0,
817        0, 1, 1, 0, 0, 1,
818        1, 0,
819    },
820
821    [BI_OPCODE_FROUND_F32] = {
822        "FROUND.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
823        BI_SR_COUNT_0, 0, 0, 0, 0,
824        0, 1, 1, 0, 0, 1,
825        1, 0,
826    },
827
828    [BI_OPCODE_FROUND_V2F16] = {
829        "FROUND.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
830        BI_SR_COUNT_0, 0, 0, 0, 0,
831        0, 1, 1, 0, 0, 1,
832        1, 0,
833    },
834
835    [BI_OPCODE_FRSCALE_F32] = {
836        "FRSCALE.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
837        BI_SR_COUNT_0, 0, 0, 0, 0,
838        0, 0, 1, 1, 0, 3,
839        3, 0,
840    },
841
842    [BI_OPCODE_FRSCALE_V2F16] = {
843        "FRSCALE.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
844        BI_SR_COUNT_0, 0, 0, 0, 0,
845        0, 0, 1, 1, 0, 3,
846        3, 0,
847    },
848
849    [BI_OPCODE_FRSHIFT_DOUBLE_I32] = {
850        "FRSHIFT_DOUBLE.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
851        BI_SR_COUNT_0, 0, 0, 0, 0,
852        0, 1, 0, 0, 0, 0,
853        0, 0,
854    },
855
856    [BI_OPCODE_FRSQ_F16] = {
857        "FRSQ.f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
858        BI_SR_COUNT_0, 0, 0, 0, 0,
859        1, 0, 1, 0, 0, 1,
860        1, 0,
861    },
862
863    [BI_OPCODE_FRSQ_F32] = {
864        "FRSQ.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
865        BI_SR_COUNT_0, 0, 0, 0, 0,
866        1, 0, 1, 0, 0, 1,
867        1, 0,
868    },
869
870    [BI_OPCODE_FRSQ_APPROX_F32] = {
871        "FRSQ_APPROX.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
872        BI_SR_COUNT_0, 0, 0, 0, 0,
873        1, 0, 1, 0, 0, 1,
874        1, 0,
875    },
876
877    [BI_OPCODE_FSINCOS_OFFSET_U6] = {
878        "FSINCOS_OFFSET.u6", BIFROST_MESSAGE_NONE, BI_SIZE_32,
879        BI_SR_COUNT_0, 0, 0, 0, 0,
880        1, 0, 1, 0, 0, 0,
881        0, 0,
882    },
883
884    [BI_OPCODE_FSIN_TABLE_U6] = {
885        "FSIN_TABLE.u6", BIFROST_MESSAGE_NONE, BI_SIZE_32,
886        BI_SR_COUNT_0, 0, 0, 0, 0,
887        1, 0, 1, 0, 0, 0,
888        0, 0,
889    },
890
891    [BI_OPCODE_HADD_S32] = {
892        "HADD.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
893        BI_SR_COUNT_0, 0, 0, 0, 0,
894        0, 0, 1, 0, 0, 0,
895        0, 0,
896    },
897
898    [BI_OPCODE_HADD_U32] = {
899        "HADD.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
900        BI_SR_COUNT_0, 0, 0, 0, 0,
901        0, 0, 1, 0, 0, 0,
902        0, 0,
903    },
904
905    [BI_OPCODE_HADD_V2S16] = {
906        "HADD.v2s16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
907        BI_SR_COUNT_0, 0, 0, 0, 0,
908        0, 0, 1, 0, 0, 0,
909        0, 0,
910    },
911
912    [BI_OPCODE_HADD_V2U16] = {
913        "HADD.v2u16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
914        BI_SR_COUNT_0, 0, 0, 0, 0,
915        0, 0, 1, 0, 0, 0,
916        0, 0,
917    },
918
919    [BI_OPCODE_HADD_V4S8] = {
920        "HADD.v4s8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
921        BI_SR_COUNT_0, 0, 0, 0, 0,
922        0, 0, 1, 0, 0, 0,
923        0, 0,
924    },
925
926    [BI_OPCODE_HADD_V4U8] = {
927        "HADD.v4u8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
928        BI_SR_COUNT_0, 0, 0, 0, 0,
929        0, 0, 1, 0, 0, 0,
930        0, 0,
931    },
932
933    [BI_OPCODE_IABS_S32] = {
934        "IABS.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
935        BI_SR_COUNT_0, 0, 0, 0, 0,
936        0, 0, 1, 0, 0, 0,
937        0, 0,
938    },
939
940    [BI_OPCODE_IABS_V2S16] = {
941        "IABS.v2s16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
942        BI_SR_COUNT_0, 0, 0, 0, 0,
943        0, 0, 1, 0, 0, 0,
944        0, 0,
945    },
946
947    [BI_OPCODE_IABS_V4S8] = {
948        "IABS.v4s8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
949        BI_SR_COUNT_0, 0, 0, 0, 0,
950        0, 0, 1, 0, 0, 0,
951        0, 0,
952    },
953
954    [BI_OPCODE_IADD_S32] = {
955        "IADD.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
956        BI_SR_COUNT_0, 0, 0, 0, 0,
957        0, 0, 1, 0, 0, 0,
958        0, 0,
959    },
960
961    [BI_OPCODE_IADD_U32] = {
962        "IADD.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
963        BI_SR_COUNT_0, 0, 0, 0, 0,
964        0, 0, 1, 0, 0, 0,
965        0, 0,
966    },
967
968    [BI_OPCODE_IADD_V2S16] = {
969        "IADD.v2s16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
970        BI_SR_COUNT_0, 0, 0, 0, 0,
971        0, 0, 1, 0, 0, 0,
972        0, 0,
973    },
974
975    [BI_OPCODE_IADD_V2U16] = {
976        "IADD.v2u16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
977        BI_SR_COUNT_0, 0, 0, 0, 0,
978        0, 0, 1, 0, 0, 0,
979        0, 0,
980    },
981
982    [BI_OPCODE_IADD_V4S8] = {
983        "IADD.v4s8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
984        BI_SR_COUNT_0, 0, 0, 0, 0,
985        0, 0, 1, 0, 0, 0,
986        0, 0,
987    },
988
989    [BI_OPCODE_IADD_V4U8] = {
990        "IADD.v4u8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
991        BI_SR_COUNT_0, 0, 0, 0, 0,
992        0, 0, 1, 0, 0, 0,
993        0, 0,
994    },
995
996    [BI_OPCODE_IADDC_I32] = {
997        "IADDC.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
998        BI_SR_COUNT_0, 0, 0, 0, 0,
999        0, 1, 0, 0, 0, 0,
1000        0, 0,
1001    },
1002
1003    [BI_OPCODE_IADD_IMM_I32] = {
1004        "IADD_IMM.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1005        BI_SR_COUNT_0, 0, 0, 0, 0,
1006        0, 0, 1, 0, 0, 0,
1007        0, 0,
1008    },
1009
1010    [BI_OPCODE_IADD_IMM_V2I16] = {
1011        "IADD_IMM.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1012        BI_SR_COUNT_0, 0, 0, 0, 0,
1013        0, 0, 1, 0, 0, 0,
1014        0, 0,
1015    },
1016
1017    [BI_OPCODE_IADD_IMM_V4I8] = {
1018        "IADD_IMM.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1019        BI_SR_COUNT_0, 0, 0, 0, 0,
1020        0, 0, 1, 0, 0, 0,
1021        0, 0,
1022    },
1023
1024    [BI_OPCODE_ICMP_I32] = {
1025        "ICMP.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1026        BI_SR_COUNT_0, 0, 0, 0, 0,
1027        0, 0, 1, 0, 0, 0,
1028        0, 0,
1029    },
1030
1031    [BI_OPCODE_ICMP_S32] = {
1032        "ICMP.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1033        BI_SR_COUNT_0, 0, 0, 0, 0,
1034        0, 0, 1, 0, 0, 0,
1035        0, 0,
1036    },
1037
1038    [BI_OPCODE_ICMP_U32] = {
1039        "ICMP.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1040        BI_SR_COUNT_0, 0, 0, 0, 0,
1041        0, 0, 1, 0, 0, 0,
1042        0, 0,
1043    },
1044
1045    [BI_OPCODE_ICMP_V2I16] = {
1046        "ICMP.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1047        BI_SR_COUNT_0, 0, 0, 0, 0,
1048        0, 0, 1, 0, 0, 0,
1049        0, 0,
1050    },
1051
1052    [BI_OPCODE_ICMP_V2S16] = {
1053        "ICMP.v2s16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1054        BI_SR_COUNT_0, 0, 0, 0, 0,
1055        0, 0, 1, 0, 0, 0,
1056        0, 0,
1057    },
1058
1059    [BI_OPCODE_ICMP_V2U16] = {
1060        "ICMP.v2u16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1061        BI_SR_COUNT_0, 0, 0, 0, 0,
1062        0, 0, 1, 0, 0, 0,
1063        0, 0,
1064    },
1065
1066    [BI_OPCODE_ICMP_V4I8] = {
1067        "ICMP.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1068        BI_SR_COUNT_0, 0, 0, 0, 0,
1069        0, 0, 1, 0, 0, 0,
1070        0, 0,
1071    },
1072
1073    [BI_OPCODE_ICMP_V4S8] = {
1074        "ICMP.v4s8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1075        BI_SR_COUNT_0, 0, 0, 0, 0,
1076        0, 0, 1, 0, 0, 0,
1077        0, 0,
1078    },
1079
1080    [BI_OPCODE_ICMP_V4U8] = {
1081        "ICMP.v4u8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1082        BI_SR_COUNT_0, 0, 0, 0, 0,
1083        0, 0, 1, 0, 0, 0,
1084        0, 0,
1085    },
1086
1087    [BI_OPCODE_ICMPF_I32] = {
1088        "ICMPF.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1089        BI_SR_COUNT_0, 0, 0, 0, 0,
1090        0, 0, 1, 0, 0, 0,
1091        0, 0,
1092    },
1093
1094    [BI_OPCODE_ICMPI_I32] = {
1095        "ICMPI.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1096        BI_SR_COUNT_0, 0, 0, 0, 0,
1097        0, 0, 1, 0, 0, 0,
1098        0, 0,
1099    },
1100
1101    [BI_OPCODE_ICMPI_S32] = {
1102        "ICMPI.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1103        BI_SR_COUNT_0, 0, 0, 0, 0,
1104        0, 0, 1, 0, 0, 0,
1105        0, 0,
1106    },
1107
1108    [BI_OPCODE_ICMPI_U32] = {
1109        "ICMPI.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1110        BI_SR_COUNT_0, 0, 0, 0, 0,
1111        0, 0, 1, 0, 0, 0,
1112        0, 0,
1113    },
1114
1115    [BI_OPCODE_ICMPM_I32] = {
1116        "ICMPM.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1117        BI_SR_COUNT_0, 0, 0, 0, 0,
1118        0, 0, 1, 0, 0, 0,
1119        0, 0,
1120    },
1121
1122    [BI_OPCODE_IDP_V4I8] = {
1123        "IDP.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1124        BI_SR_COUNT_0, 0, 0, 0, 0,
1125        0, 1, 0, 0, 0, 0,
1126        0, 0,
1127    },
1128
1129    [BI_OPCODE_ILOGB_F32] = {
1130        "ILOGB.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1131        BI_SR_COUNT_0, 0, 0, 0, 0,
1132        0, 0, 1, 0, 0, 0,
1133        0, 0,
1134    },
1135
1136    [BI_OPCODE_ILOGB_V2F16] = {
1137        "ILOGB.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1138        BI_SR_COUNT_0, 0, 0, 0, 0,
1139        0, 0, 1, 0, 0, 0,
1140        0, 0,
1141    },
1142
1143    [BI_OPCODE_IMOV_FMA] = {
1144        "IMOV_FMA", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1145        BI_SR_COUNT_0, 0, 0, 0, 0,
1146        0, 0, 1, 0, 0, 0,
1147        0, 0,
1148    },
1149
1150    [BI_OPCODE_IMUL_I32] = {
1151        "IMUL.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1152        BI_SR_COUNT_0, 0, 0, 0, 0,
1153        0, 1, 0, 0, 0, 0,
1154        0, 0,
1155    },
1156
1157    [BI_OPCODE_IMUL_V2I16] = {
1158        "IMUL.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1159        BI_SR_COUNT_0, 0, 0, 0, 0,
1160        0, 1, 0, 0, 0, 0,
1161        0, 0,
1162    },
1163
1164    [BI_OPCODE_IMUL_V4I8] = {
1165        "IMUL.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1166        BI_SR_COUNT_0, 0, 0, 0, 0,
1167        0, 1, 0, 0, 0, 0,
1168        0, 0,
1169    },
1170
1171    [BI_OPCODE_IMULD] = {
1172        "IMULD", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1173        BI_SR_COUNT_0, 0, 0, 0, 0,
1174        0, 1, 0, 0, 0, 0,
1175        0, 0,
1176    },
1177
1178    [BI_OPCODE_ISUB_S32] = {
1179        "ISUB.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1180        BI_SR_COUNT_0, 0, 0, 0, 0,
1181        0, 0, 1, 0, 0, 0,
1182        0, 0,
1183    },
1184
1185    [BI_OPCODE_ISUB_U32] = {
1186        "ISUB.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1187        BI_SR_COUNT_0, 0, 0, 0, 0,
1188        0, 0, 1, 0, 0, 0,
1189        0, 0,
1190    },
1191
1192    [BI_OPCODE_ISUB_V2S16] = {
1193        "ISUB.v2s16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1194        BI_SR_COUNT_0, 0, 0, 0, 0,
1195        0, 0, 1, 0, 0, 0,
1196        0, 0,
1197    },
1198
1199    [BI_OPCODE_ISUB_V2U16] = {
1200        "ISUB.v2u16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1201        BI_SR_COUNT_0, 0, 0, 0, 0,
1202        0, 0, 1, 0, 0, 0,
1203        0, 0,
1204    },
1205
1206    [BI_OPCODE_ISUB_V4S8] = {
1207        "ISUB.v4s8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1208        BI_SR_COUNT_0, 0, 0, 0, 0,
1209        0, 0, 1, 0, 0, 0,
1210        0, 0,
1211    },
1212
1213    [BI_OPCODE_ISUB_V4U8] = {
1214        "ISUB.v4u8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1215        BI_SR_COUNT_0, 0, 0, 0, 0,
1216        0, 0, 1, 0, 0, 0,
1217        0, 0,
1218    },
1219
1220    [BI_OPCODE_ISUBB_I32] = {
1221        "ISUBB.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1222        BI_SR_COUNT_0, 0, 0, 0, 0,
1223        0, 1, 0, 0, 0, 0,
1224        0, 0,
1225    },
1226
1227    [BI_OPCODE_JUMP] = {
1228        "JUMP", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1229        BI_SR_COUNT_0, 0, 0, 1, 0,
1230        0, 0, 1, 0, 0, 0,
1231        0, 0,
1232    },
1233
1234    [BI_OPCODE_JUMP_EX] = {
1235        "JUMP_EX", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1236        BI_SR_COUNT_0, 0, 0, 0, 0,
1237        0, 1, 0, 0, 0, 0,
1238        0, 0,
1239    },
1240
1241    [BI_OPCODE_LDEXP_F32] = {
1242        "LDEXP.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1243        BI_SR_COUNT_0, 0, 0, 0, 0,
1244        0, 0, 1, 0, 0, 0,
1245        0, 0,
1246    },
1247
1248    [BI_OPCODE_LDEXP_V2F16] = {
1249        "LDEXP.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1250        BI_SR_COUNT_0, 0, 0, 0, 0,
1251        0, 0, 1, 0, 0, 0,
1252        0, 0,
1253    },
1254
1255    [BI_OPCODE_LD_ATTR] = {
1256        "LD_ATTR", BIFROST_MESSAGE_ATTRIBUTE, BI_SIZE_32,
1257        BI_SR_COUNT_FORMAT, 0, 1, 0, 0,
1258        0, 0, 1, 0, 0, 0,
1259        0, 0,
1260    },
1261
1262    [BI_OPCODE_LD_ATTR_IMM] = {
1263        "LD_ATTR_IMM", BIFROST_MESSAGE_ATTRIBUTE, BI_SIZE_32,
1264        BI_SR_COUNT_FORMAT, 0, 1, 0, 0,
1265        0, 0, 1, 0, 0, 0,
1266        0, 0,
1267    },
1268
1269    [BI_OPCODE_LD_ATTR_TEX] = {
1270        "LD_ATTR_TEX", BIFROST_MESSAGE_ATTRIBUTE, BI_SIZE_32,
1271        BI_SR_COUNT_FORMAT, 0, 1, 0, 0,
1272        0, 0, 1, 0, 0, 0,
1273        0, 0,
1274    },
1275
1276    [BI_OPCODE_LD_CVT] = {
1277        "LD_CVT", BIFROST_MESSAGE_LOAD, BI_SIZE_32,
1278        BI_SR_COUNT_FORMAT, 0, 1, 0, 0,
1279        0, 0, 1, 0, 0, 0,
1280        0, 0,
1281    },
1282
1283    [BI_OPCODE_LD_GCLK_U64] = {
1284        "LD_GCLK.u64", BIFROST_MESSAGE_ATTRIBUTE, BI_SIZE_64,
1285        BI_SR_COUNT_2, 0, 1, 0, 0,
1286        0, 0, 1, 0, 0, 0,
1287        0, 0,
1288    },
1289
1290    [BI_OPCODE_LD_TILE] = {
1291        "LD_TILE", BIFROST_MESSAGE_TILE, BI_SIZE_32,
1292        BI_SR_COUNT_VECSIZE, 0, 1, 0, 0,
1293        0, 0, 1, 0, 0, 0,
1294        0, 0,
1295    },
1296
1297    [BI_OPCODE_LD_VAR] = {
1298        "LD_VAR", BIFROST_MESSAGE_VARYING, BI_SIZE_32,
1299        BI_SR_COUNT_VECSIZE, 0, 1, 0, 0,
1300        0, 0, 1, 0, 0, 0,
1301        0, 0,
1302    },
1303
1304    [BI_OPCODE_LD_VAR_FLAT] = {
1305        "LD_VAR_FLAT", BIFROST_MESSAGE_VARYING, BI_SIZE_32,
1306        BI_SR_COUNT_FORMAT, 0, 1, 0, 0,
1307        0, 0, 1, 0, 0, 0,
1308        0, 0,
1309    },
1310
1311    [BI_OPCODE_LD_VAR_FLAT_IMM] = {
1312        "LD_VAR_FLAT_IMM", BIFROST_MESSAGE_VARYING, BI_SIZE_32,
1313        BI_SR_COUNT_FORMAT, 0, 1, 0, 0,
1314        0, 0, 1, 0, 0, 0,
1315        0, 0,
1316    },
1317
1318    [BI_OPCODE_LD_VAR_IMM] = {
1319        "LD_VAR_IMM", BIFROST_MESSAGE_VARYING, BI_SIZE_32,
1320        BI_SR_COUNT_FORMAT, 0, 1, 0, 0,
1321        0, 0, 1, 0, 0, 0,
1322        0, 0,
1323    },
1324
1325    [BI_OPCODE_LD_VAR_SPECIAL] = {
1326        "LD_VAR_SPECIAL", BIFROST_MESSAGE_VARYING, BI_SIZE_32,
1327        BI_SR_COUNT_FORMAT, 0, 1, 0, 0,
1328        0, 0, 1, 0, 0, 0,
1329        0, 0,
1330    },
1331
1332    [BI_OPCODE_LEA_ATTR] = {
1333        "LEA_ATTR", BIFROST_MESSAGE_ATTRIBUTE, BI_SIZE_32,
1334        BI_SR_COUNT_3, 0, 1, 0, 0,
1335        0, 0, 1, 0, 0, 0,
1336        0, 0,
1337    },
1338
1339    [BI_OPCODE_LEA_ATTR_IMM] = {
1340        "LEA_ATTR_IMM", BIFROST_MESSAGE_ATTRIBUTE, BI_SIZE_32,
1341        BI_SR_COUNT_3, 0, 1, 0, 0,
1342        0, 0, 1, 0, 0, 0,
1343        0, 0,
1344    },
1345
1346    [BI_OPCODE_LEA_ATTR_TEX] = {
1347        "LEA_ATTR_TEX", BIFROST_MESSAGE_ATTRIBUTE, BI_SIZE_32,
1348        BI_SR_COUNT_3, 0, 1, 0, 0,
1349        0, 0, 1, 0, 0, 0,
1350        0, 0,
1351    },
1352
1353    [BI_OPCODE_LEA_TEX] = {
1354        "LEA_TEX", BIFROST_MESSAGE_ATTRIBUTE, BI_SIZE_32,
1355        BI_SR_COUNT_3, 0, 1, 0, 0,
1356        0, 0, 1, 0, 0, 0,
1357        0, 0,
1358    },
1359
1360    [BI_OPCODE_LEA_TEX_IMM] = {
1361        "LEA_TEX_IMM", BIFROST_MESSAGE_ATTRIBUTE, BI_SIZE_32,
1362        BI_SR_COUNT_3, 0, 1, 0, 0,
1363        0, 0, 1, 0, 0, 0,
1364        0, 0,
1365    },
1366
1367    [BI_OPCODE_LOAD_I128] = {
1368        "LOAD.i128", BIFROST_MESSAGE_LOAD, BI_SIZE_128,
1369        BI_SR_COUNT_4, 0, 1, 0, 0,
1370        0, 0, 1, 0, 0, 0,
1371        0, 0,
1372    },
1373
1374    [BI_OPCODE_LOAD_I16] = {
1375        "LOAD.i16", BIFROST_MESSAGE_LOAD, BI_SIZE_16,
1376        BI_SR_COUNT_1, 0, 1, 0, 0,
1377        0, 0, 1, 0, 0, 0,
1378        0, 0,
1379    },
1380
1381    [BI_OPCODE_LOAD_I24] = {
1382        "LOAD.i24", BIFROST_MESSAGE_LOAD, BI_SIZE_24,
1383        BI_SR_COUNT_1, 0, 1, 0, 0,
1384        0, 0, 1, 0, 0, 0,
1385        0, 0,
1386    },
1387
1388    [BI_OPCODE_LOAD_I32] = {
1389        "LOAD.i32", BIFROST_MESSAGE_LOAD, BI_SIZE_32,
1390        BI_SR_COUNT_1, 0, 1, 0, 0,
1391        0, 0, 1, 0, 0, 0,
1392        0, 0,
1393    },
1394
1395    [BI_OPCODE_LOAD_I48] = {
1396        "LOAD.i48", BIFROST_MESSAGE_LOAD, BI_SIZE_48,
1397        BI_SR_COUNT_2, 0, 1, 0, 0,
1398        0, 0, 1, 0, 0, 0,
1399        0, 0,
1400    },
1401
1402    [BI_OPCODE_LOAD_I64] = {
1403        "LOAD.i64", BIFROST_MESSAGE_LOAD, BI_SIZE_64,
1404        BI_SR_COUNT_2, 0, 1, 0, 0,
1405        0, 0, 1, 0, 0, 0,
1406        0, 0,
1407    },
1408
1409    [BI_OPCODE_LOAD_I8] = {
1410        "LOAD.i8", BIFROST_MESSAGE_LOAD, BI_SIZE_8,
1411        BI_SR_COUNT_1, 0, 1, 0, 0,
1412        0, 0, 1, 0, 0, 0,
1413        0, 0,
1414    },
1415
1416    [BI_OPCODE_LOAD_I96] = {
1417        "LOAD.i96", BIFROST_MESSAGE_LOAD, BI_SIZE_96,
1418        BI_SR_COUNT_3, 0, 1, 0, 0,
1419        0, 0, 1, 0, 0, 0,
1420        0, 0,
1421    },
1422
1423    [BI_OPCODE_LOGB_F32] = {
1424        "LOGB.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1425        BI_SR_COUNT_0, 0, 0, 0, 0,
1426        0, 0, 1, 0, 0, 0,
1427        0, 0,
1428    },
1429
1430    [BI_OPCODE_LOGB_V2F16] = {
1431        "LOGB.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1432        BI_SR_COUNT_0, 0, 0, 0, 0,
1433        0, 0, 1, 0, 0, 0,
1434        0, 0,
1435    },
1436
1437    [BI_OPCODE_LROT_DOUBLE_I32] = {
1438        "LROT_DOUBLE.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1439        BI_SR_COUNT_0, 0, 0, 0, 0,
1440        0, 1, 0, 0, 0, 0,
1441        0, 0,
1442    },
1443
1444    [BI_OPCODE_LSHIFT_AND_I32] = {
1445        "LSHIFT_AND.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1446        BI_SR_COUNT_0, 0, 0, 0, 0,
1447        0, 1, 0, 0, 1, 0,
1448        0, 1,
1449    },
1450
1451    [BI_OPCODE_LSHIFT_AND_V2I16] = {
1452        "LSHIFT_AND.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1453        BI_SR_COUNT_0, 0, 0, 0, 0,
1454        0, 1, 0, 0, 1, 0,
1455        0, 1,
1456    },
1457
1458    [BI_OPCODE_LSHIFT_AND_V4I8] = {
1459        "LSHIFT_AND.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1460        BI_SR_COUNT_0, 0, 0, 0, 0,
1461        0, 1, 0, 0, 1, 0,
1462        0, 1,
1463    },
1464
1465    [BI_OPCODE_LSHIFT_DOUBLE_I32] = {
1466        "LSHIFT_DOUBLE.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1467        BI_SR_COUNT_0, 0, 0, 0, 0,
1468        0, 1, 0, 0, 0, 0,
1469        0, 0,
1470    },
1471
1472    [BI_OPCODE_LSHIFT_OR_I32] = {
1473        "LSHIFT_OR.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1474        BI_SR_COUNT_0, 0, 0, 0, 0,
1475        0, 1, 0, 0, 1, 0,
1476        0, 1,
1477    },
1478
1479    [BI_OPCODE_LSHIFT_OR_V2I16] = {
1480        "LSHIFT_OR.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1481        BI_SR_COUNT_0, 0, 0, 0, 0,
1482        0, 1, 0, 0, 1, 0,
1483        0, 1,
1484    },
1485
1486    [BI_OPCODE_LSHIFT_OR_V4I8] = {
1487        "LSHIFT_OR.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1488        BI_SR_COUNT_0, 0, 0, 0, 0,
1489        0, 1, 0, 0, 1, 0,
1490        0, 1,
1491    },
1492
1493    [BI_OPCODE_LSHIFT_XOR_I32] = {
1494        "LSHIFT_XOR.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1495        BI_SR_COUNT_0, 0, 0, 0, 0,
1496        0, 1, 0, 0, 1, 0,
1497        0, 0,
1498    },
1499
1500    [BI_OPCODE_LSHIFT_XOR_V2I16] = {
1501        "LSHIFT_XOR.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1502        BI_SR_COUNT_0, 0, 0, 0, 0,
1503        0, 1, 0, 0, 1, 0,
1504        0, 0,
1505    },
1506
1507    [BI_OPCODE_LSHIFT_XOR_V4I8] = {
1508        "LSHIFT_XOR.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1509        BI_SR_COUNT_0, 0, 0, 0, 0,
1510        0, 1, 0, 0, 1, 0,
1511        0, 0,
1512    },
1513
1514    [BI_OPCODE_MKVEC_V2I16] = {
1515        "MKVEC.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1516        BI_SR_COUNT_0, 0, 0, 0, 0,
1517        0, 1, 1, 0, 0, 0,
1518        0, 0,
1519    },
1520
1521    [BI_OPCODE_MKVEC_V4I8] = {
1522        "MKVEC.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1523        BI_SR_COUNT_0, 0, 0, 0, 0,
1524        0, 1, 0, 0, 0, 0,
1525        0, 0,
1526    },
1527
1528    [BI_OPCODE_MOV_I32] = {
1529        "MOV.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1530        BI_SR_COUNT_0, 0, 0, 0, 0,
1531        0, 1, 1, 0, 0, 0,
1532        0, 0,
1533    },
1534
1535    [BI_OPCODE_MUX_I32] = {
1536        "MUX.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1537        BI_SR_COUNT_0, 0, 0, 0, 0,
1538        0, 0, 1, 0, 0, 0,
1539        0, 0,
1540    },
1541
1542    [BI_OPCODE_MUX_V2I16] = {
1543        "MUX.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1544        BI_SR_COUNT_0, 0, 0, 0, 0,
1545        0, 0, 1, 0, 0, 0,
1546        0, 0,
1547    },
1548
1549    [BI_OPCODE_MUX_V4I8] = {
1550        "MUX.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1551        BI_SR_COUNT_0, 0, 0, 0, 0,
1552        0, 0, 1, 0, 0, 0,
1553        0, 0,
1554    },
1555
1556    [BI_OPCODE_NOP] = {
1557        "NOP", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1558        BI_SR_COUNT_0, 0, 0, 0, 0,
1559        0, 1, 1, 0, 0, 0,
1560        0, 0,
1561    },
1562
1563    [BI_OPCODE_PATOM_C_I32] = {
1564        "PATOM_C.i32", BIFROST_MESSAGE_ATOMIC, BI_SIZE_32,
1565        BI_SR_COUNT_SR_COUNT, 1, 1, 0, 0,
1566        0, 0, 1, 0, 0, 0,
1567        0, 0,
1568    },
1569
1570    [BI_OPCODE_PATOM_C1_I32] = {
1571        "PATOM_C1.i32", BIFROST_MESSAGE_ATOMIC, BI_SIZE_32,
1572        BI_SR_COUNT_SR_COUNT, 0, 1, 0, 0,
1573        0, 0, 1, 0, 0, 0,
1574        0, 0,
1575    },
1576
1577    [BI_OPCODE_POPCOUNT_I32] = {
1578        "POPCOUNT.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1579        BI_SR_COUNT_0, 0, 0, 0, 0,
1580        0, 1, 0, 0, 0, 0,
1581        0, 0,
1582    },
1583
1584    [BI_OPCODE_QUIET_F32] = {
1585        "QUIET.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1586        BI_SR_COUNT_0, 0, 0, 0, 0,
1587        0, 1, 1, 0, 0, 0,
1588        0, 0,
1589    },
1590
1591    [BI_OPCODE_QUIET_V2F16] = {
1592        "QUIET.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1593        BI_SR_COUNT_0, 0, 0, 0, 0,
1594        0, 1, 1, 0, 0, 0,
1595        0, 0,
1596    },
1597
1598    [BI_OPCODE_RROT_DOUBLE_I32] = {
1599        "RROT_DOUBLE.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1600        BI_SR_COUNT_0, 0, 0, 0, 0,
1601        0, 1, 0, 0, 0, 0,
1602        0, 0,
1603    },
1604
1605    [BI_OPCODE_RSHIFT_AND_I32] = {
1606        "RSHIFT_AND.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1607        BI_SR_COUNT_0, 0, 0, 0, 0,
1608        0, 1, 0, 0, 1, 0,
1609        0, 1,
1610    },
1611
1612    [BI_OPCODE_RSHIFT_AND_V2I16] = {
1613        "RSHIFT_AND.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1614        BI_SR_COUNT_0, 0, 0, 0, 0,
1615        0, 1, 0, 0, 1, 0,
1616        0, 1,
1617    },
1618
1619    [BI_OPCODE_RSHIFT_AND_V4I8] = {
1620        "RSHIFT_AND.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1621        BI_SR_COUNT_0, 0, 0, 0, 0,
1622        0, 1, 0, 0, 1, 0,
1623        0, 1,
1624    },
1625
1626    [BI_OPCODE_RSHIFT_DOUBLE_I32] = {
1627        "RSHIFT_DOUBLE.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1628        BI_SR_COUNT_0, 0, 0, 0, 0,
1629        0, 1, 0, 0, 0, 0,
1630        0, 0,
1631    },
1632
1633    [BI_OPCODE_RSHIFT_OR_I32] = {
1634        "RSHIFT_OR.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1635        BI_SR_COUNT_0, 0, 0, 0, 0,
1636        0, 1, 0, 0, 1, 0,
1637        0, 1,
1638    },
1639
1640    [BI_OPCODE_RSHIFT_OR_V2I16] = {
1641        "RSHIFT_OR.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1642        BI_SR_COUNT_0, 0, 0, 0, 0,
1643        0, 1, 0, 0, 1, 0,
1644        0, 1,
1645    },
1646
1647    [BI_OPCODE_RSHIFT_OR_V4I8] = {
1648        "RSHIFT_OR.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1649        BI_SR_COUNT_0, 0, 0, 0, 0,
1650        0, 1, 0, 0, 1, 0,
1651        0, 1,
1652    },
1653
1654    [BI_OPCODE_RSHIFT_XOR_I32] = {
1655        "RSHIFT_XOR.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1656        BI_SR_COUNT_0, 0, 0, 0, 0,
1657        0, 1, 0, 0, 1, 0,
1658        0, 0,
1659    },
1660
1661    [BI_OPCODE_RSHIFT_XOR_V2I16] = {
1662        "RSHIFT_XOR.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1663        BI_SR_COUNT_0, 0, 0, 0, 0,
1664        0, 1, 0, 0, 1, 0,
1665        0, 0,
1666    },
1667
1668    [BI_OPCODE_RSHIFT_XOR_V4I8] = {
1669        "RSHIFT_XOR.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1670        BI_SR_COUNT_0, 0, 0, 0, 0,
1671        0, 1, 0, 0, 1, 0,
1672        0, 0,
1673    },
1674
1675    [BI_OPCODE_S16_TO_F32] = {
1676        "S16_TO_F32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1677        BI_SR_COUNT_0, 0, 0, 0, 0,
1678        0, 0, 1, 0, 0, 0,
1679        0, 0,
1680    },
1681
1682    [BI_OPCODE_S16_TO_S32] = {
1683        "S16_TO_S32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1684        BI_SR_COUNT_0, 0, 0, 0, 0,
1685        0, 1, 1, 0, 0, 0,
1686        0, 0,
1687    },
1688
1689    [BI_OPCODE_S32_TO_F32] = {
1690        "S32_TO_F32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1691        BI_SR_COUNT_0, 0, 0, 0, 0,
1692        0, 0, 1, 0, 0, 0,
1693        0, 0,
1694    },
1695
1696    [BI_OPCODE_S8_TO_F32] = {
1697        "S8_TO_F32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1698        BI_SR_COUNT_0, 0, 0, 0, 0,
1699        0, 0, 1, 0, 0, 0,
1700        0, 0,
1701    },
1702
1703    [BI_OPCODE_S8_TO_S32] = {
1704        "S8_TO_S32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1705        BI_SR_COUNT_0, 0, 0, 0, 0,
1706        0, 1, 1, 0, 0, 0,
1707        0, 0,
1708    },
1709
1710    [BI_OPCODE_SEG_ADD] = {
1711        "SEG_ADD", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1712        BI_SR_COUNT_0, 0, 0, 0, 0,
1713        0, 1, 1, 0, 0, 0,
1714        0, 0,
1715    },
1716
1717    [BI_OPCODE_SEG_ADD_I64] = {
1718        "SEG_ADD.i64", BIFROST_MESSAGE_NONE, BI_SIZE_64,
1719        BI_SR_COUNT_0, 0, 0, 0, 0,
1720        0, 0, 1, 0, 0, 0,
1721        0, 0,
1722    },
1723
1724    [BI_OPCODE_SHADDXH_I32] = {
1725        "SHADDXH.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1726        BI_SR_COUNT_0, 0, 0, 0, 0,
1727        0, 0, 1, 0, 0, 0,
1728        0, 0,
1729    },
1730
1731    [BI_OPCODE_SHADDXL_I64] = {
1732        "SHADDXL.i64", BIFROST_MESSAGE_NONE, BI_SIZE_64,
1733        BI_SR_COUNT_0, 0, 0, 0, 0,
1734        0, 1, 0, 0, 0, 0,
1735        0, 0,
1736    },
1737
1738    [BI_OPCODE_SHADDXL_S32] = {
1739        "SHADDXL.s32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1740        BI_SR_COUNT_0, 0, 0, 0, 0,
1741        0, 1, 0, 0, 0, 0,
1742        0, 0,
1743    },
1744
1745    [BI_OPCODE_SHADDXL_U32] = {
1746        "SHADDXL.u32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1747        BI_SR_COUNT_0, 0, 0, 0, 0,
1748        0, 1, 0, 0, 0, 0,
1749        0, 0,
1750    },
1751
1752    [BI_OPCODE_SHIFT_DOUBLE_I32] = {
1753        "SHIFT_DOUBLE.i32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1754        BI_SR_COUNT_0, 0, 0, 0, 0,
1755        0, 0, 1, 0, 0, 0,
1756        0, 0,
1757    },
1758
1759    [BI_OPCODE_STORE_I128] = {
1760        "STORE.i128", BIFROST_MESSAGE_STORE, BI_SIZE_128,
1761        BI_SR_COUNT_4, 1, 0, 0, 0,
1762        0, 0, 1, 0, 0, 0,
1763        0, 0,
1764    },
1765
1766    [BI_OPCODE_STORE_I16] = {
1767        "STORE.i16", BIFROST_MESSAGE_STORE, BI_SIZE_16,
1768        BI_SR_COUNT_1, 1, 0, 0, 0,
1769        0, 0, 1, 0, 0, 0,
1770        0, 0,
1771    },
1772
1773    [BI_OPCODE_STORE_I24] = {
1774        "STORE.i24", BIFROST_MESSAGE_STORE, BI_SIZE_24,
1775        BI_SR_COUNT_1, 1, 0, 0, 0,
1776        0, 0, 1, 0, 0, 0,
1777        0, 0,
1778    },
1779
1780    [BI_OPCODE_STORE_I32] = {
1781        "STORE.i32", BIFROST_MESSAGE_STORE, BI_SIZE_32,
1782        BI_SR_COUNT_1, 1, 0, 0, 0,
1783        0, 0, 1, 0, 0, 0,
1784        0, 0,
1785    },
1786
1787    [BI_OPCODE_STORE_I48] = {
1788        "STORE.i48", BIFROST_MESSAGE_STORE, BI_SIZE_48,
1789        BI_SR_COUNT_2, 1, 0, 0, 0,
1790        0, 0, 1, 0, 0, 0,
1791        0, 0,
1792    },
1793
1794    [BI_OPCODE_STORE_I64] = {
1795        "STORE.i64", BIFROST_MESSAGE_STORE, BI_SIZE_64,
1796        BI_SR_COUNT_2, 1, 0, 0, 0,
1797        0, 0, 1, 0, 0, 0,
1798        0, 0,
1799    },
1800
1801    [BI_OPCODE_STORE_I8] = {
1802        "STORE.i8", BIFROST_MESSAGE_STORE, BI_SIZE_8,
1803        BI_SR_COUNT_1, 1, 0, 0, 0,
1804        0, 0, 1, 0, 0, 0,
1805        0, 0,
1806    },
1807
1808    [BI_OPCODE_STORE_I96] = {
1809        "STORE.i96", BIFROST_MESSAGE_STORE, BI_SIZE_96,
1810        BI_SR_COUNT_3, 1, 0, 0, 0,
1811        0, 0, 1, 0, 0, 0,
1812        0, 0,
1813    },
1814
1815    [BI_OPCODE_ST_CVT] = {
1816        "ST_CVT", BIFROST_MESSAGE_STORE, BI_SIZE_32,
1817        BI_SR_COUNT_FORMAT, 1, 0, 0, 0,
1818        0, 0, 1, 0, 0, 0,
1819        0, 0,
1820    },
1821
1822    [BI_OPCODE_ST_TILE] = {
1823        "ST_TILE", BIFROST_MESSAGE_TILE, BI_SIZE_32,
1824        BI_SR_COUNT_FORMAT, 1, 0, 0, 0,
1825        0, 0, 1, 0, 0, 0,
1826        0, 0,
1827    },
1828
1829    [BI_OPCODE_SWZ_V2I16] = {
1830        "SWZ.v2i16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1831        BI_SR_COUNT_0, 0, 0, 0, 0,
1832        0, 0, 1, 0, 0, 0,
1833        0, 0,
1834    },
1835
1836    [BI_OPCODE_SWZ_V4I8] = {
1837        "SWZ.v4i8", BIFROST_MESSAGE_NONE, BI_SIZE_8,
1838        BI_SR_COUNT_0, 0, 0, 0, 0,
1839        0, 0, 1, 0, 0, 0,
1840        0, 0,
1841    },
1842
1843    [BI_OPCODE_TEXC] = {
1844        "TEXC", BIFROST_MESSAGE_TEX, BI_SIZE_32,
1845        BI_SR_COUNT_SR_COUNT, 1, 1, 0, 0,
1846        0, 0, 1, 0, 0, 0,
1847        0, 0,
1848    },
1849
1850    [BI_OPCODE_TEXS_2D_F16] = {
1851        "TEXS_2D.f16", BIFROST_MESSAGE_TEX, BI_SIZE_16,
1852        BI_SR_COUNT_2, 0, 1, 0, 0,
1853        0, 0, 1, 0, 0, 0,
1854        0, 0,
1855    },
1856
1857    [BI_OPCODE_TEXS_2D_F32] = {
1858        "TEXS_2D.f32", BIFROST_MESSAGE_TEX, BI_SIZE_32,
1859        BI_SR_COUNT_4, 0, 1, 0, 0,
1860        0, 0, 1, 0, 0, 0,
1861        0, 0,
1862    },
1863
1864    [BI_OPCODE_TEXS_CUBE_F16] = {
1865        "TEXS_CUBE.f16", BIFROST_MESSAGE_TEX, BI_SIZE_16,
1866        BI_SR_COUNT_2, 0, 1, 0, 0,
1867        0, 0, 1, 0, 0, 0,
1868        0, 0,
1869    },
1870
1871    [BI_OPCODE_TEXS_CUBE_F32] = {
1872        "TEXS_CUBE.f32", BIFROST_MESSAGE_TEX, BI_SIZE_32,
1873        BI_SR_COUNT_4, 0, 1, 0, 0,
1874        0, 0, 1, 0, 0, 0,
1875        0, 0,
1876    },
1877
1878    [BI_OPCODE_U16_TO_F32] = {
1879        "U16_TO_F32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1880        BI_SR_COUNT_0, 0, 0, 0, 0,
1881        0, 0, 1, 0, 0, 0,
1882        0, 0,
1883    },
1884
1885    [BI_OPCODE_U16_TO_U32] = {
1886        "U16_TO_U32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1887        BI_SR_COUNT_0, 0, 0, 0, 0,
1888        0, 1, 1, 0, 0, 0,
1889        0, 0,
1890    },
1891
1892    [BI_OPCODE_U32_TO_F32] = {
1893        "U32_TO_F32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1894        BI_SR_COUNT_0, 0, 0, 0, 0,
1895        0, 0, 1, 0, 0, 0,
1896        0, 0,
1897    },
1898
1899    [BI_OPCODE_U8_TO_F32] = {
1900        "U8_TO_F32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1901        BI_SR_COUNT_0, 0, 0, 0, 0,
1902        0, 0, 1, 0, 0, 0,
1903        0, 0,
1904    },
1905
1906    [BI_OPCODE_U8_TO_U32] = {
1907        "U8_TO_U32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1908        BI_SR_COUNT_0, 0, 0, 0, 0,
1909        0, 1, 1, 0, 0, 0,
1910        0, 0,
1911    },
1912
1913    [BI_OPCODE_V2F16_TO_V2S16] = {
1914        "V2F16_TO_V2S16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1915        BI_SR_COUNT_0, 0, 0, 0, 0,
1916        0, 0, 1, 0, 0, 0,
1917        0, 0,
1918    },
1919
1920    [BI_OPCODE_V2F16_TO_V2U16] = {
1921        "V2F16_TO_V2U16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1922        BI_SR_COUNT_0, 0, 0, 0, 0,
1923        0, 0, 1, 0, 0, 0,
1924        0, 0,
1925    },
1926
1927    [BI_OPCODE_V2F32_TO_V2F16] = {
1928        "V2F32_TO_V2F16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1929        BI_SR_COUNT_0, 0, 0, 0, 0,
1930        0, 1, 1, 1, 0, 3,
1931        3, 0,
1932    },
1933
1934    [BI_OPCODE_V2S16_TO_V2F16] = {
1935        "V2S16_TO_V2F16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1936        BI_SR_COUNT_0, 0, 0, 0, 0,
1937        0, 0, 1, 0, 0, 0,
1938        0, 0,
1939    },
1940
1941    [BI_OPCODE_V2S8_TO_V2F16] = {
1942        "V2S8_TO_V2F16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1943        BI_SR_COUNT_0, 0, 0, 0, 0,
1944        0, 0, 1, 0, 0, 0,
1945        0, 0,
1946    },
1947
1948    [BI_OPCODE_V2S8_TO_V2S16] = {
1949        "V2S8_TO_V2S16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1950        BI_SR_COUNT_0, 0, 0, 0, 0,
1951        0, 0, 1, 0, 0, 0,
1952        0, 0,
1953    },
1954
1955    [BI_OPCODE_V2U16_TO_V2F16] = {
1956        "V2U16_TO_V2F16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1957        BI_SR_COUNT_0, 0, 0, 0, 0,
1958        0, 0, 1, 0, 0, 0,
1959        0, 0,
1960    },
1961
1962    [BI_OPCODE_V2U8_TO_V2F16] = {
1963        "V2U8_TO_V2F16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1964        BI_SR_COUNT_0, 0, 0, 0, 0,
1965        0, 0, 1, 0, 0, 0,
1966        0, 0,
1967    },
1968
1969    [BI_OPCODE_V2U8_TO_V2U16] = {
1970        "V2U8_TO_V2U16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1971        BI_SR_COUNT_0, 0, 0, 0, 0,
1972        0, 0, 1, 0, 0, 0,
1973        0, 0,
1974    },
1975
1976    [BI_OPCODE_VAR_TEX_F16] = {
1977        "VAR_TEX.f16", BIFROST_MESSAGE_VARTEX, BI_SIZE_16,
1978        BI_SR_COUNT_2, 0, 1, 0, 0,
1979        0, 0, 1, 0, 0, 0,
1980        0, 0,
1981    },
1982
1983    [BI_OPCODE_VAR_TEX_F32] = {
1984        "VAR_TEX.f32", BIFROST_MESSAGE_VARTEX, BI_SIZE_32,
1985        BI_SR_COUNT_4, 0, 1, 0, 0,
1986        0, 0, 1, 0, 0, 0,
1987        0, 0,
1988    },
1989
1990    [BI_OPCODE_VN_ASST1_F16] = {
1991        "VN_ASST1.f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
1992        BI_SR_COUNT_0, 0, 0, 0, 0,
1993        0, 1, 0, 0, 0, 0,
1994        4, 0,
1995    },
1996
1997    [BI_OPCODE_VN_ASST1_F32] = {
1998        "VN_ASST1.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
1999        BI_SR_COUNT_0, 0, 0, 0, 0,
2000        0, 1, 0, 0, 0, 0,
2001        4, 0,
2002    },
2003
2004    [BI_OPCODE_VN_ASST2_F32] = {
2005        "VN_ASST2.f32", BIFROST_MESSAGE_NONE, BI_SIZE_32,
2006        BI_SR_COUNT_0, 0, 0, 0, 0,
2007        0, 0, 1, 0, 0, 0,
2008        1, 0,
2009    },
2010
2011    [BI_OPCODE_VN_ASST2_V2F16] = {
2012        "VN_ASST2.v2f16", BIFROST_MESSAGE_NONE, BI_SIZE_16,
2013        BI_SR_COUNT_0, 0, 0, 0, 0,
2014        0, 0, 1, 0, 0, 0,
2015        1, 0,
2016    },
2017
2018    [BI_OPCODE_WMASK] = {
2019        "WMASK", BIFROST_MESSAGE_NONE, BI_SIZE_32,
2020        BI_SR_COUNT_0, 0, 0, 0, 0,
2021        0, 0, 1, 0, 0, 0,
2022        0, 0,
2023    },
2024
2025    [BI_OPCODE_ZS_EMIT] = {
2026        "ZS_EMIT", BIFROST_MESSAGE_Z_STENCIL, BI_SIZE_32,
2027        BI_SR_COUNT_1, 0, 1, 0, 0,
2028        0, 0, 1, 0, 0, 0,
2029        0, 0,
2030    },
2031};
2032