1 
2 #include "nir.h"
3 
4 nir_op
nir_type_conversion_op(nir_alu_type src,nir_alu_type dst,nir_rounding_mode rnd)5 nir_type_conversion_op(nir_alu_type src, nir_alu_type dst, nir_rounding_mode rnd)
6 {
7    nir_alu_type src_base = (nir_alu_type) nir_alu_type_get_base_type(src);
8    nir_alu_type dst_base = (nir_alu_type) nir_alu_type_get_base_type(dst);
9    unsigned src_bit_size = nir_alu_type_get_type_size(src);
10    unsigned dst_bit_size = nir_alu_type_get_type_size(dst);
11 
12    if (src == dst && src_base == nir_type_float) {
13       return nir_op_mov;
14    } else if (src == dst && src_base == nir_type_bool) {
15       return nir_op_mov;
16    } else if ((src_base == nir_type_int || src_base == nir_type_uint) &&
17               (dst_base == nir_type_int || dst_base == nir_type_uint) &&
18               src_bit_size == dst_bit_size) {
19       /* Integer <-> integer conversions with the same bit-size on both
20        * ends are just no-op moves.
21        */
22       return nir_op_mov;
23    }
24 
25    switch (src_base) {
26       case nir_type_int:
27          switch (dst_base) {
28             case nir_type_int:
29             case nir_type_uint:
30 
31                switch (dst_bit_size) {
32                   case 1:
33                      assert(rnd == nir_rounding_mode_undef);
34                      return nir_op_i2i1;
35                   case 8:
36                      assert(rnd == nir_rounding_mode_undef);
37                      return nir_op_i2i8;
38                   case 16:
39                      assert(rnd == nir_rounding_mode_undef);
40                      return nir_op_i2i16;
41                   case 32:
42                      assert(rnd == nir_rounding_mode_undef);
43                      return nir_op_i2i32;
44                   case 64:
45                      assert(rnd == nir_rounding_mode_undef);
46                      return nir_op_i2i64;
47                   default:
48                      unreachable("Invalid nir alu bit size");
49                }
50             case nir_type_float:
51                switch (dst_bit_size) {
52                   case 16:
53                      assert(rnd == nir_rounding_mode_undef);
54                      return nir_op_i2f16;
55                   case 32:
56                      assert(rnd == nir_rounding_mode_undef);
57                      return nir_op_i2f32;
58                   case 64:
59                      assert(rnd == nir_rounding_mode_undef);
60                      return nir_op_i2f64;
61                   default:
62                      unreachable("Invalid nir alu bit size");
63                }
64             case nir_type_bool:
65                switch (dst_bit_size) {
66                   case 1:
67                      assert(rnd == nir_rounding_mode_undef);
68                      return nir_op_i2b1;
69                   case 8:
70                      assert(rnd == nir_rounding_mode_undef);
71                      return nir_op_i2b8;
72                   case 16:
73                      assert(rnd == nir_rounding_mode_undef);
74                      return nir_op_i2b16;
75                   case 32:
76                      assert(rnd == nir_rounding_mode_undef);
77                      return nir_op_i2b32;
78                   default:
79                      unreachable("Invalid nir alu bit size");
80                }
81             default:
82                unreachable("Invalid nir alu base type");
83          }
84       case nir_type_uint:
85          switch (dst_base) {
86             case nir_type_int:
87             case nir_type_uint:
88 
89                switch (dst_bit_size) {
90                   case 1:
91                      assert(rnd == nir_rounding_mode_undef);
92                      return nir_op_u2u1;
93                   case 8:
94                      assert(rnd == nir_rounding_mode_undef);
95                      return nir_op_u2u8;
96                   case 16:
97                      assert(rnd == nir_rounding_mode_undef);
98                      return nir_op_u2u16;
99                   case 32:
100                      assert(rnd == nir_rounding_mode_undef);
101                      return nir_op_u2u32;
102                   case 64:
103                      assert(rnd == nir_rounding_mode_undef);
104                      return nir_op_u2u64;
105                   default:
106                      unreachable("Invalid nir alu bit size");
107                }
108             case nir_type_float:
109                switch (dst_bit_size) {
110                   case 16:
111                      assert(rnd == nir_rounding_mode_undef);
112                      return nir_op_u2f16;
113                   case 32:
114                      assert(rnd == nir_rounding_mode_undef);
115                      return nir_op_u2f32;
116                   case 64:
117                      assert(rnd == nir_rounding_mode_undef);
118                      return nir_op_u2f64;
119                   default:
120                      unreachable("Invalid nir alu bit size");
121                }
122             case nir_type_bool:
123 
124                switch (dst_bit_size) {
125                   case 1:
126                      assert(rnd == nir_rounding_mode_undef);
127                      return nir_op_i2b1;
128                   case 8:
129                      assert(rnd == nir_rounding_mode_undef);
130                      return nir_op_i2b8;
131                   case 16:
132                      assert(rnd == nir_rounding_mode_undef);
133                      return nir_op_i2b16;
134                   case 32:
135                      assert(rnd == nir_rounding_mode_undef);
136                      return nir_op_i2b32;
137                   default:
138                      unreachable("Invalid nir alu bit size");
139                }
140             default:
141                unreachable("Invalid nir alu base type");
142          }
143       case nir_type_float:
144          switch (dst_base) {
145             case nir_type_int:
146                switch (dst_bit_size) {
147                   case 1:
148                      assert(rnd == nir_rounding_mode_undef);
149                      return nir_op_f2i1;
150                   case 8:
151                      assert(rnd == nir_rounding_mode_undef);
152                      return nir_op_f2i8;
153                   case 16:
154                      assert(rnd == nir_rounding_mode_undef);
155                      return nir_op_f2i16;
156                   case 32:
157                      assert(rnd == nir_rounding_mode_undef);
158                      return nir_op_f2i32;
159                   case 64:
160                      assert(rnd == nir_rounding_mode_undef);
161                      return nir_op_f2i64;
162                   default:
163                      unreachable("Invalid nir alu bit size");
164                }
165             case nir_type_uint:
166                switch (dst_bit_size) {
167                   case 1:
168                      assert(rnd == nir_rounding_mode_undef);
169                      return nir_op_f2u1;
170                   case 8:
171                      assert(rnd == nir_rounding_mode_undef);
172                      return nir_op_f2u8;
173                   case 16:
174                      assert(rnd == nir_rounding_mode_undef);
175                      return nir_op_f2u16;
176                   case 32:
177                      assert(rnd == nir_rounding_mode_undef);
178                      return nir_op_f2u32;
179                   case 64:
180                      assert(rnd == nir_rounding_mode_undef);
181                      return nir_op_f2u64;
182                   default:
183                      unreachable("Invalid nir alu bit size");
184                }
185             case nir_type_float:
186                switch (dst_bit_size) {
187                   case 16:
188                      switch(rnd) {
189                         case nir_rounding_mode_rtne:
190                            return nir_op_f2f16_rtne;
191                         case nir_rounding_mode_rtz:
192                            return nir_op_f2f16_rtz;
193                         case nir_rounding_mode_undef:
194                            return nir_op_f2f16;
195                         default:
196                            unreachable("Invalid 16-bit nir rounding mode");
197                      }
198                   case 32:
199                      assert(rnd == nir_rounding_mode_undef);
200                      return nir_op_f2f32;
201                   case 64:
202                      assert(rnd == nir_rounding_mode_undef);
203                      return nir_op_f2f64;
204                   default:
205                      unreachable("Invalid nir alu bit size");
206                }
207             case nir_type_bool:
208                switch (dst_bit_size) {
209                   case 1:
210                      assert(rnd == nir_rounding_mode_undef);
211                      return nir_op_f2b1;
212                   case 8:
213                      assert(rnd == nir_rounding_mode_undef);
214                      return nir_op_f2b8;
215                   case 16:
216                      assert(rnd == nir_rounding_mode_undef);
217                      return nir_op_f2b16;
218                   case 32:
219                      assert(rnd == nir_rounding_mode_undef);
220                      return nir_op_f2b32;
221                   default:
222                      unreachable("Invalid nir alu bit size");
223                }
224             default:
225                unreachable("Invalid nir alu base type");
226          }
227       case nir_type_bool:
228          switch (dst_base) {
229             case nir_type_int:
230             case nir_type_uint:
231 
232                switch (dst_bit_size) {
233                   case 1:
234                      assert(rnd == nir_rounding_mode_undef);
235                      return nir_op_b2i1;
236                   case 8:
237                      assert(rnd == nir_rounding_mode_undef);
238                      return nir_op_b2i8;
239                   case 16:
240                      assert(rnd == nir_rounding_mode_undef);
241                      return nir_op_b2i16;
242                   case 32:
243                      assert(rnd == nir_rounding_mode_undef);
244                      return nir_op_b2i32;
245                   case 64:
246                      assert(rnd == nir_rounding_mode_undef);
247                      return nir_op_b2i64;
248                   default:
249                      unreachable("Invalid nir alu bit size");
250                }
251             case nir_type_float:
252                switch (dst_bit_size) {
253                   case 16:
254                      assert(rnd == nir_rounding_mode_undef);
255                      return nir_op_b2f16;
256                   case 32:
257                      assert(rnd == nir_rounding_mode_undef);
258                      return nir_op_b2f32;
259                   case 64:
260                      assert(rnd == nir_rounding_mode_undef);
261                      return nir_op_b2f64;
262                   default:
263                      unreachable("Invalid nir alu bit size");
264                }
265             case nir_type_bool:
266 
267                switch (dst_bit_size) {
268                   case 1:
269                      assert(rnd == nir_rounding_mode_undef);
270                      return nir_op_b2i1;
271                   case 8:
272                      assert(rnd == nir_rounding_mode_undef);
273                      return nir_op_b2i8;
274                   case 16:
275                      assert(rnd == nir_rounding_mode_undef);
276                      return nir_op_b2i16;
277                   case 32:
278                      assert(rnd == nir_rounding_mode_undef);
279                      return nir_op_b2i32;
280                   case 64:
281                      assert(rnd == nir_rounding_mode_undef);
282                      return nir_op_b2i64;
283                   default:
284                      unreachable("Invalid nir alu bit size");
285                }
286             default:
287                unreachable("Invalid nir alu base type");
288          }
289       default:
290          unreachable("Invalid nir alu base type");
291    }
292 }
293 
294 const nir_op_info nir_op_infos[nir_num_opcodes] = {
295 {
296    .name = "amul",
297    .num_inputs = 2,
298    .output_size = 0,
299    .output_type = nir_type_int,
300    .input_sizes = {
301       0, 0
302    },
303    .input_types = {
304       nir_type_int, nir_type_int
305    },
306    .is_conversion = false,
307    .algebraic_properties =
308       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
309 },
310 {
311    .name = "b16all_fequal16",
312    .num_inputs = 2,
313    .output_size = 1,
314    .output_type = nir_type_bool16,
315    .input_sizes = {
316       16, 16
317    },
318    .input_types = {
319       nir_type_float, nir_type_float
320    },
321    .is_conversion = false,
322    .algebraic_properties =
323       NIR_OP_IS_2SRC_COMMUTATIVE
324 },
325 {
326    .name = "b16all_fequal2",
327    .num_inputs = 2,
328    .output_size = 1,
329    .output_type = nir_type_bool16,
330    .input_sizes = {
331       2, 2
332    },
333    .input_types = {
334       nir_type_float, nir_type_float
335    },
336    .is_conversion = false,
337    .algebraic_properties =
338       NIR_OP_IS_2SRC_COMMUTATIVE
339 },
340 {
341    .name = "b16all_fequal3",
342    .num_inputs = 2,
343    .output_size = 1,
344    .output_type = nir_type_bool16,
345    .input_sizes = {
346       3, 3
347    },
348    .input_types = {
349       nir_type_float, nir_type_float
350    },
351    .is_conversion = false,
352    .algebraic_properties =
353       NIR_OP_IS_2SRC_COMMUTATIVE
354 },
355 {
356    .name = "b16all_fequal4",
357    .num_inputs = 2,
358    .output_size = 1,
359    .output_type = nir_type_bool16,
360    .input_sizes = {
361       4, 4
362    },
363    .input_types = {
364       nir_type_float, nir_type_float
365    },
366    .is_conversion = false,
367    .algebraic_properties =
368       NIR_OP_IS_2SRC_COMMUTATIVE
369 },
370 {
371    .name = "b16all_fequal8",
372    .num_inputs = 2,
373    .output_size = 1,
374    .output_type = nir_type_bool16,
375    .input_sizes = {
376       8, 8
377    },
378    .input_types = {
379       nir_type_float, nir_type_float
380    },
381    .is_conversion = false,
382    .algebraic_properties =
383       NIR_OP_IS_2SRC_COMMUTATIVE
384 },
385 {
386    .name = "b16all_iequal16",
387    .num_inputs = 2,
388    .output_size = 1,
389    .output_type = nir_type_bool16,
390    .input_sizes = {
391       16, 16
392    },
393    .input_types = {
394       nir_type_int, nir_type_int
395    },
396    .is_conversion = false,
397    .algebraic_properties =
398       NIR_OP_IS_2SRC_COMMUTATIVE
399 },
400 {
401    .name = "b16all_iequal2",
402    .num_inputs = 2,
403    .output_size = 1,
404    .output_type = nir_type_bool16,
405    .input_sizes = {
406       2, 2
407    },
408    .input_types = {
409       nir_type_int, nir_type_int
410    },
411    .is_conversion = false,
412    .algebraic_properties =
413       NIR_OP_IS_2SRC_COMMUTATIVE
414 },
415 {
416    .name = "b16all_iequal3",
417    .num_inputs = 2,
418    .output_size = 1,
419    .output_type = nir_type_bool16,
420    .input_sizes = {
421       3, 3
422    },
423    .input_types = {
424       nir_type_int, nir_type_int
425    },
426    .is_conversion = false,
427    .algebraic_properties =
428       NIR_OP_IS_2SRC_COMMUTATIVE
429 },
430 {
431    .name = "b16all_iequal4",
432    .num_inputs = 2,
433    .output_size = 1,
434    .output_type = nir_type_bool16,
435    .input_sizes = {
436       4, 4
437    },
438    .input_types = {
439       nir_type_int, nir_type_int
440    },
441    .is_conversion = false,
442    .algebraic_properties =
443       NIR_OP_IS_2SRC_COMMUTATIVE
444 },
445 {
446    .name = "b16all_iequal8",
447    .num_inputs = 2,
448    .output_size = 1,
449    .output_type = nir_type_bool16,
450    .input_sizes = {
451       8, 8
452    },
453    .input_types = {
454       nir_type_int, nir_type_int
455    },
456    .is_conversion = false,
457    .algebraic_properties =
458       NIR_OP_IS_2SRC_COMMUTATIVE
459 },
460 {
461    .name = "b16any_fnequal16",
462    .num_inputs = 2,
463    .output_size = 1,
464    .output_type = nir_type_bool16,
465    .input_sizes = {
466       16, 16
467    },
468    .input_types = {
469       nir_type_float, nir_type_float
470    },
471    .is_conversion = false,
472    .algebraic_properties =
473       NIR_OP_IS_2SRC_COMMUTATIVE
474 },
475 {
476    .name = "b16any_fnequal2",
477    .num_inputs = 2,
478    .output_size = 1,
479    .output_type = nir_type_bool16,
480    .input_sizes = {
481       2, 2
482    },
483    .input_types = {
484       nir_type_float, nir_type_float
485    },
486    .is_conversion = false,
487    .algebraic_properties =
488       NIR_OP_IS_2SRC_COMMUTATIVE
489 },
490 {
491    .name = "b16any_fnequal3",
492    .num_inputs = 2,
493    .output_size = 1,
494    .output_type = nir_type_bool16,
495    .input_sizes = {
496       3, 3
497    },
498    .input_types = {
499       nir_type_float, nir_type_float
500    },
501    .is_conversion = false,
502    .algebraic_properties =
503       NIR_OP_IS_2SRC_COMMUTATIVE
504 },
505 {
506    .name = "b16any_fnequal4",
507    .num_inputs = 2,
508    .output_size = 1,
509    .output_type = nir_type_bool16,
510    .input_sizes = {
511       4, 4
512    },
513    .input_types = {
514       nir_type_float, nir_type_float
515    },
516    .is_conversion = false,
517    .algebraic_properties =
518       NIR_OP_IS_2SRC_COMMUTATIVE
519 },
520 {
521    .name = "b16any_fnequal8",
522    .num_inputs = 2,
523    .output_size = 1,
524    .output_type = nir_type_bool16,
525    .input_sizes = {
526       8, 8
527    },
528    .input_types = {
529       nir_type_float, nir_type_float
530    },
531    .is_conversion = false,
532    .algebraic_properties =
533       NIR_OP_IS_2SRC_COMMUTATIVE
534 },
535 {
536    .name = "b16any_inequal16",
537    .num_inputs = 2,
538    .output_size = 1,
539    .output_type = nir_type_bool16,
540    .input_sizes = {
541       16, 16
542    },
543    .input_types = {
544       nir_type_int, nir_type_int
545    },
546    .is_conversion = false,
547    .algebraic_properties =
548       NIR_OP_IS_2SRC_COMMUTATIVE
549 },
550 {
551    .name = "b16any_inequal2",
552    .num_inputs = 2,
553    .output_size = 1,
554    .output_type = nir_type_bool16,
555    .input_sizes = {
556       2, 2
557    },
558    .input_types = {
559       nir_type_int, nir_type_int
560    },
561    .is_conversion = false,
562    .algebraic_properties =
563       NIR_OP_IS_2SRC_COMMUTATIVE
564 },
565 {
566    .name = "b16any_inequal3",
567    .num_inputs = 2,
568    .output_size = 1,
569    .output_type = nir_type_bool16,
570    .input_sizes = {
571       3, 3
572    },
573    .input_types = {
574       nir_type_int, nir_type_int
575    },
576    .is_conversion = false,
577    .algebraic_properties =
578       NIR_OP_IS_2SRC_COMMUTATIVE
579 },
580 {
581    .name = "b16any_inequal4",
582    .num_inputs = 2,
583    .output_size = 1,
584    .output_type = nir_type_bool16,
585    .input_sizes = {
586       4, 4
587    },
588    .input_types = {
589       nir_type_int, nir_type_int
590    },
591    .is_conversion = false,
592    .algebraic_properties =
593       NIR_OP_IS_2SRC_COMMUTATIVE
594 },
595 {
596    .name = "b16any_inequal8",
597    .num_inputs = 2,
598    .output_size = 1,
599    .output_type = nir_type_bool16,
600    .input_sizes = {
601       8, 8
602    },
603    .input_types = {
604       nir_type_int, nir_type_int
605    },
606    .is_conversion = false,
607    .algebraic_properties =
608       NIR_OP_IS_2SRC_COMMUTATIVE
609 },
610 {
611    .name = "b16csel",
612    .num_inputs = 3,
613    .output_size = 0,
614    .output_type = nir_type_uint,
615    .input_sizes = {
616       0, 0, 0
617    },
618    .input_types = {
619       nir_type_bool16, nir_type_uint, nir_type_uint
620    },
621    .is_conversion = false,
622    .algebraic_properties =
623       0
624 },
625 {
626    .name = "b2b1",
627    .num_inputs = 1,
628    .output_size = 0,
629    .output_type = nir_type_bool1,
630    .input_sizes = {
631       0
632    },
633    .input_types = {
634       nir_type_bool
635    },
636    .is_conversion = true,
637    .algebraic_properties =
638       0
639 },
640 {
641    .name = "b2b16",
642    .num_inputs = 1,
643    .output_size = 0,
644    .output_type = nir_type_bool16,
645    .input_sizes = {
646       0
647    },
648    .input_types = {
649       nir_type_bool
650    },
651    .is_conversion = true,
652    .algebraic_properties =
653       0
654 },
655 {
656    .name = "b2b32",
657    .num_inputs = 1,
658    .output_size = 0,
659    .output_type = nir_type_bool32,
660    .input_sizes = {
661       0
662    },
663    .input_types = {
664       nir_type_bool
665    },
666    .is_conversion = true,
667    .algebraic_properties =
668       0
669 },
670 {
671    .name = "b2b8",
672    .num_inputs = 1,
673    .output_size = 0,
674    .output_type = nir_type_bool8,
675    .input_sizes = {
676       0
677    },
678    .input_types = {
679       nir_type_bool
680    },
681    .is_conversion = true,
682    .algebraic_properties =
683       0
684 },
685 {
686    .name = "b2f16",
687    .num_inputs = 1,
688    .output_size = 0,
689    .output_type = nir_type_float16,
690    .input_sizes = {
691       0
692    },
693    .input_types = {
694       nir_type_bool
695    },
696    .is_conversion = true,
697    .algebraic_properties =
698       0
699 },
700 {
701    .name = "b2f32",
702    .num_inputs = 1,
703    .output_size = 0,
704    .output_type = nir_type_float32,
705    .input_sizes = {
706       0
707    },
708    .input_types = {
709       nir_type_bool
710    },
711    .is_conversion = true,
712    .algebraic_properties =
713       0
714 },
715 {
716    .name = "b2f64",
717    .num_inputs = 1,
718    .output_size = 0,
719    .output_type = nir_type_float64,
720    .input_sizes = {
721       0
722    },
723    .input_types = {
724       nir_type_bool
725    },
726    .is_conversion = true,
727    .algebraic_properties =
728       0
729 },
730 {
731    .name = "b2i1",
732    .num_inputs = 1,
733    .output_size = 0,
734    .output_type = nir_type_int1,
735    .input_sizes = {
736       0
737    },
738    .input_types = {
739       nir_type_bool
740    },
741    .is_conversion = true,
742    .algebraic_properties =
743       0
744 },
745 {
746    .name = "b2i16",
747    .num_inputs = 1,
748    .output_size = 0,
749    .output_type = nir_type_int16,
750    .input_sizes = {
751       0
752    },
753    .input_types = {
754       nir_type_bool
755    },
756    .is_conversion = true,
757    .algebraic_properties =
758       0
759 },
760 {
761    .name = "b2i32",
762    .num_inputs = 1,
763    .output_size = 0,
764    .output_type = nir_type_int32,
765    .input_sizes = {
766       0
767    },
768    .input_types = {
769       nir_type_bool
770    },
771    .is_conversion = true,
772    .algebraic_properties =
773       0
774 },
775 {
776    .name = "b2i64",
777    .num_inputs = 1,
778    .output_size = 0,
779    .output_type = nir_type_int64,
780    .input_sizes = {
781       0
782    },
783    .input_types = {
784       nir_type_bool
785    },
786    .is_conversion = true,
787    .algebraic_properties =
788       0
789 },
790 {
791    .name = "b2i8",
792    .num_inputs = 1,
793    .output_size = 0,
794    .output_type = nir_type_int8,
795    .input_sizes = {
796       0
797    },
798    .input_types = {
799       nir_type_bool
800    },
801    .is_conversion = true,
802    .algebraic_properties =
803       0
804 },
805 {
806    .name = "b32all_fequal16",
807    .num_inputs = 2,
808    .output_size = 1,
809    .output_type = nir_type_bool32,
810    .input_sizes = {
811       16, 16
812    },
813    .input_types = {
814       nir_type_float, nir_type_float
815    },
816    .is_conversion = false,
817    .algebraic_properties =
818       NIR_OP_IS_2SRC_COMMUTATIVE
819 },
820 {
821    .name = "b32all_fequal2",
822    .num_inputs = 2,
823    .output_size = 1,
824    .output_type = nir_type_bool32,
825    .input_sizes = {
826       2, 2
827    },
828    .input_types = {
829       nir_type_float, nir_type_float
830    },
831    .is_conversion = false,
832    .algebraic_properties =
833       NIR_OP_IS_2SRC_COMMUTATIVE
834 },
835 {
836    .name = "b32all_fequal3",
837    .num_inputs = 2,
838    .output_size = 1,
839    .output_type = nir_type_bool32,
840    .input_sizes = {
841       3, 3
842    },
843    .input_types = {
844       nir_type_float, nir_type_float
845    },
846    .is_conversion = false,
847    .algebraic_properties =
848       NIR_OP_IS_2SRC_COMMUTATIVE
849 },
850 {
851    .name = "b32all_fequal4",
852    .num_inputs = 2,
853    .output_size = 1,
854    .output_type = nir_type_bool32,
855    .input_sizes = {
856       4, 4
857    },
858    .input_types = {
859       nir_type_float, nir_type_float
860    },
861    .is_conversion = false,
862    .algebraic_properties =
863       NIR_OP_IS_2SRC_COMMUTATIVE
864 },
865 {
866    .name = "b32all_fequal8",
867    .num_inputs = 2,
868    .output_size = 1,
869    .output_type = nir_type_bool32,
870    .input_sizes = {
871       8, 8
872    },
873    .input_types = {
874       nir_type_float, nir_type_float
875    },
876    .is_conversion = false,
877    .algebraic_properties =
878       NIR_OP_IS_2SRC_COMMUTATIVE
879 },
880 {
881    .name = "b32all_iequal16",
882    .num_inputs = 2,
883    .output_size = 1,
884    .output_type = nir_type_bool32,
885    .input_sizes = {
886       16, 16
887    },
888    .input_types = {
889       nir_type_int, nir_type_int
890    },
891    .is_conversion = false,
892    .algebraic_properties =
893       NIR_OP_IS_2SRC_COMMUTATIVE
894 },
895 {
896    .name = "b32all_iequal2",
897    .num_inputs = 2,
898    .output_size = 1,
899    .output_type = nir_type_bool32,
900    .input_sizes = {
901       2, 2
902    },
903    .input_types = {
904       nir_type_int, nir_type_int
905    },
906    .is_conversion = false,
907    .algebraic_properties =
908       NIR_OP_IS_2SRC_COMMUTATIVE
909 },
910 {
911    .name = "b32all_iequal3",
912    .num_inputs = 2,
913    .output_size = 1,
914    .output_type = nir_type_bool32,
915    .input_sizes = {
916       3, 3
917    },
918    .input_types = {
919       nir_type_int, nir_type_int
920    },
921    .is_conversion = false,
922    .algebraic_properties =
923       NIR_OP_IS_2SRC_COMMUTATIVE
924 },
925 {
926    .name = "b32all_iequal4",
927    .num_inputs = 2,
928    .output_size = 1,
929    .output_type = nir_type_bool32,
930    .input_sizes = {
931       4, 4
932    },
933    .input_types = {
934       nir_type_int, nir_type_int
935    },
936    .is_conversion = false,
937    .algebraic_properties =
938       NIR_OP_IS_2SRC_COMMUTATIVE
939 },
940 {
941    .name = "b32all_iequal8",
942    .num_inputs = 2,
943    .output_size = 1,
944    .output_type = nir_type_bool32,
945    .input_sizes = {
946       8, 8
947    },
948    .input_types = {
949       nir_type_int, nir_type_int
950    },
951    .is_conversion = false,
952    .algebraic_properties =
953       NIR_OP_IS_2SRC_COMMUTATIVE
954 },
955 {
956    .name = "b32any_fnequal16",
957    .num_inputs = 2,
958    .output_size = 1,
959    .output_type = nir_type_bool32,
960    .input_sizes = {
961       16, 16
962    },
963    .input_types = {
964       nir_type_float, nir_type_float
965    },
966    .is_conversion = false,
967    .algebraic_properties =
968       NIR_OP_IS_2SRC_COMMUTATIVE
969 },
970 {
971    .name = "b32any_fnequal2",
972    .num_inputs = 2,
973    .output_size = 1,
974    .output_type = nir_type_bool32,
975    .input_sizes = {
976       2, 2
977    },
978    .input_types = {
979       nir_type_float, nir_type_float
980    },
981    .is_conversion = false,
982    .algebraic_properties =
983       NIR_OP_IS_2SRC_COMMUTATIVE
984 },
985 {
986    .name = "b32any_fnequal3",
987    .num_inputs = 2,
988    .output_size = 1,
989    .output_type = nir_type_bool32,
990    .input_sizes = {
991       3, 3
992    },
993    .input_types = {
994       nir_type_float, nir_type_float
995    },
996    .is_conversion = false,
997    .algebraic_properties =
998       NIR_OP_IS_2SRC_COMMUTATIVE
999 },
1000 {
1001    .name = "b32any_fnequal4",
1002    .num_inputs = 2,
1003    .output_size = 1,
1004    .output_type = nir_type_bool32,
1005    .input_sizes = {
1006       4, 4
1007    },
1008    .input_types = {
1009       nir_type_float, nir_type_float
1010    },
1011    .is_conversion = false,
1012    .algebraic_properties =
1013       NIR_OP_IS_2SRC_COMMUTATIVE
1014 },
1015 {
1016    .name = "b32any_fnequal8",
1017    .num_inputs = 2,
1018    .output_size = 1,
1019    .output_type = nir_type_bool32,
1020    .input_sizes = {
1021       8, 8
1022    },
1023    .input_types = {
1024       nir_type_float, nir_type_float
1025    },
1026    .is_conversion = false,
1027    .algebraic_properties =
1028       NIR_OP_IS_2SRC_COMMUTATIVE
1029 },
1030 {
1031    .name = "b32any_inequal16",
1032    .num_inputs = 2,
1033    .output_size = 1,
1034    .output_type = nir_type_bool32,
1035    .input_sizes = {
1036       16, 16
1037    },
1038    .input_types = {
1039       nir_type_int, nir_type_int
1040    },
1041    .is_conversion = false,
1042    .algebraic_properties =
1043       NIR_OP_IS_2SRC_COMMUTATIVE
1044 },
1045 {
1046    .name = "b32any_inequal2",
1047    .num_inputs = 2,
1048    .output_size = 1,
1049    .output_type = nir_type_bool32,
1050    .input_sizes = {
1051       2, 2
1052    },
1053    .input_types = {
1054       nir_type_int, nir_type_int
1055    },
1056    .is_conversion = false,
1057    .algebraic_properties =
1058       NIR_OP_IS_2SRC_COMMUTATIVE
1059 },
1060 {
1061    .name = "b32any_inequal3",
1062    .num_inputs = 2,
1063    .output_size = 1,
1064    .output_type = nir_type_bool32,
1065    .input_sizes = {
1066       3, 3
1067    },
1068    .input_types = {
1069       nir_type_int, nir_type_int
1070    },
1071    .is_conversion = false,
1072    .algebraic_properties =
1073       NIR_OP_IS_2SRC_COMMUTATIVE
1074 },
1075 {
1076    .name = "b32any_inequal4",
1077    .num_inputs = 2,
1078    .output_size = 1,
1079    .output_type = nir_type_bool32,
1080    .input_sizes = {
1081       4, 4
1082    },
1083    .input_types = {
1084       nir_type_int, nir_type_int
1085    },
1086    .is_conversion = false,
1087    .algebraic_properties =
1088       NIR_OP_IS_2SRC_COMMUTATIVE
1089 },
1090 {
1091    .name = "b32any_inequal8",
1092    .num_inputs = 2,
1093    .output_size = 1,
1094    .output_type = nir_type_bool32,
1095    .input_sizes = {
1096       8, 8
1097    },
1098    .input_types = {
1099       nir_type_int, nir_type_int
1100    },
1101    .is_conversion = false,
1102    .algebraic_properties =
1103       NIR_OP_IS_2SRC_COMMUTATIVE
1104 },
1105 {
1106    .name = "b32csel",
1107    .num_inputs = 3,
1108    .output_size = 0,
1109    .output_type = nir_type_uint,
1110    .input_sizes = {
1111       0, 0, 0
1112    },
1113    .input_types = {
1114       nir_type_bool32, nir_type_uint, nir_type_uint
1115    },
1116    .is_conversion = false,
1117    .algebraic_properties =
1118       0
1119 },
1120 {
1121    .name = "b8all_fequal16",
1122    .num_inputs = 2,
1123    .output_size = 1,
1124    .output_type = nir_type_bool8,
1125    .input_sizes = {
1126       16, 16
1127    },
1128    .input_types = {
1129       nir_type_float, nir_type_float
1130    },
1131    .is_conversion = false,
1132    .algebraic_properties =
1133       NIR_OP_IS_2SRC_COMMUTATIVE
1134 },
1135 {
1136    .name = "b8all_fequal2",
1137    .num_inputs = 2,
1138    .output_size = 1,
1139    .output_type = nir_type_bool8,
1140    .input_sizes = {
1141       2, 2
1142    },
1143    .input_types = {
1144       nir_type_float, nir_type_float
1145    },
1146    .is_conversion = false,
1147    .algebraic_properties =
1148       NIR_OP_IS_2SRC_COMMUTATIVE
1149 },
1150 {
1151    .name = "b8all_fequal3",
1152    .num_inputs = 2,
1153    .output_size = 1,
1154    .output_type = nir_type_bool8,
1155    .input_sizes = {
1156       3, 3
1157    },
1158    .input_types = {
1159       nir_type_float, nir_type_float
1160    },
1161    .is_conversion = false,
1162    .algebraic_properties =
1163       NIR_OP_IS_2SRC_COMMUTATIVE
1164 },
1165 {
1166    .name = "b8all_fequal4",
1167    .num_inputs = 2,
1168    .output_size = 1,
1169    .output_type = nir_type_bool8,
1170    .input_sizes = {
1171       4, 4
1172    },
1173    .input_types = {
1174       nir_type_float, nir_type_float
1175    },
1176    .is_conversion = false,
1177    .algebraic_properties =
1178       NIR_OP_IS_2SRC_COMMUTATIVE
1179 },
1180 {
1181    .name = "b8all_fequal8",
1182    .num_inputs = 2,
1183    .output_size = 1,
1184    .output_type = nir_type_bool8,
1185    .input_sizes = {
1186       8, 8
1187    },
1188    .input_types = {
1189       nir_type_float, nir_type_float
1190    },
1191    .is_conversion = false,
1192    .algebraic_properties =
1193       NIR_OP_IS_2SRC_COMMUTATIVE
1194 },
1195 {
1196    .name = "b8all_iequal16",
1197    .num_inputs = 2,
1198    .output_size = 1,
1199    .output_type = nir_type_bool8,
1200    .input_sizes = {
1201       16, 16
1202    },
1203    .input_types = {
1204       nir_type_int, nir_type_int
1205    },
1206    .is_conversion = false,
1207    .algebraic_properties =
1208       NIR_OP_IS_2SRC_COMMUTATIVE
1209 },
1210 {
1211    .name = "b8all_iequal2",
1212    .num_inputs = 2,
1213    .output_size = 1,
1214    .output_type = nir_type_bool8,
1215    .input_sizes = {
1216       2, 2
1217    },
1218    .input_types = {
1219       nir_type_int, nir_type_int
1220    },
1221    .is_conversion = false,
1222    .algebraic_properties =
1223       NIR_OP_IS_2SRC_COMMUTATIVE
1224 },
1225 {
1226    .name = "b8all_iequal3",
1227    .num_inputs = 2,
1228    .output_size = 1,
1229    .output_type = nir_type_bool8,
1230    .input_sizes = {
1231       3, 3
1232    },
1233    .input_types = {
1234       nir_type_int, nir_type_int
1235    },
1236    .is_conversion = false,
1237    .algebraic_properties =
1238       NIR_OP_IS_2SRC_COMMUTATIVE
1239 },
1240 {
1241    .name = "b8all_iequal4",
1242    .num_inputs = 2,
1243    .output_size = 1,
1244    .output_type = nir_type_bool8,
1245    .input_sizes = {
1246       4, 4
1247    },
1248    .input_types = {
1249       nir_type_int, nir_type_int
1250    },
1251    .is_conversion = false,
1252    .algebraic_properties =
1253       NIR_OP_IS_2SRC_COMMUTATIVE
1254 },
1255 {
1256    .name = "b8all_iequal8",
1257    .num_inputs = 2,
1258    .output_size = 1,
1259    .output_type = nir_type_bool8,
1260    .input_sizes = {
1261       8, 8
1262    },
1263    .input_types = {
1264       nir_type_int, nir_type_int
1265    },
1266    .is_conversion = false,
1267    .algebraic_properties =
1268       NIR_OP_IS_2SRC_COMMUTATIVE
1269 },
1270 {
1271    .name = "b8any_fnequal16",
1272    .num_inputs = 2,
1273    .output_size = 1,
1274    .output_type = nir_type_bool8,
1275    .input_sizes = {
1276       16, 16
1277    },
1278    .input_types = {
1279       nir_type_float, nir_type_float
1280    },
1281    .is_conversion = false,
1282    .algebraic_properties =
1283       NIR_OP_IS_2SRC_COMMUTATIVE
1284 },
1285 {
1286    .name = "b8any_fnequal2",
1287    .num_inputs = 2,
1288    .output_size = 1,
1289    .output_type = nir_type_bool8,
1290    .input_sizes = {
1291       2, 2
1292    },
1293    .input_types = {
1294       nir_type_float, nir_type_float
1295    },
1296    .is_conversion = false,
1297    .algebraic_properties =
1298       NIR_OP_IS_2SRC_COMMUTATIVE
1299 },
1300 {
1301    .name = "b8any_fnequal3",
1302    .num_inputs = 2,
1303    .output_size = 1,
1304    .output_type = nir_type_bool8,
1305    .input_sizes = {
1306       3, 3
1307    },
1308    .input_types = {
1309       nir_type_float, nir_type_float
1310    },
1311    .is_conversion = false,
1312    .algebraic_properties =
1313       NIR_OP_IS_2SRC_COMMUTATIVE
1314 },
1315 {
1316    .name = "b8any_fnequal4",
1317    .num_inputs = 2,
1318    .output_size = 1,
1319    .output_type = nir_type_bool8,
1320    .input_sizes = {
1321       4, 4
1322    },
1323    .input_types = {
1324       nir_type_float, nir_type_float
1325    },
1326    .is_conversion = false,
1327    .algebraic_properties =
1328       NIR_OP_IS_2SRC_COMMUTATIVE
1329 },
1330 {
1331    .name = "b8any_fnequal8",
1332    .num_inputs = 2,
1333    .output_size = 1,
1334    .output_type = nir_type_bool8,
1335    .input_sizes = {
1336       8, 8
1337    },
1338    .input_types = {
1339       nir_type_float, nir_type_float
1340    },
1341    .is_conversion = false,
1342    .algebraic_properties =
1343       NIR_OP_IS_2SRC_COMMUTATIVE
1344 },
1345 {
1346    .name = "b8any_inequal16",
1347    .num_inputs = 2,
1348    .output_size = 1,
1349    .output_type = nir_type_bool8,
1350    .input_sizes = {
1351       16, 16
1352    },
1353    .input_types = {
1354       nir_type_int, nir_type_int
1355    },
1356    .is_conversion = false,
1357    .algebraic_properties =
1358       NIR_OP_IS_2SRC_COMMUTATIVE
1359 },
1360 {
1361    .name = "b8any_inequal2",
1362    .num_inputs = 2,
1363    .output_size = 1,
1364    .output_type = nir_type_bool8,
1365    .input_sizes = {
1366       2, 2
1367    },
1368    .input_types = {
1369       nir_type_int, nir_type_int
1370    },
1371    .is_conversion = false,
1372    .algebraic_properties =
1373       NIR_OP_IS_2SRC_COMMUTATIVE
1374 },
1375 {
1376    .name = "b8any_inequal3",
1377    .num_inputs = 2,
1378    .output_size = 1,
1379    .output_type = nir_type_bool8,
1380    .input_sizes = {
1381       3, 3
1382    },
1383    .input_types = {
1384       nir_type_int, nir_type_int
1385    },
1386    .is_conversion = false,
1387    .algebraic_properties =
1388       NIR_OP_IS_2SRC_COMMUTATIVE
1389 },
1390 {
1391    .name = "b8any_inequal4",
1392    .num_inputs = 2,
1393    .output_size = 1,
1394    .output_type = nir_type_bool8,
1395    .input_sizes = {
1396       4, 4
1397    },
1398    .input_types = {
1399       nir_type_int, nir_type_int
1400    },
1401    .is_conversion = false,
1402    .algebraic_properties =
1403       NIR_OP_IS_2SRC_COMMUTATIVE
1404 },
1405 {
1406    .name = "b8any_inequal8",
1407    .num_inputs = 2,
1408    .output_size = 1,
1409    .output_type = nir_type_bool8,
1410    .input_sizes = {
1411       8, 8
1412    },
1413    .input_types = {
1414       nir_type_int, nir_type_int
1415    },
1416    .is_conversion = false,
1417    .algebraic_properties =
1418       NIR_OP_IS_2SRC_COMMUTATIVE
1419 },
1420 {
1421    .name = "b8csel",
1422    .num_inputs = 3,
1423    .output_size = 0,
1424    .output_type = nir_type_uint,
1425    .input_sizes = {
1426       0, 0, 0
1427    },
1428    .input_types = {
1429       nir_type_bool8, nir_type_uint, nir_type_uint
1430    },
1431    .is_conversion = false,
1432    .algebraic_properties =
1433       0
1434 },
1435 {
1436    .name = "ball_fequal16",
1437    .num_inputs = 2,
1438    .output_size = 1,
1439    .output_type = nir_type_bool1,
1440    .input_sizes = {
1441       16, 16
1442    },
1443    .input_types = {
1444       nir_type_float, nir_type_float
1445    },
1446    .is_conversion = false,
1447    .algebraic_properties =
1448       NIR_OP_IS_2SRC_COMMUTATIVE
1449 },
1450 {
1451    .name = "ball_fequal2",
1452    .num_inputs = 2,
1453    .output_size = 1,
1454    .output_type = nir_type_bool1,
1455    .input_sizes = {
1456       2, 2
1457    },
1458    .input_types = {
1459       nir_type_float, nir_type_float
1460    },
1461    .is_conversion = false,
1462    .algebraic_properties =
1463       NIR_OP_IS_2SRC_COMMUTATIVE
1464 },
1465 {
1466    .name = "ball_fequal3",
1467    .num_inputs = 2,
1468    .output_size = 1,
1469    .output_type = nir_type_bool1,
1470    .input_sizes = {
1471       3, 3
1472    },
1473    .input_types = {
1474       nir_type_float, nir_type_float
1475    },
1476    .is_conversion = false,
1477    .algebraic_properties =
1478       NIR_OP_IS_2SRC_COMMUTATIVE
1479 },
1480 {
1481    .name = "ball_fequal4",
1482    .num_inputs = 2,
1483    .output_size = 1,
1484    .output_type = nir_type_bool1,
1485    .input_sizes = {
1486       4, 4
1487    },
1488    .input_types = {
1489       nir_type_float, nir_type_float
1490    },
1491    .is_conversion = false,
1492    .algebraic_properties =
1493       NIR_OP_IS_2SRC_COMMUTATIVE
1494 },
1495 {
1496    .name = "ball_fequal8",
1497    .num_inputs = 2,
1498    .output_size = 1,
1499    .output_type = nir_type_bool1,
1500    .input_sizes = {
1501       8, 8
1502    },
1503    .input_types = {
1504       nir_type_float, nir_type_float
1505    },
1506    .is_conversion = false,
1507    .algebraic_properties =
1508       NIR_OP_IS_2SRC_COMMUTATIVE
1509 },
1510 {
1511    .name = "ball_iequal16",
1512    .num_inputs = 2,
1513    .output_size = 1,
1514    .output_type = nir_type_bool1,
1515    .input_sizes = {
1516       16, 16
1517    },
1518    .input_types = {
1519       nir_type_int, nir_type_int
1520    },
1521    .is_conversion = false,
1522    .algebraic_properties =
1523       NIR_OP_IS_2SRC_COMMUTATIVE
1524 },
1525 {
1526    .name = "ball_iequal2",
1527    .num_inputs = 2,
1528    .output_size = 1,
1529    .output_type = nir_type_bool1,
1530    .input_sizes = {
1531       2, 2
1532    },
1533    .input_types = {
1534       nir_type_int, nir_type_int
1535    },
1536    .is_conversion = false,
1537    .algebraic_properties =
1538       NIR_OP_IS_2SRC_COMMUTATIVE
1539 },
1540 {
1541    .name = "ball_iequal3",
1542    .num_inputs = 2,
1543    .output_size = 1,
1544    .output_type = nir_type_bool1,
1545    .input_sizes = {
1546       3, 3
1547    },
1548    .input_types = {
1549       nir_type_int, nir_type_int
1550    },
1551    .is_conversion = false,
1552    .algebraic_properties =
1553       NIR_OP_IS_2SRC_COMMUTATIVE
1554 },
1555 {
1556    .name = "ball_iequal4",
1557    .num_inputs = 2,
1558    .output_size = 1,
1559    .output_type = nir_type_bool1,
1560    .input_sizes = {
1561       4, 4
1562    },
1563    .input_types = {
1564       nir_type_int, nir_type_int
1565    },
1566    .is_conversion = false,
1567    .algebraic_properties =
1568       NIR_OP_IS_2SRC_COMMUTATIVE
1569 },
1570 {
1571    .name = "ball_iequal8",
1572    .num_inputs = 2,
1573    .output_size = 1,
1574    .output_type = nir_type_bool1,
1575    .input_sizes = {
1576       8, 8
1577    },
1578    .input_types = {
1579       nir_type_int, nir_type_int
1580    },
1581    .is_conversion = false,
1582    .algebraic_properties =
1583       NIR_OP_IS_2SRC_COMMUTATIVE
1584 },
1585 {
1586    .name = "bany_fnequal16",
1587    .num_inputs = 2,
1588    .output_size = 1,
1589    .output_type = nir_type_bool1,
1590    .input_sizes = {
1591       16, 16
1592    },
1593    .input_types = {
1594       nir_type_float, nir_type_float
1595    },
1596    .is_conversion = false,
1597    .algebraic_properties =
1598       NIR_OP_IS_2SRC_COMMUTATIVE
1599 },
1600 {
1601    .name = "bany_fnequal2",
1602    .num_inputs = 2,
1603    .output_size = 1,
1604    .output_type = nir_type_bool1,
1605    .input_sizes = {
1606       2, 2
1607    },
1608    .input_types = {
1609       nir_type_float, nir_type_float
1610    },
1611    .is_conversion = false,
1612    .algebraic_properties =
1613       NIR_OP_IS_2SRC_COMMUTATIVE
1614 },
1615 {
1616    .name = "bany_fnequal3",
1617    .num_inputs = 2,
1618    .output_size = 1,
1619    .output_type = nir_type_bool1,
1620    .input_sizes = {
1621       3, 3
1622    },
1623    .input_types = {
1624       nir_type_float, nir_type_float
1625    },
1626    .is_conversion = false,
1627    .algebraic_properties =
1628       NIR_OP_IS_2SRC_COMMUTATIVE
1629 },
1630 {
1631    .name = "bany_fnequal4",
1632    .num_inputs = 2,
1633    .output_size = 1,
1634    .output_type = nir_type_bool1,
1635    .input_sizes = {
1636       4, 4
1637    },
1638    .input_types = {
1639       nir_type_float, nir_type_float
1640    },
1641    .is_conversion = false,
1642    .algebraic_properties =
1643       NIR_OP_IS_2SRC_COMMUTATIVE
1644 },
1645 {
1646    .name = "bany_fnequal8",
1647    .num_inputs = 2,
1648    .output_size = 1,
1649    .output_type = nir_type_bool1,
1650    .input_sizes = {
1651       8, 8
1652    },
1653    .input_types = {
1654       nir_type_float, nir_type_float
1655    },
1656    .is_conversion = false,
1657    .algebraic_properties =
1658       NIR_OP_IS_2SRC_COMMUTATIVE
1659 },
1660 {
1661    .name = "bany_inequal16",
1662    .num_inputs = 2,
1663    .output_size = 1,
1664    .output_type = nir_type_bool1,
1665    .input_sizes = {
1666       16, 16
1667    },
1668    .input_types = {
1669       nir_type_int, nir_type_int
1670    },
1671    .is_conversion = false,
1672    .algebraic_properties =
1673       NIR_OP_IS_2SRC_COMMUTATIVE
1674 },
1675 {
1676    .name = "bany_inequal2",
1677    .num_inputs = 2,
1678    .output_size = 1,
1679    .output_type = nir_type_bool1,
1680    .input_sizes = {
1681       2, 2
1682    },
1683    .input_types = {
1684       nir_type_int, nir_type_int
1685    },
1686    .is_conversion = false,
1687    .algebraic_properties =
1688       NIR_OP_IS_2SRC_COMMUTATIVE
1689 },
1690 {
1691    .name = "bany_inequal3",
1692    .num_inputs = 2,
1693    .output_size = 1,
1694    .output_type = nir_type_bool1,
1695    .input_sizes = {
1696       3, 3
1697    },
1698    .input_types = {
1699       nir_type_int, nir_type_int
1700    },
1701    .is_conversion = false,
1702    .algebraic_properties =
1703       NIR_OP_IS_2SRC_COMMUTATIVE
1704 },
1705 {
1706    .name = "bany_inequal4",
1707    .num_inputs = 2,
1708    .output_size = 1,
1709    .output_type = nir_type_bool1,
1710    .input_sizes = {
1711       4, 4
1712    },
1713    .input_types = {
1714       nir_type_int, nir_type_int
1715    },
1716    .is_conversion = false,
1717    .algebraic_properties =
1718       NIR_OP_IS_2SRC_COMMUTATIVE
1719 },
1720 {
1721    .name = "bany_inequal8",
1722    .num_inputs = 2,
1723    .output_size = 1,
1724    .output_type = nir_type_bool1,
1725    .input_sizes = {
1726       8, 8
1727    },
1728    .input_types = {
1729       nir_type_int, nir_type_int
1730    },
1731    .is_conversion = false,
1732    .algebraic_properties =
1733       NIR_OP_IS_2SRC_COMMUTATIVE
1734 },
1735 {
1736    .name = "bcsel",
1737    .num_inputs = 3,
1738    .output_size = 0,
1739    .output_type = nir_type_uint,
1740    .input_sizes = {
1741       0, 0, 0
1742    },
1743    .input_types = {
1744       nir_type_bool1, nir_type_uint, nir_type_uint
1745    },
1746    .is_conversion = false,
1747    .algebraic_properties =
1748       0
1749 },
1750 {
1751    .name = "bfi",
1752    .num_inputs = 3,
1753    .output_size = 0,
1754    .output_type = nir_type_uint32,
1755    .input_sizes = {
1756       0, 0, 0
1757    },
1758    .input_types = {
1759       nir_type_uint32, nir_type_uint32, nir_type_uint32
1760    },
1761    .is_conversion = false,
1762    .algebraic_properties =
1763       0
1764 },
1765 {
1766    .name = "bfm",
1767    .num_inputs = 2,
1768    .output_size = 0,
1769    .output_type = nir_type_uint32,
1770    .input_sizes = {
1771       0, 0
1772    },
1773    .input_types = {
1774       nir_type_int32, nir_type_int32
1775    },
1776    .is_conversion = false,
1777    .algebraic_properties =
1778       0
1779 },
1780 {
1781    .name = "bit_count",
1782    .num_inputs = 1,
1783    .output_size = 0,
1784    .output_type = nir_type_uint32,
1785    .input_sizes = {
1786       0
1787    },
1788    .input_types = {
1789       nir_type_uint
1790    },
1791    .is_conversion = false,
1792    .algebraic_properties =
1793       0
1794 },
1795 {
1796    .name = "bitfield_insert",
1797    .num_inputs = 4,
1798    .output_size = 0,
1799    .output_type = nir_type_uint32,
1800    .input_sizes = {
1801       0, 0, 0, 0
1802    },
1803    .input_types = {
1804       nir_type_uint32, nir_type_uint32, nir_type_int32, nir_type_int32
1805    },
1806    .is_conversion = false,
1807    .algebraic_properties =
1808       0
1809 },
1810 {
1811    .name = "bitfield_reverse",
1812    .num_inputs = 1,
1813    .output_size = 0,
1814    .output_type = nir_type_uint32,
1815    .input_sizes = {
1816       0
1817    },
1818    .input_types = {
1819       nir_type_uint32
1820    },
1821    .is_conversion = false,
1822    .algebraic_properties =
1823       0
1824 },
1825 {
1826    .name = "bitfield_select",
1827    .num_inputs = 3,
1828    .output_size = 0,
1829    .output_type = nir_type_uint,
1830    .input_sizes = {
1831       0, 0, 0
1832    },
1833    .input_types = {
1834       nir_type_uint, nir_type_uint, nir_type_uint
1835    },
1836    .is_conversion = false,
1837    .algebraic_properties =
1838       0
1839 },
1840 {
1841    .name = "cube_face_coord",
1842    .num_inputs = 1,
1843    .output_size = 2,
1844    .output_type = nir_type_float32,
1845    .input_sizes = {
1846       3
1847    },
1848    .input_types = {
1849       nir_type_float32
1850    },
1851    .is_conversion = false,
1852    .algebraic_properties =
1853       0
1854 },
1855 {
1856    .name = "cube_face_index",
1857    .num_inputs = 1,
1858    .output_size = 1,
1859    .output_type = nir_type_float32,
1860    .input_sizes = {
1861       3
1862    },
1863    .input_types = {
1864       nir_type_float32
1865    },
1866    .is_conversion = false,
1867    .algebraic_properties =
1868       0
1869 },
1870 {
1871    .name = "extract_i16",
1872    .num_inputs = 2,
1873    .output_size = 0,
1874    .output_type = nir_type_int,
1875    .input_sizes = {
1876       0, 0
1877    },
1878    .input_types = {
1879       nir_type_int, nir_type_int
1880    },
1881    .is_conversion = false,
1882    .algebraic_properties =
1883       0
1884 },
1885 {
1886    .name = "extract_i8",
1887    .num_inputs = 2,
1888    .output_size = 0,
1889    .output_type = nir_type_int,
1890    .input_sizes = {
1891       0, 0
1892    },
1893    .input_types = {
1894       nir_type_int, nir_type_int
1895    },
1896    .is_conversion = false,
1897    .algebraic_properties =
1898       0
1899 },
1900 {
1901    .name = "extract_u16",
1902    .num_inputs = 2,
1903    .output_size = 0,
1904    .output_type = nir_type_uint,
1905    .input_sizes = {
1906       0, 0
1907    },
1908    .input_types = {
1909       nir_type_uint, nir_type_uint
1910    },
1911    .is_conversion = false,
1912    .algebraic_properties =
1913       0
1914 },
1915 {
1916    .name = "extract_u8",
1917    .num_inputs = 2,
1918    .output_size = 0,
1919    .output_type = nir_type_uint,
1920    .input_sizes = {
1921       0, 0
1922    },
1923    .input_types = {
1924       nir_type_uint, nir_type_uint
1925    },
1926    .is_conversion = false,
1927    .algebraic_properties =
1928       0
1929 },
1930 {
1931    .name = "f2b1",
1932    .num_inputs = 1,
1933    .output_size = 0,
1934    .output_type = nir_type_bool1,
1935    .input_sizes = {
1936       0
1937    },
1938    .input_types = {
1939       nir_type_float
1940    },
1941    .is_conversion = true,
1942    .algebraic_properties =
1943       0
1944 },
1945 {
1946    .name = "f2b16",
1947    .num_inputs = 1,
1948    .output_size = 0,
1949    .output_type = nir_type_bool16,
1950    .input_sizes = {
1951       0
1952    },
1953    .input_types = {
1954       nir_type_float
1955    },
1956    .is_conversion = true,
1957    .algebraic_properties =
1958       0
1959 },
1960 {
1961    .name = "f2b32",
1962    .num_inputs = 1,
1963    .output_size = 0,
1964    .output_type = nir_type_bool32,
1965    .input_sizes = {
1966       0
1967    },
1968    .input_types = {
1969       nir_type_float
1970    },
1971    .is_conversion = true,
1972    .algebraic_properties =
1973       0
1974 },
1975 {
1976    .name = "f2b8",
1977    .num_inputs = 1,
1978    .output_size = 0,
1979    .output_type = nir_type_bool8,
1980    .input_sizes = {
1981       0
1982    },
1983    .input_types = {
1984       nir_type_float
1985    },
1986    .is_conversion = true,
1987    .algebraic_properties =
1988       0
1989 },
1990 {
1991    .name = "f2f16",
1992    .num_inputs = 1,
1993    .output_size = 0,
1994    .output_type = nir_type_float16,
1995    .input_sizes = {
1996       0
1997    },
1998    .input_types = {
1999       nir_type_float
2000    },
2001    .is_conversion = true,
2002    .algebraic_properties =
2003       0
2004 },
2005 {
2006    .name = "f2f16_rtne",
2007    .num_inputs = 1,
2008    .output_size = 0,
2009    .output_type = nir_type_float16,
2010    .input_sizes = {
2011       0
2012    },
2013    .input_types = {
2014       nir_type_float
2015    },
2016    .is_conversion = true,
2017    .algebraic_properties =
2018       0
2019 },
2020 {
2021    .name = "f2f16_rtz",
2022    .num_inputs = 1,
2023    .output_size = 0,
2024    .output_type = nir_type_float16,
2025    .input_sizes = {
2026       0
2027    },
2028    .input_types = {
2029       nir_type_float
2030    },
2031    .is_conversion = true,
2032    .algebraic_properties =
2033       0
2034 },
2035 {
2036    .name = "f2f32",
2037    .num_inputs = 1,
2038    .output_size = 0,
2039    .output_type = nir_type_float32,
2040    .input_sizes = {
2041       0
2042    },
2043    .input_types = {
2044       nir_type_float
2045    },
2046    .is_conversion = true,
2047    .algebraic_properties =
2048       0
2049 },
2050 {
2051    .name = "f2f64",
2052    .num_inputs = 1,
2053    .output_size = 0,
2054    .output_type = nir_type_float64,
2055    .input_sizes = {
2056       0
2057    },
2058    .input_types = {
2059       nir_type_float
2060    },
2061    .is_conversion = true,
2062    .algebraic_properties =
2063       0
2064 },
2065 {
2066    .name = "f2fmp",
2067    .num_inputs = 1,
2068    .output_size = 0,
2069    .output_type = nir_type_float16,
2070    .input_sizes = {
2071       0
2072    },
2073    .input_types = {
2074       nir_type_float32
2075    },
2076    .is_conversion = true,
2077    .algebraic_properties =
2078       0
2079 },
2080 {
2081    .name = "f2i1",
2082    .num_inputs = 1,
2083    .output_size = 0,
2084    .output_type = nir_type_int1,
2085    .input_sizes = {
2086       0
2087    },
2088    .input_types = {
2089       nir_type_float
2090    },
2091    .is_conversion = true,
2092    .algebraic_properties =
2093       0
2094 },
2095 {
2096    .name = "f2i16",
2097    .num_inputs = 1,
2098    .output_size = 0,
2099    .output_type = nir_type_int16,
2100    .input_sizes = {
2101       0
2102    },
2103    .input_types = {
2104       nir_type_float
2105    },
2106    .is_conversion = true,
2107    .algebraic_properties =
2108       0
2109 },
2110 {
2111    .name = "f2i32",
2112    .num_inputs = 1,
2113    .output_size = 0,
2114    .output_type = nir_type_int32,
2115    .input_sizes = {
2116       0
2117    },
2118    .input_types = {
2119       nir_type_float
2120    },
2121    .is_conversion = true,
2122    .algebraic_properties =
2123       0
2124 },
2125 {
2126    .name = "f2i64",
2127    .num_inputs = 1,
2128    .output_size = 0,
2129    .output_type = nir_type_int64,
2130    .input_sizes = {
2131       0
2132    },
2133    .input_types = {
2134       nir_type_float
2135    },
2136    .is_conversion = true,
2137    .algebraic_properties =
2138       0
2139 },
2140 {
2141    .name = "f2i8",
2142    .num_inputs = 1,
2143    .output_size = 0,
2144    .output_type = nir_type_int8,
2145    .input_sizes = {
2146       0
2147    },
2148    .input_types = {
2149       nir_type_float
2150    },
2151    .is_conversion = true,
2152    .algebraic_properties =
2153       0
2154 },
2155 {
2156    .name = "f2imp",
2157    .num_inputs = 1,
2158    .output_size = 0,
2159    .output_type = nir_type_int16,
2160    .input_sizes = {
2161       0
2162    },
2163    .input_types = {
2164       nir_type_float32
2165    },
2166    .is_conversion = true,
2167    .algebraic_properties =
2168       0
2169 },
2170 {
2171    .name = "f2u1",
2172    .num_inputs = 1,
2173    .output_size = 0,
2174    .output_type = nir_type_uint1,
2175    .input_sizes = {
2176       0
2177    },
2178    .input_types = {
2179       nir_type_float
2180    },
2181    .is_conversion = true,
2182    .algebraic_properties =
2183       0
2184 },
2185 {
2186    .name = "f2u16",
2187    .num_inputs = 1,
2188    .output_size = 0,
2189    .output_type = nir_type_uint16,
2190    .input_sizes = {
2191       0
2192    },
2193    .input_types = {
2194       nir_type_float
2195    },
2196    .is_conversion = true,
2197    .algebraic_properties =
2198       0
2199 },
2200 {
2201    .name = "f2u32",
2202    .num_inputs = 1,
2203    .output_size = 0,
2204    .output_type = nir_type_uint32,
2205    .input_sizes = {
2206       0
2207    },
2208    .input_types = {
2209       nir_type_float
2210    },
2211    .is_conversion = true,
2212    .algebraic_properties =
2213       0
2214 },
2215 {
2216    .name = "f2u64",
2217    .num_inputs = 1,
2218    .output_size = 0,
2219    .output_type = nir_type_uint64,
2220    .input_sizes = {
2221       0
2222    },
2223    .input_types = {
2224       nir_type_float
2225    },
2226    .is_conversion = true,
2227    .algebraic_properties =
2228       0
2229 },
2230 {
2231    .name = "f2u8",
2232    .num_inputs = 1,
2233    .output_size = 0,
2234    .output_type = nir_type_uint8,
2235    .input_sizes = {
2236       0
2237    },
2238    .input_types = {
2239       nir_type_float
2240    },
2241    .is_conversion = true,
2242    .algebraic_properties =
2243       0
2244 },
2245 {
2246    .name = "f2ump",
2247    .num_inputs = 1,
2248    .output_size = 0,
2249    .output_type = nir_type_uint16,
2250    .input_sizes = {
2251       0
2252    },
2253    .input_types = {
2254       nir_type_float32
2255    },
2256    .is_conversion = true,
2257    .algebraic_properties =
2258       0
2259 },
2260 {
2261    .name = "fabs",
2262    .num_inputs = 1,
2263    .output_size = 0,
2264    .output_type = nir_type_float,
2265    .input_sizes = {
2266       0
2267    },
2268    .input_types = {
2269       nir_type_float
2270    },
2271    .is_conversion = false,
2272    .algebraic_properties =
2273       0
2274 },
2275 {
2276    .name = "fadd",
2277    .num_inputs = 2,
2278    .output_size = 0,
2279    .output_type = nir_type_float,
2280    .input_sizes = {
2281       0, 0
2282    },
2283    .input_types = {
2284       nir_type_float, nir_type_float
2285    },
2286    .is_conversion = false,
2287    .algebraic_properties =
2288       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2289 },
2290 {
2291    .name = "fall_equal16",
2292    .num_inputs = 2,
2293    .output_size = 1,
2294    .output_type = nir_type_float32,
2295    .input_sizes = {
2296       16, 16
2297    },
2298    .input_types = {
2299       nir_type_float32, nir_type_float32
2300    },
2301    .is_conversion = false,
2302    .algebraic_properties =
2303       NIR_OP_IS_2SRC_COMMUTATIVE
2304 },
2305 {
2306    .name = "fall_equal2",
2307    .num_inputs = 2,
2308    .output_size = 1,
2309    .output_type = nir_type_float32,
2310    .input_sizes = {
2311       2, 2
2312    },
2313    .input_types = {
2314       nir_type_float32, nir_type_float32
2315    },
2316    .is_conversion = false,
2317    .algebraic_properties =
2318       NIR_OP_IS_2SRC_COMMUTATIVE
2319 },
2320 {
2321    .name = "fall_equal3",
2322    .num_inputs = 2,
2323    .output_size = 1,
2324    .output_type = nir_type_float32,
2325    .input_sizes = {
2326       3, 3
2327    },
2328    .input_types = {
2329       nir_type_float32, nir_type_float32
2330    },
2331    .is_conversion = false,
2332    .algebraic_properties =
2333       NIR_OP_IS_2SRC_COMMUTATIVE
2334 },
2335 {
2336    .name = "fall_equal4",
2337    .num_inputs = 2,
2338    .output_size = 1,
2339    .output_type = nir_type_float32,
2340    .input_sizes = {
2341       4, 4
2342    },
2343    .input_types = {
2344       nir_type_float32, nir_type_float32
2345    },
2346    .is_conversion = false,
2347    .algebraic_properties =
2348       NIR_OP_IS_2SRC_COMMUTATIVE
2349 },
2350 {
2351    .name = "fall_equal8",
2352    .num_inputs = 2,
2353    .output_size = 1,
2354    .output_type = nir_type_float32,
2355    .input_sizes = {
2356       8, 8
2357    },
2358    .input_types = {
2359       nir_type_float32, nir_type_float32
2360    },
2361    .is_conversion = false,
2362    .algebraic_properties =
2363       NIR_OP_IS_2SRC_COMMUTATIVE
2364 },
2365 {
2366    .name = "fany_nequal16",
2367    .num_inputs = 2,
2368    .output_size = 1,
2369    .output_type = nir_type_float32,
2370    .input_sizes = {
2371       16, 16
2372    },
2373    .input_types = {
2374       nir_type_float32, nir_type_float32
2375    },
2376    .is_conversion = false,
2377    .algebraic_properties =
2378       NIR_OP_IS_2SRC_COMMUTATIVE
2379 },
2380 {
2381    .name = "fany_nequal2",
2382    .num_inputs = 2,
2383    .output_size = 1,
2384    .output_type = nir_type_float32,
2385    .input_sizes = {
2386       2, 2
2387    },
2388    .input_types = {
2389       nir_type_float32, nir_type_float32
2390    },
2391    .is_conversion = false,
2392    .algebraic_properties =
2393       NIR_OP_IS_2SRC_COMMUTATIVE
2394 },
2395 {
2396    .name = "fany_nequal3",
2397    .num_inputs = 2,
2398    .output_size = 1,
2399    .output_type = nir_type_float32,
2400    .input_sizes = {
2401       3, 3
2402    },
2403    .input_types = {
2404       nir_type_float32, nir_type_float32
2405    },
2406    .is_conversion = false,
2407    .algebraic_properties =
2408       NIR_OP_IS_2SRC_COMMUTATIVE
2409 },
2410 {
2411    .name = "fany_nequal4",
2412    .num_inputs = 2,
2413    .output_size = 1,
2414    .output_type = nir_type_float32,
2415    .input_sizes = {
2416       4, 4
2417    },
2418    .input_types = {
2419       nir_type_float32, nir_type_float32
2420    },
2421    .is_conversion = false,
2422    .algebraic_properties =
2423       NIR_OP_IS_2SRC_COMMUTATIVE
2424 },
2425 {
2426    .name = "fany_nequal8",
2427    .num_inputs = 2,
2428    .output_size = 1,
2429    .output_type = nir_type_float32,
2430    .input_sizes = {
2431       8, 8
2432    },
2433    .input_types = {
2434       nir_type_float32, nir_type_float32
2435    },
2436    .is_conversion = false,
2437    .algebraic_properties =
2438       NIR_OP_IS_2SRC_COMMUTATIVE
2439 },
2440 {
2441    .name = "fceil",
2442    .num_inputs = 1,
2443    .output_size = 0,
2444    .output_type = nir_type_float,
2445    .input_sizes = {
2446       0
2447    },
2448    .input_types = {
2449       nir_type_float
2450    },
2451    .is_conversion = false,
2452    .algebraic_properties =
2453       0
2454 },
2455 {
2456    .name = "fclamp_pos",
2457    .num_inputs = 1,
2458    .output_size = 0,
2459    .output_type = nir_type_float,
2460    .input_sizes = {
2461       0
2462    },
2463    .input_types = {
2464       nir_type_float
2465    },
2466    .is_conversion = false,
2467    .algebraic_properties =
2468       0
2469 },
2470 {
2471    .name = "fcos",
2472    .num_inputs = 1,
2473    .output_size = 0,
2474    .output_type = nir_type_float,
2475    .input_sizes = {
2476       0
2477    },
2478    .input_types = {
2479       nir_type_float
2480    },
2481    .is_conversion = false,
2482    .algebraic_properties =
2483       0
2484 },
2485 {
2486    .name = "fcsel",
2487    .num_inputs = 3,
2488    .output_size = 0,
2489    .output_type = nir_type_float32,
2490    .input_sizes = {
2491       0, 0, 0
2492    },
2493    .input_types = {
2494       nir_type_float32, nir_type_float32, nir_type_float32
2495    },
2496    .is_conversion = false,
2497    .algebraic_properties =
2498       0
2499 },
2500 {
2501    .name = "fddx",
2502    .num_inputs = 1,
2503    .output_size = 0,
2504    .output_type = nir_type_float,
2505    .input_sizes = {
2506       0
2507    },
2508    .input_types = {
2509       nir_type_float
2510    },
2511    .is_conversion = false,
2512    .algebraic_properties =
2513       0
2514 },
2515 {
2516    .name = "fddx_coarse",
2517    .num_inputs = 1,
2518    .output_size = 0,
2519    .output_type = nir_type_float,
2520    .input_sizes = {
2521       0
2522    },
2523    .input_types = {
2524       nir_type_float
2525    },
2526    .is_conversion = false,
2527    .algebraic_properties =
2528       0
2529 },
2530 {
2531    .name = "fddx_fine",
2532    .num_inputs = 1,
2533    .output_size = 0,
2534    .output_type = nir_type_float,
2535    .input_sizes = {
2536       0
2537    },
2538    .input_types = {
2539       nir_type_float
2540    },
2541    .is_conversion = false,
2542    .algebraic_properties =
2543       0
2544 },
2545 {
2546    .name = "fddy",
2547    .num_inputs = 1,
2548    .output_size = 0,
2549    .output_type = nir_type_float,
2550    .input_sizes = {
2551       0
2552    },
2553    .input_types = {
2554       nir_type_float
2555    },
2556    .is_conversion = false,
2557    .algebraic_properties =
2558       0
2559 },
2560 {
2561    .name = "fddy_coarse",
2562    .num_inputs = 1,
2563    .output_size = 0,
2564    .output_type = nir_type_float,
2565    .input_sizes = {
2566       0
2567    },
2568    .input_types = {
2569       nir_type_float
2570    },
2571    .is_conversion = false,
2572    .algebraic_properties =
2573       0
2574 },
2575 {
2576    .name = "fddy_fine",
2577    .num_inputs = 1,
2578    .output_size = 0,
2579    .output_type = nir_type_float,
2580    .input_sizes = {
2581       0
2582    },
2583    .input_types = {
2584       nir_type_float
2585    },
2586    .is_conversion = false,
2587    .algebraic_properties =
2588       0
2589 },
2590 {
2591    .name = "fdiv",
2592    .num_inputs = 2,
2593    .output_size = 0,
2594    .output_type = nir_type_float,
2595    .input_sizes = {
2596       0, 0
2597    },
2598    .input_types = {
2599       nir_type_float, nir_type_float
2600    },
2601    .is_conversion = false,
2602    .algebraic_properties =
2603       0
2604 },
2605 {
2606    .name = "fdot16",
2607    .num_inputs = 2,
2608    .output_size = 1,
2609    .output_type = nir_type_float,
2610    .input_sizes = {
2611       16, 16
2612    },
2613    .input_types = {
2614       nir_type_float, nir_type_float
2615    },
2616    .is_conversion = false,
2617    .algebraic_properties =
2618       NIR_OP_IS_2SRC_COMMUTATIVE
2619 },
2620 {
2621    .name = "fdot16_replicated",
2622    .num_inputs = 2,
2623    .output_size = 4,
2624    .output_type = nir_type_float,
2625    .input_sizes = {
2626       16, 16
2627    },
2628    .input_types = {
2629       nir_type_float, nir_type_float
2630    },
2631    .is_conversion = false,
2632    .algebraic_properties =
2633       NIR_OP_IS_2SRC_COMMUTATIVE
2634 },
2635 {
2636    .name = "fdot2",
2637    .num_inputs = 2,
2638    .output_size = 1,
2639    .output_type = nir_type_float,
2640    .input_sizes = {
2641       2, 2
2642    },
2643    .input_types = {
2644       nir_type_float, nir_type_float
2645    },
2646    .is_conversion = false,
2647    .algebraic_properties =
2648       NIR_OP_IS_2SRC_COMMUTATIVE
2649 },
2650 {
2651    .name = "fdot2_replicated",
2652    .num_inputs = 2,
2653    .output_size = 4,
2654    .output_type = nir_type_float,
2655    .input_sizes = {
2656       2, 2
2657    },
2658    .input_types = {
2659       nir_type_float, nir_type_float
2660    },
2661    .is_conversion = false,
2662    .algebraic_properties =
2663       NIR_OP_IS_2SRC_COMMUTATIVE
2664 },
2665 {
2666    .name = "fdot3",
2667    .num_inputs = 2,
2668    .output_size = 1,
2669    .output_type = nir_type_float,
2670    .input_sizes = {
2671       3, 3
2672    },
2673    .input_types = {
2674       nir_type_float, nir_type_float
2675    },
2676    .is_conversion = false,
2677    .algebraic_properties =
2678       NIR_OP_IS_2SRC_COMMUTATIVE
2679 },
2680 {
2681    .name = "fdot3_replicated",
2682    .num_inputs = 2,
2683    .output_size = 4,
2684    .output_type = nir_type_float,
2685    .input_sizes = {
2686       3, 3
2687    },
2688    .input_types = {
2689       nir_type_float, nir_type_float
2690    },
2691    .is_conversion = false,
2692    .algebraic_properties =
2693       NIR_OP_IS_2SRC_COMMUTATIVE
2694 },
2695 {
2696    .name = "fdot4",
2697    .num_inputs = 2,
2698    .output_size = 1,
2699    .output_type = nir_type_float,
2700    .input_sizes = {
2701       4, 4
2702    },
2703    .input_types = {
2704       nir_type_float, nir_type_float
2705    },
2706    .is_conversion = false,
2707    .algebraic_properties =
2708       NIR_OP_IS_2SRC_COMMUTATIVE
2709 },
2710 {
2711    .name = "fdot4_replicated",
2712    .num_inputs = 2,
2713    .output_size = 4,
2714    .output_type = nir_type_float,
2715    .input_sizes = {
2716       4, 4
2717    },
2718    .input_types = {
2719       nir_type_float, nir_type_float
2720    },
2721    .is_conversion = false,
2722    .algebraic_properties =
2723       NIR_OP_IS_2SRC_COMMUTATIVE
2724 },
2725 {
2726    .name = "fdot8",
2727    .num_inputs = 2,
2728    .output_size = 1,
2729    .output_type = nir_type_float,
2730    .input_sizes = {
2731       8, 8
2732    },
2733    .input_types = {
2734       nir_type_float, nir_type_float
2735    },
2736    .is_conversion = false,
2737    .algebraic_properties =
2738       NIR_OP_IS_2SRC_COMMUTATIVE
2739 },
2740 {
2741    .name = "fdot8_replicated",
2742    .num_inputs = 2,
2743    .output_size = 4,
2744    .output_type = nir_type_float,
2745    .input_sizes = {
2746       8, 8
2747    },
2748    .input_types = {
2749       nir_type_float, nir_type_float
2750    },
2751    .is_conversion = false,
2752    .algebraic_properties =
2753       NIR_OP_IS_2SRC_COMMUTATIVE
2754 },
2755 {
2756    .name = "fdph",
2757    .num_inputs = 2,
2758    .output_size = 1,
2759    .output_type = nir_type_float,
2760    .input_sizes = {
2761       3, 4
2762    },
2763    .input_types = {
2764       nir_type_float, nir_type_float
2765    },
2766    .is_conversion = false,
2767    .algebraic_properties =
2768       0
2769 },
2770 {
2771    .name = "fdph_replicated",
2772    .num_inputs = 2,
2773    .output_size = 4,
2774    .output_type = nir_type_float,
2775    .input_sizes = {
2776       3, 4
2777    },
2778    .input_types = {
2779       nir_type_float, nir_type_float
2780    },
2781    .is_conversion = false,
2782    .algebraic_properties =
2783       0
2784 },
2785 {
2786    .name = "feq",
2787    .num_inputs = 2,
2788    .output_size = 0,
2789    .output_type = nir_type_bool1,
2790    .input_sizes = {
2791       0, 0
2792    },
2793    .input_types = {
2794       nir_type_float, nir_type_float
2795    },
2796    .is_conversion = false,
2797    .algebraic_properties =
2798       NIR_OP_IS_2SRC_COMMUTATIVE
2799 },
2800 {
2801    .name = "feq16",
2802    .num_inputs = 2,
2803    .output_size = 0,
2804    .output_type = nir_type_bool16,
2805    .input_sizes = {
2806       0, 0
2807    },
2808    .input_types = {
2809       nir_type_float, nir_type_float
2810    },
2811    .is_conversion = false,
2812    .algebraic_properties =
2813       NIR_OP_IS_2SRC_COMMUTATIVE
2814 },
2815 {
2816    .name = "feq32",
2817    .num_inputs = 2,
2818    .output_size = 0,
2819    .output_type = nir_type_bool32,
2820    .input_sizes = {
2821       0, 0
2822    },
2823    .input_types = {
2824       nir_type_float, nir_type_float
2825    },
2826    .is_conversion = false,
2827    .algebraic_properties =
2828       NIR_OP_IS_2SRC_COMMUTATIVE
2829 },
2830 {
2831    .name = "feq8",
2832    .num_inputs = 2,
2833    .output_size = 0,
2834    .output_type = nir_type_bool8,
2835    .input_sizes = {
2836       0, 0
2837    },
2838    .input_types = {
2839       nir_type_float, nir_type_float
2840    },
2841    .is_conversion = false,
2842    .algebraic_properties =
2843       NIR_OP_IS_2SRC_COMMUTATIVE
2844 },
2845 {
2846    .name = "fexp2",
2847    .num_inputs = 1,
2848    .output_size = 0,
2849    .output_type = nir_type_float,
2850    .input_sizes = {
2851       0
2852    },
2853    .input_types = {
2854       nir_type_float
2855    },
2856    .is_conversion = false,
2857    .algebraic_properties =
2858       0
2859 },
2860 {
2861    .name = "ffloor",
2862    .num_inputs = 1,
2863    .output_size = 0,
2864    .output_type = nir_type_float,
2865    .input_sizes = {
2866       0
2867    },
2868    .input_types = {
2869       nir_type_float
2870    },
2871    .is_conversion = false,
2872    .algebraic_properties =
2873       0
2874 },
2875 {
2876    .name = "ffma",
2877    .num_inputs = 3,
2878    .output_size = 0,
2879    .output_type = nir_type_float,
2880    .input_sizes = {
2881       0, 0, 0
2882    },
2883    .input_types = {
2884       nir_type_float, nir_type_float, nir_type_float
2885    },
2886    .is_conversion = false,
2887    .algebraic_properties =
2888       NIR_OP_IS_2SRC_COMMUTATIVE
2889 },
2890 {
2891    .name = "ffract",
2892    .num_inputs = 1,
2893    .output_size = 0,
2894    .output_type = nir_type_float,
2895    .input_sizes = {
2896       0
2897    },
2898    .input_types = {
2899       nir_type_float
2900    },
2901    .is_conversion = false,
2902    .algebraic_properties =
2903       0
2904 },
2905 {
2906    .name = "fge",
2907    .num_inputs = 2,
2908    .output_size = 0,
2909    .output_type = nir_type_bool1,
2910    .input_sizes = {
2911       0, 0
2912    },
2913    .input_types = {
2914       nir_type_float, nir_type_float
2915    },
2916    .is_conversion = false,
2917    .algebraic_properties =
2918       0
2919 },
2920 {
2921    .name = "fge16",
2922    .num_inputs = 2,
2923    .output_size = 0,
2924    .output_type = nir_type_bool16,
2925    .input_sizes = {
2926       0, 0
2927    },
2928    .input_types = {
2929       nir_type_float, nir_type_float
2930    },
2931    .is_conversion = false,
2932    .algebraic_properties =
2933       0
2934 },
2935 {
2936    .name = "fge32",
2937    .num_inputs = 2,
2938    .output_size = 0,
2939    .output_type = nir_type_bool32,
2940    .input_sizes = {
2941       0, 0
2942    },
2943    .input_types = {
2944       nir_type_float, nir_type_float
2945    },
2946    .is_conversion = false,
2947    .algebraic_properties =
2948       0
2949 },
2950 {
2951    .name = "fge8",
2952    .num_inputs = 2,
2953    .output_size = 0,
2954    .output_type = nir_type_bool8,
2955    .input_sizes = {
2956       0, 0
2957    },
2958    .input_types = {
2959       nir_type_float, nir_type_float
2960    },
2961    .is_conversion = false,
2962    .algebraic_properties =
2963       0
2964 },
2965 {
2966    .name = "find_lsb",
2967    .num_inputs = 1,
2968    .output_size = 0,
2969    .output_type = nir_type_int32,
2970    .input_sizes = {
2971       0
2972    },
2973    .input_types = {
2974       nir_type_int
2975    },
2976    .is_conversion = false,
2977    .algebraic_properties =
2978       0
2979 },
2980 {
2981    .name = "fisfinite",
2982    .num_inputs = 1,
2983    .output_size = 0,
2984    .output_type = nir_type_bool1,
2985    .input_sizes = {
2986       0
2987    },
2988    .input_types = {
2989       nir_type_float
2990    },
2991    .is_conversion = false,
2992    .algebraic_properties =
2993       0
2994 },
2995 {
2996    .name = "fisnormal",
2997    .num_inputs = 1,
2998    .output_size = 0,
2999    .output_type = nir_type_bool1,
3000    .input_sizes = {
3001       0
3002    },
3003    .input_types = {
3004       nir_type_float
3005    },
3006    .is_conversion = false,
3007    .algebraic_properties =
3008       0
3009 },
3010 {
3011    .name = "flog2",
3012    .num_inputs = 1,
3013    .output_size = 0,
3014    .output_type = nir_type_float,
3015    .input_sizes = {
3016       0
3017    },
3018    .input_types = {
3019       nir_type_float
3020    },
3021    .is_conversion = false,
3022    .algebraic_properties =
3023       0
3024 },
3025 {
3026    .name = "flrp",
3027    .num_inputs = 3,
3028    .output_size = 0,
3029    .output_type = nir_type_float,
3030    .input_sizes = {
3031       0, 0, 0
3032    },
3033    .input_types = {
3034       nir_type_float, nir_type_float, nir_type_float
3035    },
3036    .is_conversion = false,
3037    .algebraic_properties =
3038       0
3039 },
3040 {
3041    .name = "flt",
3042    .num_inputs = 2,
3043    .output_size = 0,
3044    .output_type = nir_type_bool1,
3045    .input_sizes = {
3046       0, 0
3047    },
3048    .input_types = {
3049       nir_type_float, nir_type_float
3050    },
3051    .is_conversion = false,
3052    .algebraic_properties =
3053       0
3054 },
3055 {
3056    .name = "flt16",
3057    .num_inputs = 2,
3058    .output_size = 0,
3059    .output_type = nir_type_bool16,
3060    .input_sizes = {
3061       0, 0
3062    },
3063    .input_types = {
3064       nir_type_float, nir_type_float
3065    },
3066    .is_conversion = false,
3067    .algebraic_properties =
3068       0
3069 },
3070 {
3071    .name = "flt32",
3072    .num_inputs = 2,
3073    .output_size = 0,
3074    .output_type = nir_type_bool32,
3075    .input_sizes = {
3076       0, 0
3077    },
3078    .input_types = {
3079       nir_type_float, nir_type_float
3080    },
3081    .is_conversion = false,
3082    .algebraic_properties =
3083       0
3084 },
3085 {
3086    .name = "flt8",
3087    .num_inputs = 2,
3088    .output_size = 0,
3089    .output_type = nir_type_bool8,
3090    .input_sizes = {
3091       0, 0
3092    },
3093    .input_types = {
3094       nir_type_float, nir_type_float
3095    },
3096    .is_conversion = false,
3097    .algebraic_properties =
3098       0
3099 },
3100 {
3101    .name = "fmax",
3102    .num_inputs = 2,
3103    .output_size = 0,
3104    .output_type = nir_type_float,
3105    .input_sizes = {
3106       0, 0
3107    },
3108    .input_types = {
3109       nir_type_float, nir_type_float
3110    },
3111    .is_conversion = false,
3112    .algebraic_properties =
3113       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3114 },
3115 {
3116    .name = "fmin",
3117    .num_inputs = 2,
3118    .output_size = 0,
3119    .output_type = nir_type_float,
3120    .input_sizes = {
3121       0, 0
3122    },
3123    .input_types = {
3124       nir_type_float, nir_type_float
3125    },
3126    .is_conversion = false,
3127    .algebraic_properties =
3128       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3129 },
3130 {
3131    .name = "fmod",
3132    .num_inputs = 2,
3133    .output_size = 0,
3134    .output_type = nir_type_float,
3135    .input_sizes = {
3136       0, 0
3137    },
3138    .input_types = {
3139       nir_type_float, nir_type_float
3140    },
3141    .is_conversion = false,
3142    .algebraic_properties =
3143       0
3144 },
3145 {
3146    .name = "fmul",
3147    .num_inputs = 2,
3148    .output_size = 0,
3149    .output_type = nir_type_float,
3150    .input_sizes = {
3151       0, 0
3152    },
3153    .input_types = {
3154       nir_type_float, nir_type_float
3155    },
3156    .is_conversion = false,
3157    .algebraic_properties =
3158       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3159 },
3160 {
3161    .name = "fneg",
3162    .num_inputs = 1,
3163    .output_size = 0,
3164    .output_type = nir_type_float,
3165    .input_sizes = {
3166       0
3167    },
3168    .input_types = {
3169       nir_type_float
3170    },
3171    .is_conversion = false,
3172    .algebraic_properties =
3173       0
3174 },
3175 {
3176    .name = "fneu",
3177    .num_inputs = 2,
3178    .output_size = 0,
3179    .output_type = nir_type_bool1,
3180    .input_sizes = {
3181       0, 0
3182    },
3183    .input_types = {
3184       nir_type_float, nir_type_float
3185    },
3186    .is_conversion = false,
3187    .algebraic_properties =
3188       NIR_OP_IS_2SRC_COMMUTATIVE
3189 },
3190 {
3191    .name = "fneu16",
3192    .num_inputs = 2,
3193    .output_size = 0,
3194    .output_type = nir_type_bool16,
3195    .input_sizes = {
3196       0, 0
3197    },
3198    .input_types = {
3199       nir_type_float, nir_type_float
3200    },
3201    .is_conversion = false,
3202    .algebraic_properties =
3203       NIR_OP_IS_2SRC_COMMUTATIVE
3204 },
3205 {
3206    .name = "fneu32",
3207    .num_inputs = 2,
3208    .output_size = 0,
3209    .output_type = nir_type_bool32,
3210    .input_sizes = {
3211       0, 0
3212    },
3213    .input_types = {
3214       nir_type_float, nir_type_float
3215    },
3216    .is_conversion = false,
3217    .algebraic_properties =
3218       NIR_OP_IS_2SRC_COMMUTATIVE
3219 },
3220 {
3221    .name = "fneu8",
3222    .num_inputs = 2,
3223    .output_size = 0,
3224    .output_type = nir_type_bool8,
3225    .input_sizes = {
3226       0, 0
3227    },
3228    .input_types = {
3229       nir_type_float, nir_type_float
3230    },
3231    .is_conversion = false,
3232    .algebraic_properties =
3233       NIR_OP_IS_2SRC_COMMUTATIVE
3234 },
3235 {
3236    .name = "fpow",
3237    .num_inputs = 2,
3238    .output_size = 0,
3239    .output_type = nir_type_float,
3240    .input_sizes = {
3241       0, 0
3242    },
3243    .input_types = {
3244       nir_type_float, nir_type_float
3245    },
3246    .is_conversion = false,
3247    .algebraic_properties =
3248       0
3249 },
3250 {
3251    .name = "fquantize2f16",
3252    .num_inputs = 1,
3253    .output_size = 0,
3254    .output_type = nir_type_float,
3255    .input_sizes = {
3256       0
3257    },
3258    .input_types = {
3259       nir_type_float
3260    },
3261    .is_conversion = false,
3262    .algebraic_properties =
3263       0
3264 },
3265 {
3266    .name = "frcp",
3267    .num_inputs = 1,
3268    .output_size = 0,
3269    .output_type = nir_type_float,
3270    .input_sizes = {
3271       0
3272    },
3273    .input_types = {
3274       nir_type_float
3275    },
3276    .is_conversion = false,
3277    .algebraic_properties =
3278       0
3279 },
3280 {
3281    .name = "frem",
3282    .num_inputs = 2,
3283    .output_size = 0,
3284    .output_type = nir_type_float,
3285    .input_sizes = {
3286       0, 0
3287    },
3288    .input_types = {
3289       nir_type_float, nir_type_float
3290    },
3291    .is_conversion = false,
3292    .algebraic_properties =
3293       0
3294 },
3295 {
3296    .name = "frexp_exp",
3297    .num_inputs = 1,
3298    .output_size = 0,
3299    .output_type = nir_type_int32,
3300    .input_sizes = {
3301       0
3302    },
3303    .input_types = {
3304       nir_type_float
3305    },
3306    .is_conversion = false,
3307    .algebraic_properties =
3308       0
3309 },
3310 {
3311    .name = "frexp_sig",
3312    .num_inputs = 1,
3313    .output_size = 0,
3314    .output_type = nir_type_float,
3315    .input_sizes = {
3316       0
3317    },
3318    .input_types = {
3319       nir_type_float
3320    },
3321    .is_conversion = false,
3322    .algebraic_properties =
3323       0
3324 },
3325 {
3326    .name = "fround_even",
3327    .num_inputs = 1,
3328    .output_size = 0,
3329    .output_type = nir_type_float,
3330    .input_sizes = {
3331       0
3332    },
3333    .input_types = {
3334       nir_type_float
3335    },
3336    .is_conversion = false,
3337    .algebraic_properties =
3338       0
3339 },
3340 {
3341    .name = "frsq",
3342    .num_inputs = 1,
3343    .output_size = 0,
3344    .output_type = nir_type_float,
3345    .input_sizes = {
3346       0
3347    },
3348    .input_types = {
3349       nir_type_float
3350    },
3351    .is_conversion = false,
3352    .algebraic_properties =
3353       0
3354 },
3355 {
3356    .name = "fsat",
3357    .num_inputs = 1,
3358    .output_size = 0,
3359    .output_type = nir_type_float,
3360    .input_sizes = {
3361       0
3362    },
3363    .input_types = {
3364       nir_type_float
3365    },
3366    .is_conversion = false,
3367    .algebraic_properties =
3368       0
3369 },
3370 {
3371    .name = "fsat_signed",
3372    .num_inputs = 1,
3373    .output_size = 0,
3374    .output_type = nir_type_float,
3375    .input_sizes = {
3376       0
3377    },
3378    .input_types = {
3379       nir_type_float
3380    },
3381    .is_conversion = false,
3382    .algebraic_properties =
3383       0
3384 },
3385 {
3386    .name = "fsign",
3387    .num_inputs = 1,
3388    .output_size = 0,
3389    .output_type = nir_type_float,
3390    .input_sizes = {
3391       0
3392    },
3393    .input_types = {
3394       nir_type_float
3395    },
3396    .is_conversion = false,
3397    .algebraic_properties =
3398       0
3399 },
3400 {
3401    .name = "fsin",
3402    .num_inputs = 1,
3403    .output_size = 0,
3404    .output_type = nir_type_float,
3405    .input_sizes = {
3406       0
3407    },
3408    .input_types = {
3409       nir_type_float
3410    },
3411    .is_conversion = false,
3412    .algebraic_properties =
3413       0
3414 },
3415 {
3416    .name = "fsqrt",
3417    .num_inputs = 1,
3418    .output_size = 0,
3419    .output_type = nir_type_float,
3420    .input_sizes = {
3421       0
3422    },
3423    .input_types = {
3424       nir_type_float
3425    },
3426    .is_conversion = false,
3427    .algebraic_properties =
3428       0
3429 },
3430 {
3431    .name = "fsub",
3432    .num_inputs = 2,
3433    .output_size = 0,
3434    .output_type = nir_type_float,
3435    .input_sizes = {
3436       0, 0
3437    },
3438    .input_types = {
3439       nir_type_float, nir_type_float
3440    },
3441    .is_conversion = false,
3442    .algebraic_properties =
3443       0
3444 },
3445 {
3446    .name = "fsum2",
3447    .num_inputs = 1,
3448    .output_size = 1,
3449    .output_type = nir_type_float,
3450    .input_sizes = {
3451       2
3452    },
3453    .input_types = {
3454       nir_type_float
3455    },
3456    .is_conversion = false,
3457    .algebraic_properties =
3458       0
3459 },
3460 {
3461    .name = "fsum3",
3462    .num_inputs = 1,
3463    .output_size = 1,
3464    .output_type = nir_type_float,
3465    .input_sizes = {
3466       3
3467    },
3468    .input_types = {
3469       nir_type_float
3470    },
3471    .is_conversion = false,
3472    .algebraic_properties =
3473       0
3474 },
3475 {
3476    .name = "fsum4",
3477    .num_inputs = 1,
3478    .output_size = 1,
3479    .output_type = nir_type_float,
3480    .input_sizes = {
3481       4
3482    },
3483    .input_types = {
3484       nir_type_float
3485    },
3486    .is_conversion = false,
3487    .algebraic_properties =
3488       0
3489 },
3490 {
3491    .name = "ftrunc",
3492    .num_inputs = 1,
3493    .output_size = 0,
3494    .output_type = nir_type_float,
3495    .input_sizes = {
3496       0
3497    },
3498    .input_types = {
3499       nir_type_float
3500    },
3501    .is_conversion = false,
3502    .algebraic_properties =
3503       0
3504 },
3505 {
3506    .name = "i2b1",
3507    .num_inputs = 1,
3508    .output_size = 0,
3509    .output_type = nir_type_bool1,
3510    .input_sizes = {
3511       0
3512    },
3513    .input_types = {
3514       nir_type_int
3515    },
3516    .is_conversion = true,
3517    .algebraic_properties =
3518       0
3519 },
3520 {
3521    .name = "i2b16",
3522    .num_inputs = 1,
3523    .output_size = 0,
3524    .output_type = nir_type_bool16,
3525    .input_sizes = {
3526       0
3527    },
3528    .input_types = {
3529       nir_type_int
3530    },
3531    .is_conversion = true,
3532    .algebraic_properties =
3533       0
3534 },
3535 {
3536    .name = "i2b32",
3537    .num_inputs = 1,
3538    .output_size = 0,
3539    .output_type = nir_type_bool32,
3540    .input_sizes = {
3541       0
3542    },
3543    .input_types = {
3544       nir_type_int
3545    },
3546    .is_conversion = true,
3547    .algebraic_properties =
3548       0
3549 },
3550 {
3551    .name = "i2b8",
3552    .num_inputs = 1,
3553    .output_size = 0,
3554    .output_type = nir_type_bool8,
3555    .input_sizes = {
3556       0
3557    },
3558    .input_types = {
3559       nir_type_int
3560    },
3561    .is_conversion = true,
3562    .algebraic_properties =
3563       0
3564 },
3565 {
3566    .name = "i2f16",
3567    .num_inputs = 1,
3568    .output_size = 0,
3569    .output_type = nir_type_float16,
3570    .input_sizes = {
3571       0
3572    },
3573    .input_types = {
3574       nir_type_int
3575    },
3576    .is_conversion = true,
3577    .algebraic_properties =
3578       0
3579 },
3580 {
3581    .name = "i2f32",
3582    .num_inputs = 1,
3583    .output_size = 0,
3584    .output_type = nir_type_float32,
3585    .input_sizes = {
3586       0
3587    },
3588    .input_types = {
3589       nir_type_int
3590    },
3591    .is_conversion = true,
3592    .algebraic_properties =
3593       0
3594 },
3595 {
3596    .name = "i2f64",
3597    .num_inputs = 1,
3598    .output_size = 0,
3599    .output_type = nir_type_float64,
3600    .input_sizes = {
3601       0
3602    },
3603    .input_types = {
3604       nir_type_int
3605    },
3606    .is_conversion = true,
3607    .algebraic_properties =
3608       0
3609 },
3610 {
3611    .name = "i2fmp",
3612    .num_inputs = 1,
3613    .output_size = 0,
3614    .output_type = nir_type_float16,
3615    .input_sizes = {
3616       0
3617    },
3618    .input_types = {
3619       nir_type_int32
3620    },
3621    .is_conversion = true,
3622    .algebraic_properties =
3623       0
3624 },
3625 {
3626    .name = "i2i1",
3627    .num_inputs = 1,
3628    .output_size = 0,
3629    .output_type = nir_type_int1,
3630    .input_sizes = {
3631       0
3632    },
3633    .input_types = {
3634       nir_type_int
3635    },
3636    .is_conversion = true,
3637    .algebraic_properties =
3638       0
3639 },
3640 {
3641    .name = "i2i16",
3642    .num_inputs = 1,
3643    .output_size = 0,
3644    .output_type = nir_type_int16,
3645    .input_sizes = {
3646       0
3647    },
3648    .input_types = {
3649       nir_type_int
3650    },
3651    .is_conversion = true,
3652    .algebraic_properties =
3653       0
3654 },
3655 {
3656    .name = "i2i32",
3657    .num_inputs = 1,
3658    .output_size = 0,
3659    .output_type = nir_type_int32,
3660    .input_sizes = {
3661       0
3662    },
3663    .input_types = {
3664       nir_type_int
3665    },
3666    .is_conversion = true,
3667    .algebraic_properties =
3668       0
3669 },
3670 {
3671    .name = "i2i64",
3672    .num_inputs = 1,
3673    .output_size = 0,
3674    .output_type = nir_type_int64,
3675    .input_sizes = {
3676       0
3677    },
3678    .input_types = {
3679       nir_type_int
3680    },
3681    .is_conversion = true,
3682    .algebraic_properties =
3683       0
3684 },
3685 {
3686    .name = "i2i8",
3687    .num_inputs = 1,
3688    .output_size = 0,
3689    .output_type = nir_type_int8,
3690    .input_sizes = {
3691       0
3692    },
3693    .input_types = {
3694       nir_type_int
3695    },
3696    .is_conversion = true,
3697    .algebraic_properties =
3698       0
3699 },
3700 {
3701    .name = "i2imp",
3702    .num_inputs = 1,
3703    .output_size = 0,
3704    .output_type = nir_type_int16,
3705    .input_sizes = {
3706       0
3707    },
3708    .input_types = {
3709       nir_type_int32
3710    },
3711    .is_conversion = true,
3712    .algebraic_properties =
3713       0
3714 },
3715 {
3716    .name = "iabs",
3717    .num_inputs = 1,
3718    .output_size = 0,
3719    .output_type = nir_type_int,
3720    .input_sizes = {
3721       0
3722    },
3723    .input_types = {
3724       nir_type_int
3725    },
3726    .is_conversion = false,
3727    .algebraic_properties =
3728       0
3729 },
3730 {
3731    .name = "iadd",
3732    .num_inputs = 2,
3733    .output_size = 0,
3734    .output_type = nir_type_int,
3735    .input_sizes = {
3736       0, 0
3737    },
3738    .input_types = {
3739       nir_type_int, nir_type_int
3740    },
3741    .is_conversion = false,
3742    .algebraic_properties =
3743       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3744 },
3745 {
3746    .name = "iadd_sat",
3747    .num_inputs = 2,
3748    .output_size = 0,
3749    .output_type = nir_type_int,
3750    .input_sizes = {
3751       0, 0
3752    },
3753    .input_types = {
3754       nir_type_int, nir_type_int
3755    },
3756    .is_conversion = false,
3757    .algebraic_properties =
3758       NIR_OP_IS_2SRC_COMMUTATIVE
3759 },
3760 {
3761    .name = "iand",
3762    .num_inputs = 2,
3763    .output_size = 0,
3764    .output_type = nir_type_uint,
3765    .input_sizes = {
3766       0, 0
3767    },
3768    .input_types = {
3769       nir_type_uint, nir_type_uint
3770    },
3771    .is_conversion = false,
3772    .algebraic_properties =
3773       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3774 },
3775 {
3776    .name = "ibfe",
3777    .num_inputs = 3,
3778    .output_size = 0,
3779    .output_type = nir_type_int32,
3780    .input_sizes = {
3781       0, 0, 0
3782    },
3783    .input_types = {
3784       nir_type_int32, nir_type_uint32, nir_type_uint32
3785    },
3786    .is_conversion = false,
3787    .algebraic_properties =
3788       0
3789 },
3790 {
3791    .name = "ibitfield_extract",
3792    .num_inputs = 3,
3793    .output_size = 0,
3794    .output_type = nir_type_int32,
3795    .input_sizes = {
3796       0, 0, 0
3797    },
3798    .input_types = {
3799       nir_type_int32, nir_type_int32, nir_type_int32
3800    },
3801    .is_conversion = false,
3802    .algebraic_properties =
3803       0
3804 },
3805 {
3806    .name = "idiv",
3807    .num_inputs = 2,
3808    .output_size = 0,
3809    .output_type = nir_type_int,
3810    .input_sizes = {
3811       0, 0
3812    },
3813    .input_types = {
3814       nir_type_int, nir_type_int
3815    },
3816    .is_conversion = false,
3817    .algebraic_properties =
3818       0
3819 },
3820 {
3821    .name = "ieq",
3822    .num_inputs = 2,
3823    .output_size = 0,
3824    .output_type = nir_type_bool1,
3825    .input_sizes = {
3826       0, 0
3827    },
3828    .input_types = {
3829       nir_type_int, nir_type_int
3830    },
3831    .is_conversion = false,
3832    .algebraic_properties =
3833       NIR_OP_IS_2SRC_COMMUTATIVE
3834 },
3835 {
3836    .name = "ieq16",
3837    .num_inputs = 2,
3838    .output_size = 0,
3839    .output_type = nir_type_bool16,
3840    .input_sizes = {
3841       0, 0
3842    },
3843    .input_types = {
3844       nir_type_int, nir_type_int
3845    },
3846    .is_conversion = false,
3847    .algebraic_properties =
3848       NIR_OP_IS_2SRC_COMMUTATIVE
3849 },
3850 {
3851    .name = "ieq32",
3852    .num_inputs = 2,
3853    .output_size = 0,
3854    .output_type = nir_type_bool32,
3855    .input_sizes = {
3856       0, 0
3857    },
3858    .input_types = {
3859       nir_type_int, nir_type_int
3860    },
3861    .is_conversion = false,
3862    .algebraic_properties =
3863       NIR_OP_IS_2SRC_COMMUTATIVE
3864 },
3865 {
3866    .name = "ieq8",
3867    .num_inputs = 2,
3868    .output_size = 0,
3869    .output_type = nir_type_bool8,
3870    .input_sizes = {
3871       0, 0
3872    },
3873    .input_types = {
3874       nir_type_int, nir_type_int
3875    },
3876    .is_conversion = false,
3877    .algebraic_properties =
3878       NIR_OP_IS_2SRC_COMMUTATIVE
3879 },
3880 {
3881    .name = "ifind_msb",
3882    .num_inputs = 1,
3883    .output_size = 0,
3884    .output_type = nir_type_int32,
3885    .input_sizes = {
3886       0
3887    },
3888    .input_types = {
3889       nir_type_int32
3890    },
3891    .is_conversion = false,
3892    .algebraic_properties =
3893       0
3894 },
3895 {
3896    .name = "ige",
3897    .num_inputs = 2,
3898    .output_size = 0,
3899    .output_type = nir_type_bool1,
3900    .input_sizes = {
3901       0, 0
3902    },
3903    .input_types = {
3904       nir_type_int, nir_type_int
3905    },
3906    .is_conversion = false,
3907    .algebraic_properties =
3908       0
3909 },
3910 {
3911    .name = "ige16",
3912    .num_inputs = 2,
3913    .output_size = 0,
3914    .output_type = nir_type_bool16,
3915    .input_sizes = {
3916       0, 0
3917    },
3918    .input_types = {
3919       nir_type_int, nir_type_int
3920    },
3921    .is_conversion = false,
3922    .algebraic_properties =
3923       0
3924 },
3925 {
3926    .name = "ige32",
3927    .num_inputs = 2,
3928    .output_size = 0,
3929    .output_type = nir_type_bool32,
3930    .input_sizes = {
3931       0, 0
3932    },
3933    .input_types = {
3934       nir_type_int, nir_type_int
3935    },
3936    .is_conversion = false,
3937    .algebraic_properties =
3938       0
3939 },
3940 {
3941    .name = "ige8",
3942    .num_inputs = 2,
3943    .output_size = 0,
3944    .output_type = nir_type_bool8,
3945    .input_sizes = {
3946       0, 0
3947    },
3948    .input_types = {
3949       nir_type_int, nir_type_int
3950    },
3951    .is_conversion = false,
3952    .algebraic_properties =
3953       0
3954 },
3955 {
3956    .name = "ihadd",
3957    .num_inputs = 2,
3958    .output_size = 0,
3959    .output_type = nir_type_int,
3960    .input_sizes = {
3961       0, 0
3962    },
3963    .input_types = {
3964       nir_type_int, nir_type_int
3965    },
3966    .is_conversion = false,
3967    .algebraic_properties =
3968       NIR_OP_IS_2SRC_COMMUTATIVE
3969 },
3970 {
3971    .name = "ilt",
3972    .num_inputs = 2,
3973    .output_size = 0,
3974    .output_type = nir_type_bool1,
3975    .input_sizes = {
3976       0, 0
3977    },
3978    .input_types = {
3979       nir_type_int, nir_type_int
3980    },
3981    .is_conversion = false,
3982    .algebraic_properties =
3983       0
3984 },
3985 {
3986    .name = "ilt16",
3987    .num_inputs = 2,
3988    .output_size = 0,
3989    .output_type = nir_type_bool16,
3990    .input_sizes = {
3991       0, 0
3992    },
3993    .input_types = {
3994       nir_type_int, nir_type_int
3995    },
3996    .is_conversion = false,
3997    .algebraic_properties =
3998       0
3999 },
4000 {
4001    .name = "ilt32",
4002    .num_inputs = 2,
4003    .output_size = 0,
4004    .output_type = nir_type_bool32,
4005    .input_sizes = {
4006       0, 0
4007    },
4008    .input_types = {
4009       nir_type_int, nir_type_int
4010    },
4011    .is_conversion = false,
4012    .algebraic_properties =
4013       0
4014 },
4015 {
4016    .name = "ilt8",
4017    .num_inputs = 2,
4018    .output_size = 0,
4019    .output_type = nir_type_bool8,
4020    .input_sizes = {
4021       0, 0
4022    },
4023    .input_types = {
4024       nir_type_int, nir_type_int
4025    },
4026    .is_conversion = false,
4027    .algebraic_properties =
4028       0
4029 },
4030 {
4031    .name = "imad24_ir3",
4032    .num_inputs = 3,
4033    .output_size = 0,
4034    .output_type = nir_type_int32,
4035    .input_sizes = {
4036       0, 0, 0
4037    },
4038    .input_types = {
4039       nir_type_int32, nir_type_int32, nir_type_int32
4040    },
4041    .is_conversion = false,
4042    .algebraic_properties =
4043       NIR_OP_IS_2SRC_COMMUTATIVE
4044 },
4045 {
4046    .name = "imadsh_mix16",
4047    .num_inputs = 3,
4048    .output_size = 0,
4049    .output_type = nir_type_int32,
4050    .input_sizes = {
4051       0, 0, 0
4052    },
4053    .input_types = {
4054       nir_type_int32, nir_type_int32, nir_type_int32
4055    },
4056    .is_conversion = false,
4057    .algebraic_properties =
4058       0
4059 },
4060 {
4061    .name = "imax",
4062    .num_inputs = 2,
4063    .output_size = 0,
4064    .output_type = nir_type_int,
4065    .input_sizes = {
4066       0, 0
4067    },
4068    .input_types = {
4069       nir_type_int, nir_type_int
4070    },
4071    .is_conversion = false,
4072    .algebraic_properties =
4073       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4074 },
4075 {
4076    .name = "imin",
4077    .num_inputs = 2,
4078    .output_size = 0,
4079    .output_type = nir_type_int,
4080    .input_sizes = {
4081       0, 0
4082    },
4083    .input_types = {
4084       nir_type_int, nir_type_int
4085    },
4086    .is_conversion = false,
4087    .algebraic_properties =
4088       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4089 },
4090 {
4091    .name = "imod",
4092    .num_inputs = 2,
4093    .output_size = 0,
4094    .output_type = nir_type_int,
4095    .input_sizes = {
4096       0, 0
4097    },
4098    .input_types = {
4099       nir_type_int, nir_type_int
4100    },
4101    .is_conversion = false,
4102    .algebraic_properties =
4103       0
4104 },
4105 {
4106    .name = "imul",
4107    .num_inputs = 2,
4108    .output_size = 0,
4109    .output_type = nir_type_int,
4110    .input_sizes = {
4111       0, 0
4112    },
4113    .input_types = {
4114       nir_type_int, nir_type_int
4115    },
4116    .is_conversion = false,
4117    .algebraic_properties =
4118       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4119 },
4120 {
4121    .name = "imul24",
4122    .num_inputs = 2,
4123    .output_size = 0,
4124    .output_type = nir_type_int32,
4125    .input_sizes = {
4126       0, 0
4127    },
4128    .input_types = {
4129       nir_type_int32, nir_type_int32
4130    },
4131    .is_conversion = false,
4132    .algebraic_properties =
4133       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4134 },
4135 {
4136    .name = "imul_2x32_64",
4137    .num_inputs = 2,
4138    .output_size = 0,
4139    .output_type = nir_type_int64,
4140    .input_sizes = {
4141       0, 0
4142    },
4143    .input_types = {
4144       nir_type_int32, nir_type_int32
4145    },
4146    .is_conversion = false,
4147    .algebraic_properties =
4148       NIR_OP_IS_2SRC_COMMUTATIVE
4149 },
4150 {
4151    .name = "imul_32x16",
4152    .num_inputs = 2,
4153    .output_size = 0,
4154    .output_type = nir_type_int32,
4155    .input_sizes = {
4156       0, 0
4157    },
4158    .input_types = {
4159       nir_type_int32, nir_type_int32
4160    },
4161    .is_conversion = false,
4162    .algebraic_properties =
4163       0
4164 },
4165 {
4166    .name = "imul_high",
4167    .num_inputs = 2,
4168    .output_size = 0,
4169    .output_type = nir_type_int,
4170    .input_sizes = {
4171       0, 0
4172    },
4173    .input_types = {
4174       nir_type_int, nir_type_int
4175    },
4176    .is_conversion = false,
4177    .algebraic_properties =
4178       NIR_OP_IS_2SRC_COMMUTATIVE
4179 },
4180 {
4181    .name = "ine",
4182    .num_inputs = 2,
4183    .output_size = 0,
4184    .output_type = nir_type_bool1,
4185    .input_sizes = {
4186       0, 0
4187    },
4188    .input_types = {
4189       nir_type_int, nir_type_int
4190    },
4191    .is_conversion = false,
4192    .algebraic_properties =
4193       NIR_OP_IS_2SRC_COMMUTATIVE
4194 },
4195 {
4196    .name = "ine16",
4197    .num_inputs = 2,
4198    .output_size = 0,
4199    .output_type = nir_type_bool16,
4200    .input_sizes = {
4201       0, 0
4202    },
4203    .input_types = {
4204       nir_type_int, nir_type_int
4205    },
4206    .is_conversion = false,
4207    .algebraic_properties =
4208       NIR_OP_IS_2SRC_COMMUTATIVE
4209 },
4210 {
4211    .name = "ine32",
4212    .num_inputs = 2,
4213    .output_size = 0,
4214    .output_type = nir_type_bool32,
4215    .input_sizes = {
4216       0, 0
4217    },
4218    .input_types = {
4219       nir_type_int, nir_type_int
4220    },
4221    .is_conversion = false,
4222    .algebraic_properties =
4223       NIR_OP_IS_2SRC_COMMUTATIVE
4224 },
4225 {
4226    .name = "ine8",
4227    .num_inputs = 2,
4228    .output_size = 0,
4229    .output_type = nir_type_bool8,
4230    .input_sizes = {
4231       0, 0
4232    },
4233    .input_types = {
4234       nir_type_int, nir_type_int
4235    },
4236    .is_conversion = false,
4237    .algebraic_properties =
4238       NIR_OP_IS_2SRC_COMMUTATIVE
4239 },
4240 {
4241    .name = "ineg",
4242    .num_inputs = 1,
4243    .output_size = 0,
4244    .output_type = nir_type_int,
4245    .input_sizes = {
4246       0
4247    },
4248    .input_types = {
4249       nir_type_int
4250    },
4251    .is_conversion = false,
4252    .algebraic_properties =
4253       0
4254 },
4255 {
4256    .name = "inot",
4257    .num_inputs = 1,
4258    .output_size = 0,
4259    .output_type = nir_type_int,
4260    .input_sizes = {
4261       0
4262    },
4263    .input_types = {
4264       nir_type_int
4265    },
4266    .is_conversion = false,
4267    .algebraic_properties =
4268       0
4269 },
4270 {
4271    .name = "ior",
4272    .num_inputs = 2,
4273    .output_size = 0,
4274    .output_type = nir_type_uint,
4275    .input_sizes = {
4276       0, 0
4277    },
4278    .input_types = {
4279       nir_type_uint, nir_type_uint
4280    },
4281    .is_conversion = false,
4282    .algebraic_properties =
4283       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4284 },
4285 {
4286    .name = "irem",
4287    .num_inputs = 2,
4288    .output_size = 0,
4289    .output_type = nir_type_int,
4290    .input_sizes = {
4291       0, 0
4292    },
4293    .input_types = {
4294       nir_type_int, nir_type_int
4295    },
4296    .is_conversion = false,
4297    .algebraic_properties =
4298       0
4299 },
4300 {
4301    .name = "irhadd",
4302    .num_inputs = 2,
4303    .output_size = 0,
4304    .output_type = nir_type_int,
4305    .input_sizes = {
4306       0, 0
4307    },
4308    .input_types = {
4309       nir_type_int, nir_type_int
4310    },
4311    .is_conversion = false,
4312    .algebraic_properties =
4313       NIR_OP_IS_2SRC_COMMUTATIVE
4314 },
4315 {
4316    .name = "ishl",
4317    .num_inputs = 2,
4318    .output_size = 0,
4319    .output_type = nir_type_int,
4320    .input_sizes = {
4321       0, 0
4322    },
4323    .input_types = {
4324       nir_type_int, nir_type_uint32
4325    },
4326    .is_conversion = false,
4327    .algebraic_properties =
4328       0
4329 },
4330 {
4331    .name = "ishr",
4332    .num_inputs = 2,
4333    .output_size = 0,
4334    .output_type = nir_type_int,
4335    .input_sizes = {
4336       0, 0
4337    },
4338    .input_types = {
4339       nir_type_int, nir_type_uint32
4340    },
4341    .is_conversion = false,
4342    .algebraic_properties =
4343       0
4344 },
4345 {
4346    .name = "isign",
4347    .num_inputs = 1,
4348    .output_size = 0,
4349    .output_type = nir_type_int,
4350    .input_sizes = {
4351       0
4352    },
4353    .input_types = {
4354       nir_type_int
4355    },
4356    .is_conversion = false,
4357    .algebraic_properties =
4358       0
4359 },
4360 {
4361    .name = "isub",
4362    .num_inputs = 2,
4363    .output_size = 0,
4364    .output_type = nir_type_int,
4365    .input_sizes = {
4366       0, 0
4367    },
4368    .input_types = {
4369       nir_type_int, nir_type_int
4370    },
4371    .is_conversion = false,
4372    .algebraic_properties =
4373       0
4374 },
4375 {
4376    .name = "isub_sat",
4377    .num_inputs = 2,
4378    .output_size = 0,
4379    .output_type = nir_type_int,
4380    .input_sizes = {
4381       0, 0
4382    },
4383    .input_types = {
4384       nir_type_int, nir_type_int
4385    },
4386    .is_conversion = false,
4387    .algebraic_properties =
4388       0
4389 },
4390 {
4391    .name = "ixor",
4392    .num_inputs = 2,
4393    .output_size = 0,
4394    .output_type = nir_type_uint,
4395    .input_sizes = {
4396       0, 0
4397    },
4398    .input_types = {
4399       nir_type_uint, nir_type_uint
4400    },
4401    .is_conversion = false,
4402    .algebraic_properties =
4403       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4404 },
4405 {
4406    .name = "ldexp",
4407    .num_inputs = 2,
4408    .output_size = 0,
4409    .output_type = nir_type_float,
4410    .input_sizes = {
4411       0, 0
4412    },
4413    .input_types = {
4414       nir_type_float, nir_type_int32
4415    },
4416    .is_conversion = false,
4417    .algebraic_properties =
4418       0
4419 },
4420 {
4421    .name = "mov",
4422    .num_inputs = 1,
4423    .output_size = 0,
4424    .output_type = nir_type_uint,
4425    .input_sizes = {
4426       0
4427    },
4428    .input_types = {
4429       nir_type_uint
4430    },
4431    .is_conversion = false,
4432    .algebraic_properties =
4433       0
4434 },
4435 {
4436    .name = "pack_32_2x16",
4437    .num_inputs = 1,
4438    .output_size = 1,
4439    .output_type = nir_type_uint32,
4440    .input_sizes = {
4441       2
4442    },
4443    .input_types = {
4444       nir_type_uint16
4445    },
4446    .is_conversion = false,
4447    .algebraic_properties =
4448       0
4449 },
4450 {
4451    .name = "pack_32_2x16_split",
4452    .num_inputs = 2,
4453    .output_size = 0,
4454    .output_type = nir_type_uint32,
4455    .input_sizes = {
4456       0, 0
4457    },
4458    .input_types = {
4459       nir_type_uint16, nir_type_uint16
4460    },
4461    .is_conversion = false,
4462    .algebraic_properties =
4463       0
4464 },
4465 {
4466    .name = "pack_32_4x8",
4467    .num_inputs = 1,
4468    .output_size = 1,
4469    .output_type = nir_type_uint32,
4470    .input_sizes = {
4471       4
4472    },
4473    .input_types = {
4474       nir_type_uint8
4475    },
4476    .is_conversion = false,
4477    .algebraic_properties =
4478       0
4479 },
4480 {
4481    .name = "pack_64_2x32",
4482    .num_inputs = 1,
4483    .output_size = 1,
4484    .output_type = nir_type_uint64,
4485    .input_sizes = {
4486       2
4487    },
4488    .input_types = {
4489       nir_type_uint32
4490    },
4491    .is_conversion = false,
4492    .algebraic_properties =
4493       0
4494 },
4495 {
4496    .name = "pack_64_2x32_split",
4497    .num_inputs = 2,
4498    .output_size = 0,
4499    .output_type = nir_type_uint64,
4500    .input_sizes = {
4501       0, 0
4502    },
4503    .input_types = {
4504       nir_type_uint32, nir_type_uint32
4505    },
4506    .is_conversion = false,
4507    .algebraic_properties =
4508       0
4509 },
4510 {
4511    .name = "pack_64_4x16",
4512    .num_inputs = 1,
4513    .output_size = 1,
4514    .output_type = nir_type_uint64,
4515    .input_sizes = {
4516       4
4517    },
4518    .input_types = {
4519       nir_type_uint16
4520    },
4521    .is_conversion = false,
4522    .algebraic_properties =
4523       0
4524 },
4525 {
4526    .name = "pack_half_2x16",
4527    .num_inputs = 1,
4528    .output_size = 1,
4529    .output_type = nir_type_uint32,
4530    .input_sizes = {
4531       2
4532    },
4533    .input_types = {
4534       nir_type_float32
4535    },
4536    .is_conversion = false,
4537    .algebraic_properties =
4538       0
4539 },
4540 {
4541    .name = "pack_half_2x16_split",
4542    .num_inputs = 2,
4543    .output_size = 1,
4544    .output_type = nir_type_uint32,
4545    .input_sizes = {
4546       1, 1
4547    },
4548    .input_types = {
4549       nir_type_float32, nir_type_float32
4550    },
4551    .is_conversion = false,
4552    .algebraic_properties =
4553       0
4554 },
4555 {
4556    .name = "pack_snorm_2x16",
4557    .num_inputs = 1,
4558    .output_size = 1,
4559    .output_type = nir_type_uint32,
4560    .input_sizes = {
4561       2
4562    },
4563    .input_types = {
4564       nir_type_float32
4565    },
4566    .is_conversion = false,
4567    .algebraic_properties =
4568       0
4569 },
4570 {
4571    .name = "pack_snorm_4x8",
4572    .num_inputs = 1,
4573    .output_size = 1,
4574    .output_type = nir_type_uint32,
4575    .input_sizes = {
4576       4
4577    },
4578    .input_types = {
4579       nir_type_float32
4580    },
4581    .is_conversion = false,
4582    .algebraic_properties =
4583       0
4584 },
4585 {
4586    .name = "pack_unorm_2x16",
4587    .num_inputs = 1,
4588    .output_size = 1,
4589    .output_type = nir_type_uint32,
4590    .input_sizes = {
4591       2
4592    },
4593    .input_types = {
4594       nir_type_float32
4595    },
4596    .is_conversion = false,
4597    .algebraic_properties =
4598       0
4599 },
4600 {
4601    .name = "pack_unorm_4x8",
4602    .num_inputs = 1,
4603    .output_size = 1,
4604    .output_type = nir_type_uint32,
4605    .input_sizes = {
4606       4
4607    },
4608    .input_types = {
4609       nir_type_float32
4610    },
4611    .is_conversion = false,
4612    .algebraic_properties =
4613       0
4614 },
4615 {
4616    .name = "pack_uvec2_to_uint",
4617    .num_inputs = 1,
4618    .output_size = 1,
4619    .output_type = nir_type_uint32,
4620    .input_sizes = {
4621       2
4622    },
4623    .input_types = {
4624       nir_type_uint32
4625    },
4626    .is_conversion = false,
4627    .algebraic_properties =
4628       0
4629 },
4630 {
4631    .name = "pack_uvec4_to_uint",
4632    .num_inputs = 1,
4633    .output_size = 1,
4634    .output_type = nir_type_uint32,
4635    .input_sizes = {
4636       4
4637    },
4638    .input_types = {
4639       nir_type_uint32
4640    },
4641    .is_conversion = false,
4642    .algebraic_properties =
4643       0
4644 },
4645 {
4646    .name = "seq",
4647    .num_inputs = 2,
4648    .output_size = 0,
4649    .output_type = nir_type_float32,
4650    .input_sizes = {
4651       0, 0
4652    },
4653    .input_types = {
4654       nir_type_float32, nir_type_float32
4655    },
4656    .is_conversion = false,
4657    .algebraic_properties =
4658       NIR_OP_IS_2SRC_COMMUTATIVE
4659 },
4660 {
4661    .name = "sge",
4662    .num_inputs = 2,
4663    .output_size = 0,
4664    .output_type = nir_type_float,
4665    .input_sizes = {
4666       0, 0
4667    },
4668    .input_types = {
4669       nir_type_float, nir_type_float
4670    },
4671    .is_conversion = false,
4672    .algebraic_properties =
4673       0
4674 },
4675 {
4676    .name = "slt",
4677    .num_inputs = 2,
4678    .output_size = 0,
4679    .output_type = nir_type_float32,
4680    .input_sizes = {
4681       0, 0
4682    },
4683    .input_types = {
4684       nir_type_float32, nir_type_float32
4685    },
4686    .is_conversion = false,
4687    .algebraic_properties =
4688       0
4689 },
4690 {
4691    .name = "sne",
4692    .num_inputs = 2,
4693    .output_size = 0,
4694    .output_type = nir_type_float32,
4695    .input_sizes = {
4696       0, 0
4697    },
4698    .input_types = {
4699       nir_type_float32, nir_type_float32
4700    },
4701    .is_conversion = false,
4702    .algebraic_properties =
4703       NIR_OP_IS_2SRC_COMMUTATIVE
4704 },
4705 {
4706    .name = "u2f16",
4707    .num_inputs = 1,
4708    .output_size = 0,
4709    .output_type = nir_type_float16,
4710    .input_sizes = {
4711       0
4712    },
4713    .input_types = {
4714       nir_type_uint
4715    },
4716    .is_conversion = true,
4717    .algebraic_properties =
4718       0
4719 },
4720 {
4721    .name = "u2f32",
4722    .num_inputs = 1,
4723    .output_size = 0,
4724    .output_type = nir_type_float32,
4725    .input_sizes = {
4726       0
4727    },
4728    .input_types = {
4729       nir_type_uint
4730    },
4731    .is_conversion = true,
4732    .algebraic_properties =
4733       0
4734 },
4735 {
4736    .name = "u2f64",
4737    .num_inputs = 1,
4738    .output_size = 0,
4739    .output_type = nir_type_float64,
4740    .input_sizes = {
4741       0
4742    },
4743    .input_types = {
4744       nir_type_uint
4745    },
4746    .is_conversion = true,
4747    .algebraic_properties =
4748       0
4749 },
4750 {
4751    .name = "u2fmp",
4752    .num_inputs = 1,
4753    .output_size = 0,
4754    .output_type = nir_type_float16,
4755    .input_sizes = {
4756       0
4757    },
4758    .input_types = {
4759       nir_type_uint32
4760    },
4761    .is_conversion = true,
4762    .algebraic_properties =
4763       0
4764 },
4765 {
4766    .name = "u2u1",
4767    .num_inputs = 1,
4768    .output_size = 0,
4769    .output_type = nir_type_uint1,
4770    .input_sizes = {
4771       0
4772    },
4773    .input_types = {
4774       nir_type_uint
4775    },
4776    .is_conversion = true,
4777    .algebraic_properties =
4778       0
4779 },
4780 {
4781    .name = "u2u16",
4782    .num_inputs = 1,
4783    .output_size = 0,
4784    .output_type = nir_type_uint16,
4785    .input_sizes = {
4786       0
4787    },
4788    .input_types = {
4789       nir_type_uint
4790    },
4791    .is_conversion = true,
4792    .algebraic_properties =
4793       0
4794 },
4795 {
4796    .name = "u2u32",
4797    .num_inputs = 1,
4798    .output_size = 0,
4799    .output_type = nir_type_uint32,
4800    .input_sizes = {
4801       0
4802    },
4803    .input_types = {
4804       nir_type_uint
4805    },
4806    .is_conversion = true,
4807    .algebraic_properties =
4808       0
4809 },
4810 {
4811    .name = "u2u64",
4812    .num_inputs = 1,
4813    .output_size = 0,
4814    .output_type = nir_type_uint64,
4815    .input_sizes = {
4816       0
4817    },
4818    .input_types = {
4819       nir_type_uint
4820    },
4821    .is_conversion = true,
4822    .algebraic_properties =
4823       0
4824 },
4825 {
4826    .name = "u2u8",
4827    .num_inputs = 1,
4828    .output_size = 0,
4829    .output_type = nir_type_uint8,
4830    .input_sizes = {
4831       0
4832    },
4833    .input_types = {
4834       nir_type_uint
4835    },
4836    .is_conversion = true,
4837    .algebraic_properties =
4838       0
4839 },
4840 {
4841    .name = "uabs_isub",
4842    .num_inputs = 2,
4843    .output_size = 0,
4844    .output_type = nir_type_uint,
4845    .input_sizes = {
4846       0, 0
4847    },
4848    .input_types = {
4849       nir_type_int, nir_type_int
4850    },
4851    .is_conversion = false,
4852    .algebraic_properties =
4853       0
4854 },
4855 {
4856    .name = "uabs_usub",
4857    .num_inputs = 2,
4858    .output_size = 0,
4859    .output_type = nir_type_uint,
4860    .input_sizes = {
4861       0, 0
4862    },
4863    .input_types = {
4864       nir_type_uint, nir_type_uint
4865    },
4866    .is_conversion = false,
4867    .algebraic_properties =
4868       0
4869 },
4870 {
4871    .name = "uadd_carry",
4872    .num_inputs = 2,
4873    .output_size = 0,
4874    .output_type = nir_type_uint,
4875    .input_sizes = {
4876       0, 0
4877    },
4878    .input_types = {
4879       nir_type_uint, nir_type_uint
4880    },
4881    .is_conversion = false,
4882    .algebraic_properties =
4883       NIR_OP_IS_2SRC_COMMUTATIVE
4884 },
4885 {
4886    .name = "uadd_sat",
4887    .num_inputs = 2,
4888    .output_size = 0,
4889    .output_type = nir_type_uint,
4890    .input_sizes = {
4891       0, 0
4892    },
4893    .input_types = {
4894       nir_type_uint, nir_type_uint
4895    },
4896    .is_conversion = false,
4897    .algebraic_properties =
4898       NIR_OP_IS_2SRC_COMMUTATIVE
4899 },
4900 {
4901    .name = "ubfe",
4902    .num_inputs = 3,
4903    .output_size = 0,
4904    .output_type = nir_type_uint32,
4905    .input_sizes = {
4906       0, 0, 0
4907    },
4908    .input_types = {
4909       nir_type_uint32, nir_type_uint32, nir_type_uint32
4910    },
4911    .is_conversion = false,
4912    .algebraic_properties =
4913       0
4914 },
4915 {
4916    .name = "ubitfield_extract",
4917    .num_inputs = 3,
4918    .output_size = 0,
4919    .output_type = nir_type_uint32,
4920    .input_sizes = {
4921       0, 0, 0
4922    },
4923    .input_types = {
4924       nir_type_uint32, nir_type_int32, nir_type_int32
4925    },
4926    .is_conversion = false,
4927    .algebraic_properties =
4928       0
4929 },
4930 {
4931    .name = "uclz",
4932    .num_inputs = 1,
4933    .output_size = 0,
4934    .output_type = nir_type_uint32,
4935    .input_sizes = {
4936       0
4937    },
4938    .input_types = {
4939       nir_type_uint32
4940    },
4941    .is_conversion = false,
4942    .algebraic_properties =
4943       0
4944 },
4945 {
4946    .name = "udiv",
4947    .num_inputs = 2,
4948    .output_size = 0,
4949    .output_type = nir_type_uint,
4950    .input_sizes = {
4951       0, 0
4952    },
4953    .input_types = {
4954       nir_type_uint, nir_type_uint
4955    },
4956    .is_conversion = false,
4957    .algebraic_properties =
4958       0
4959 },
4960 {
4961    .name = "ufind_msb",
4962    .num_inputs = 1,
4963    .output_size = 0,
4964    .output_type = nir_type_int32,
4965    .input_sizes = {
4966       0
4967    },
4968    .input_types = {
4969       nir_type_uint
4970    },
4971    .is_conversion = false,
4972    .algebraic_properties =
4973       0
4974 },
4975 {
4976    .name = "uge",
4977    .num_inputs = 2,
4978    .output_size = 0,
4979    .output_type = nir_type_bool1,
4980    .input_sizes = {
4981       0, 0
4982    },
4983    .input_types = {
4984       nir_type_uint, nir_type_uint
4985    },
4986    .is_conversion = false,
4987    .algebraic_properties =
4988       0
4989 },
4990 {
4991    .name = "uge16",
4992    .num_inputs = 2,
4993    .output_size = 0,
4994    .output_type = nir_type_bool16,
4995    .input_sizes = {
4996       0, 0
4997    },
4998    .input_types = {
4999       nir_type_uint, nir_type_uint
5000    },
5001    .is_conversion = false,
5002    .algebraic_properties =
5003       0
5004 },
5005 {
5006    .name = "uge32",
5007    .num_inputs = 2,
5008    .output_size = 0,
5009    .output_type = nir_type_bool32,
5010    .input_sizes = {
5011       0, 0
5012    },
5013    .input_types = {
5014       nir_type_uint, nir_type_uint
5015    },
5016    .is_conversion = false,
5017    .algebraic_properties =
5018       0
5019 },
5020 {
5021    .name = "uge8",
5022    .num_inputs = 2,
5023    .output_size = 0,
5024    .output_type = nir_type_bool8,
5025    .input_sizes = {
5026       0, 0
5027    },
5028    .input_types = {
5029       nir_type_uint, nir_type_uint
5030    },
5031    .is_conversion = false,
5032    .algebraic_properties =
5033       0
5034 },
5035 {
5036    .name = "uhadd",
5037    .num_inputs = 2,
5038    .output_size = 0,
5039    .output_type = nir_type_uint,
5040    .input_sizes = {
5041       0, 0
5042    },
5043    .input_types = {
5044       nir_type_uint, nir_type_uint
5045    },
5046    .is_conversion = false,
5047    .algebraic_properties =
5048       NIR_OP_IS_2SRC_COMMUTATIVE
5049 },
5050 {
5051    .name = "ult",
5052    .num_inputs = 2,
5053    .output_size = 0,
5054    .output_type = nir_type_bool1,
5055    .input_sizes = {
5056       0, 0
5057    },
5058    .input_types = {
5059       nir_type_uint, nir_type_uint
5060    },
5061    .is_conversion = false,
5062    .algebraic_properties =
5063       0
5064 },
5065 {
5066    .name = "ult16",
5067    .num_inputs = 2,
5068    .output_size = 0,
5069    .output_type = nir_type_bool16,
5070    .input_sizes = {
5071       0, 0
5072    },
5073    .input_types = {
5074       nir_type_uint, nir_type_uint
5075    },
5076    .is_conversion = false,
5077    .algebraic_properties =
5078       0
5079 },
5080 {
5081    .name = "ult32",
5082    .num_inputs = 2,
5083    .output_size = 0,
5084    .output_type = nir_type_bool32,
5085    .input_sizes = {
5086       0, 0
5087    },
5088    .input_types = {
5089       nir_type_uint, nir_type_uint
5090    },
5091    .is_conversion = false,
5092    .algebraic_properties =
5093       0
5094 },
5095 {
5096    .name = "ult8",
5097    .num_inputs = 2,
5098    .output_size = 0,
5099    .output_type = nir_type_bool8,
5100    .input_sizes = {
5101       0, 0
5102    },
5103    .input_types = {
5104       nir_type_uint, nir_type_uint
5105    },
5106    .is_conversion = false,
5107    .algebraic_properties =
5108       0
5109 },
5110 {
5111    .name = "umad24",
5112    .num_inputs = 3,
5113    .output_size = 0,
5114    .output_type = nir_type_uint32,
5115    .input_sizes = {
5116       0, 0, 0
5117    },
5118    .input_types = {
5119       nir_type_uint32, nir_type_uint32, nir_type_uint32
5120    },
5121    .is_conversion = false,
5122    .algebraic_properties =
5123       NIR_OP_IS_2SRC_COMMUTATIVE
5124 },
5125 {
5126    .name = "umax",
5127    .num_inputs = 2,
5128    .output_size = 0,
5129    .output_type = nir_type_uint,
5130    .input_sizes = {
5131       0, 0
5132    },
5133    .input_types = {
5134       nir_type_uint, nir_type_uint
5135    },
5136    .is_conversion = false,
5137    .algebraic_properties =
5138       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5139 },
5140 {
5141    .name = "umax_4x8",
5142    .num_inputs = 2,
5143    .output_size = 0,
5144    .output_type = nir_type_int32,
5145    .input_sizes = {
5146       0, 0
5147    },
5148    .input_types = {
5149       nir_type_int32, nir_type_int32
5150    },
5151    .is_conversion = false,
5152    .algebraic_properties =
5153       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5154 },
5155 {
5156    .name = "umin",
5157    .num_inputs = 2,
5158    .output_size = 0,
5159    .output_type = nir_type_uint,
5160    .input_sizes = {
5161       0, 0
5162    },
5163    .input_types = {
5164       nir_type_uint, nir_type_uint
5165    },
5166    .is_conversion = false,
5167    .algebraic_properties =
5168       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5169 },
5170 {
5171    .name = "umin_4x8",
5172    .num_inputs = 2,
5173    .output_size = 0,
5174    .output_type = nir_type_int32,
5175    .input_sizes = {
5176       0, 0
5177    },
5178    .input_types = {
5179       nir_type_int32, nir_type_int32
5180    },
5181    .is_conversion = false,
5182    .algebraic_properties =
5183       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5184 },
5185 {
5186    .name = "umod",
5187    .num_inputs = 2,
5188    .output_size = 0,
5189    .output_type = nir_type_uint,
5190    .input_sizes = {
5191       0, 0
5192    },
5193    .input_types = {
5194       nir_type_uint, nir_type_uint
5195    },
5196    .is_conversion = false,
5197    .algebraic_properties =
5198       0
5199 },
5200 {
5201    .name = "umul24",
5202    .num_inputs = 2,
5203    .output_size = 0,
5204    .output_type = nir_type_int32,
5205    .input_sizes = {
5206       0, 0
5207    },
5208    .input_types = {
5209       nir_type_int32, nir_type_int32
5210    },
5211    .is_conversion = false,
5212    .algebraic_properties =
5213       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5214 },
5215 {
5216    .name = "umul_2x32_64",
5217    .num_inputs = 2,
5218    .output_size = 0,
5219    .output_type = nir_type_uint64,
5220    .input_sizes = {
5221       0, 0
5222    },
5223    .input_types = {
5224       nir_type_uint32, nir_type_uint32
5225    },
5226    .is_conversion = false,
5227    .algebraic_properties =
5228       NIR_OP_IS_2SRC_COMMUTATIVE
5229 },
5230 {
5231    .name = "umul_32x16",
5232    .num_inputs = 2,
5233    .output_size = 0,
5234    .output_type = nir_type_uint32,
5235    .input_sizes = {
5236       0, 0
5237    },
5238    .input_types = {
5239       nir_type_uint32, nir_type_uint32
5240    },
5241    .is_conversion = false,
5242    .algebraic_properties =
5243       0
5244 },
5245 {
5246    .name = "umul_high",
5247    .num_inputs = 2,
5248    .output_size = 0,
5249    .output_type = nir_type_uint,
5250    .input_sizes = {
5251       0, 0
5252    },
5253    .input_types = {
5254       nir_type_uint, nir_type_uint
5255    },
5256    .is_conversion = false,
5257    .algebraic_properties =
5258       NIR_OP_IS_2SRC_COMMUTATIVE
5259 },
5260 {
5261    .name = "umul_low",
5262    .num_inputs = 2,
5263    .output_size = 0,
5264    .output_type = nir_type_uint32,
5265    .input_sizes = {
5266       0, 0
5267    },
5268    .input_types = {
5269       nir_type_uint32, nir_type_uint32
5270    },
5271    .is_conversion = false,
5272    .algebraic_properties =
5273       NIR_OP_IS_2SRC_COMMUTATIVE
5274 },
5275 {
5276    .name = "umul_unorm_4x8",
5277    .num_inputs = 2,
5278    .output_size = 0,
5279    .output_type = nir_type_int32,
5280    .input_sizes = {
5281       0, 0
5282    },
5283    .input_types = {
5284       nir_type_int32, nir_type_int32
5285    },
5286    .is_conversion = false,
5287    .algebraic_properties =
5288       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5289 },
5290 {
5291    .name = "unpack_32_2x16",
5292    .num_inputs = 1,
5293    .output_size = 2,
5294    .output_type = nir_type_uint16,
5295    .input_sizes = {
5296       1
5297    },
5298    .input_types = {
5299       nir_type_uint32
5300    },
5301    .is_conversion = false,
5302    .algebraic_properties =
5303       0
5304 },
5305 {
5306    .name = "unpack_32_2x16_split_x",
5307    .num_inputs = 1,
5308    .output_size = 0,
5309    .output_type = nir_type_uint16,
5310    .input_sizes = {
5311       0
5312    },
5313    .input_types = {
5314       nir_type_uint32
5315    },
5316    .is_conversion = false,
5317    .algebraic_properties =
5318       0
5319 },
5320 {
5321    .name = "unpack_32_2x16_split_y",
5322    .num_inputs = 1,
5323    .output_size = 0,
5324    .output_type = nir_type_uint16,
5325    .input_sizes = {
5326       0
5327    },
5328    .input_types = {
5329       nir_type_uint32
5330    },
5331    .is_conversion = false,
5332    .algebraic_properties =
5333       0
5334 },
5335 {
5336    .name = "unpack_32_4x8",
5337    .num_inputs = 1,
5338    .output_size = 4,
5339    .output_type = nir_type_uint8,
5340    .input_sizes = {
5341       1
5342    },
5343    .input_types = {
5344       nir_type_uint32
5345    },
5346    .is_conversion = false,
5347    .algebraic_properties =
5348       0
5349 },
5350 {
5351    .name = "unpack_64_2x32",
5352    .num_inputs = 1,
5353    .output_size = 2,
5354    .output_type = nir_type_uint32,
5355    .input_sizes = {
5356       1
5357    },
5358    .input_types = {
5359       nir_type_uint64
5360    },
5361    .is_conversion = false,
5362    .algebraic_properties =
5363       0
5364 },
5365 {
5366    .name = "unpack_64_2x32_split_x",
5367    .num_inputs = 1,
5368    .output_size = 0,
5369    .output_type = nir_type_uint32,
5370    .input_sizes = {
5371       0
5372    },
5373    .input_types = {
5374       nir_type_uint64
5375    },
5376    .is_conversion = false,
5377    .algebraic_properties =
5378       0
5379 },
5380 {
5381    .name = "unpack_64_2x32_split_y",
5382    .num_inputs = 1,
5383    .output_size = 0,
5384    .output_type = nir_type_uint32,
5385    .input_sizes = {
5386       0
5387    },
5388    .input_types = {
5389       nir_type_uint64
5390    },
5391    .is_conversion = false,
5392    .algebraic_properties =
5393       0
5394 },
5395 {
5396    .name = "unpack_64_4x16",
5397    .num_inputs = 1,
5398    .output_size = 4,
5399    .output_type = nir_type_uint16,
5400    .input_sizes = {
5401       1
5402    },
5403    .input_types = {
5404       nir_type_uint64
5405    },
5406    .is_conversion = false,
5407    .algebraic_properties =
5408       0
5409 },
5410 {
5411    .name = "unpack_half_2x16",
5412    .num_inputs = 1,
5413    .output_size = 2,
5414    .output_type = nir_type_float32,
5415    .input_sizes = {
5416       1
5417    },
5418    .input_types = {
5419       nir_type_uint32
5420    },
5421    .is_conversion = false,
5422    .algebraic_properties =
5423       0
5424 },
5425 {
5426    .name = "unpack_half_2x16_flush_to_zero",
5427    .num_inputs = 1,
5428    .output_size = 2,
5429    .output_type = nir_type_float32,
5430    .input_sizes = {
5431       1
5432    },
5433    .input_types = {
5434       nir_type_uint32
5435    },
5436    .is_conversion = false,
5437    .algebraic_properties =
5438       0
5439 },
5440 {
5441    .name = "unpack_half_2x16_split_x",
5442    .num_inputs = 1,
5443    .output_size = 0,
5444    .output_type = nir_type_float32,
5445    .input_sizes = {
5446       0
5447    },
5448    .input_types = {
5449       nir_type_uint32
5450    },
5451    .is_conversion = false,
5452    .algebraic_properties =
5453       0
5454 },
5455 {
5456    .name = "unpack_half_2x16_split_x_flush_to_zero",
5457    .num_inputs = 1,
5458    .output_size = 0,
5459    .output_type = nir_type_float32,
5460    .input_sizes = {
5461       0
5462    },
5463    .input_types = {
5464       nir_type_uint32
5465    },
5466    .is_conversion = false,
5467    .algebraic_properties =
5468       0
5469 },
5470 {
5471    .name = "unpack_half_2x16_split_y",
5472    .num_inputs = 1,
5473    .output_size = 0,
5474    .output_type = nir_type_float32,
5475    .input_sizes = {
5476       0
5477    },
5478    .input_types = {
5479       nir_type_uint32
5480    },
5481    .is_conversion = false,
5482    .algebraic_properties =
5483       0
5484 },
5485 {
5486    .name = "unpack_half_2x16_split_y_flush_to_zero",
5487    .num_inputs = 1,
5488    .output_size = 0,
5489    .output_type = nir_type_float32,
5490    .input_sizes = {
5491       0
5492    },
5493    .input_types = {
5494       nir_type_uint32
5495    },
5496    .is_conversion = false,
5497    .algebraic_properties =
5498       0
5499 },
5500 {
5501    .name = "unpack_snorm_2x16",
5502    .num_inputs = 1,
5503    .output_size = 2,
5504    .output_type = nir_type_float32,
5505    .input_sizes = {
5506       1
5507    },
5508    .input_types = {
5509       nir_type_uint32
5510    },
5511    .is_conversion = false,
5512    .algebraic_properties =
5513       0
5514 },
5515 {
5516    .name = "unpack_snorm_4x8",
5517    .num_inputs = 1,
5518    .output_size = 4,
5519    .output_type = nir_type_float32,
5520    .input_sizes = {
5521       1
5522    },
5523    .input_types = {
5524       nir_type_uint32
5525    },
5526    .is_conversion = false,
5527    .algebraic_properties =
5528       0
5529 },
5530 {
5531    .name = "unpack_unorm_2x16",
5532    .num_inputs = 1,
5533    .output_size = 2,
5534    .output_type = nir_type_float32,
5535    .input_sizes = {
5536       1
5537    },
5538    .input_types = {
5539       nir_type_uint32
5540    },
5541    .is_conversion = false,
5542    .algebraic_properties =
5543       0
5544 },
5545 {
5546    .name = "unpack_unorm_4x8",
5547    .num_inputs = 1,
5548    .output_size = 4,
5549    .output_type = nir_type_float32,
5550    .input_sizes = {
5551       1
5552    },
5553    .input_types = {
5554       nir_type_uint32
5555    },
5556    .is_conversion = false,
5557    .algebraic_properties =
5558       0
5559 },
5560 {
5561    .name = "urhadd",
5562    .num_inputs = 2,
5563    .output_size = 0,
5564    .output_type = nir_type_uint,
5565    .input_sizes = {
5566       0, 0
5567    },
5568    .input_types = {
5569       nir_type_uint, nir_type_uint
5570    },
5571    .is_conversion = false,
5572    .algebraic_properties =
5573       NIR_OP_IS_2SRC_COMMUTATIVE
5574 },
5575 {
5576    .name = "urol",
5577    .num_inputs = 2,
5578    .output_size = 0,
5579    .output_type = nir_type_uint,
5580    .input_sizes = {
5581       0, 0
5582    },
5583    .input_types = {
5584       nir_type_uint, nir_type_uint32
5585    },
5586    .is_conversion = false,
5587    .algebraic_properties =
5588       0
5589 },
5590 {
5591    .name = "uror",
5592    .num_inputs = 2,
5593    .output_size = 0,
5594    .output_type = nir_type_uint,
5595    .input_sizes = {
5596       0, 0
5597    },
5598    .input_types = {
5599       nir_type_uint, nir_type_uint32
5600    },
5601    .is_conversion = false,
5602    .algebraic_properties =
5603       0
5604 },
5605 {
5606    .name = "usadd_4x8",
5607    .num_inputs = 2,
5608    .output_size = 0,
5609    .output_type = nir_type_int32,
5610    .input_sizes = {
5611       0, 0
5612    },
5613    .input_types = {
5614       nir_type_int32, nir_type_int32
5615    },
5616    .is_conversion = false,
5617    .algebraic_properties =
5618       NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5619 },
5620 {
5621    .name = "ushr",
5622    .num_inputs = 2,
5623    .output_size = 0,
5624    .output_type = nir_type_uint,
5625    .input_sizes = {
5626       0, 0
5627    },
5628    .input_types = {
5629       nir_type_uint, nir_type_uint32
5630    },
5631    .is_conversion = false,
5632    .algebraic_properties =
5633       0
5634 },
5635 {
5636    .name = "ussub_4x8",
5637    .num_inputs = 2,
5638    .output_size = 0,
5639    .output_type = nir_type_int32,
5640    .input_sizes = {
5641       0, 0
5642    },
5643    .input_types = {
5644       nir_type_int32, nir_type_int32
5645    },
5646    .is_conversion = false,
5647    .algebraic_properties =
5648       0
5649 },
5650 {
5651    .name = "usub_borrow",
5652    .num_inputs = 2,
5653    .output_size = 0,
5654    .output_type = nir_type_uint,
5655    .input_sizes = {
5656       0, 0
5657    },
5658    .input_types = {
5659       nir_type_uint, nir_type_uint
5660    },
5661    .is_conversion = false,
5662    .algebraic_properties =
5663       0
5664 },
5665 {
5666    .name = "usub_sat",
5667    .num_inputs = 2,
5668    .output_size = 0,
5669    .output_type = nir_type_uint,
5670    .input_sizes = {
5671       0, 0
5672    },
5673    .input_types = {
5674       nir_type_uint, nir_type_uint
5675    },
5676    .is_conversion = false,
5677    .algebraic_properties =
5678       0
5679 },
5680 {
5681    .name = "vec16",
5682    .num_inputs = 16,
5683    .output_size = 16,
5684    .output_type = nir_type_uint,
5685    .input_sizes = {
5686       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
5687    },
5688    .input_types = {
5689       nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint
5690    },
5691    .is_conversion = false,
5692    .algebraic_properties =
5693       0
5694 },
5695 {
5696    .name = "vec2",
5697    .num_inputs = 2,
5698    .output_size = 2,
5699    .output_type = nir_type_uint,
5700    .input_sizes = {
5701       1, 1
5702    },
5703    .input_types = {
5704       nir_type_uint, nir_type_uint
5705    },
5706    .is_conversion = false,
5707    .algebraic_properties =
5708       0
5709 },
5710 {
5711    .name = "vec3",
5712    .num_inputs = 3,
5713    .output_size = 3,
5714    .output_type = nir_type_uint,
5715    .input_sizes = {
5716       1, 1, 1
5717    },
5718    .input_types = {
5719       nir_type_uint, nir_type_uint, nir_type_uint
5720    },
5721    .is_conversion = false,
5722    .algebraic_properties =
5723       0
5724 },
5725 {
5726    .name = "vec4",
5727    .num_inputs = 4,
5728    .output_size = 4,
5729    .output_type = nir_type_uint,
5730    .input_sizes = {
5731       1, 1, 1, 1
5732    },
5733    .input_types = {
5734       nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint
5735    },
5736    .is_conversion = false,
5737    .algebraic_properties =
5738       0
5739 },
5740 {
5741    .name = "vec8",
5742    .num_inputs = 8,
5743    .output_size = 8,
5744    .output_type = nir_type_uint,
5745    .input_sizes = {
5746       1, 1, 1, 1, 1, 1, 1, 1
5747    },
5748    .input_types = {
5749       nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint
5750    },
5751    .is_conversion = false,
5752    .algebraic_properties =
5753       0
5754 },
5755 };
5756 
5757