nir_opcodes.c revision 96c5ddc4
1
2#include "nir.h"
3
4nir_op
5nir_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
294const 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_fequal5",
372   .num_inputs = 2,
373   .output_size = 1,
374   .output_type = nir_type_bool16,
375   .input_sizes = {
376      5, 5
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_fequal8",
387   .num_inputs = 2,
388   .output_size = 1,
389   .output_type = nir_type_bool16,
390   .input_sizes = {
391      8, 8
392   },
393   .input_types = {
394      nir_type_float, nir_type_float
395   },
396   .is_conversion = false,
397   .algebraic_properties =
398      NIR_OP_IS_2SRC_COMMUTATIVE
399},
400{
401   .name = "b16all_iequal16",
402   .num_inputs = 2,
403   .output_size = 1,
404   .output_type = nir_type_bool16,
405   .input_sizes = {
406      16, 16
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_iequal2",
417   .num_inputs = 2,
418   .output_size = 1,
419   .output_type = nir_type_bool16,
420   .input_sizes = {
421      2, 2
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_iequal3",
432   .num_inputs = 2,
433   .output_size = 1,
434   .output_type = nir_type_bool16,
435   .input_sizes = {
436      3, 3
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_iequal4",
447   .num_inputs = 2,
448   .output_size = 1,
449   .output_type = nir_type_bool16,
450   .input_sizes = {
451      4, 4
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 = "b16all_iequal5",
462   .num_inputs = 2,
463   .output_size = 1,
464   .output_type = nir_type_bool16,
465   .input_sizes = {
466      5, 5
467   },
468   .input_types = {
469      nir_type_int, nir_type_int
470   },
471   .is_conversion = false,
472   .algebraic_properties =
473      NIR_OP_IS_2SRC_COMMUTATIVE
474},
475{
476   .name = "b16all_iequal8",
477   .num_inputs = 2,
478   .output_size = 1,
479   .output_type = nir_type_bool16,
480   .input_sizes = {
481      8, 8
482   },
483   .input_types = {
484      nir_type_int, nir_type_int
485   },
486   .is_conversion = false,
487   .algebraic_properties =
488      NIR_OP_IS_2SRC_COMMUTATIVE
489},
490{
491   .name = "b16any_fnequal16",
492   .num_inputs = 2,
493   .output_size = 1,
494   .output_type = nir_type_bool16,
495   .input_sizes = {
496      16, 16
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_fnequal2",
507   .num_inputs = 2,
508   .output_size = 1,
509   .output_type = nir_type_bool16,
510   .input_sizes = {
511      2, 2
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_fnequal3",
522   .num_inputs = 2,
523   .output_size = 1,
524   .output_type = nir_type_bool16,
525   .input_sizes = {
526      3, 3
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_fnequal4",
537   .num_inputs = 2,
538   .output_size = 1,
539   .output_type = nir_type_bool16,
540   .input_sizes = {
541      4, 4
542   },
543   .input_types = {
544      nir_type_float, nir_type_float
545   },
546   .is_conversion = false,
547   .algebraic_properties =
548      NIR_OP_IS_2SRC_COMMUTATIVE
549},
550{
551   .name = "b16any_fnequal5",
552   .num_inputs = 2,
553   .output_size = 1,
554   .output_type = nir_type_bool16,
555   .input_sizes = {
556      5, 5
557   },
558   .input_types = {
559      nir_type_float, nir_type_float
560   },
561   .is_conversion = false,
562   .algebraic_properties =
563      NIR_OP_IS_2SRC_COMMUTATIVE
564},
565{
566   .name = "b16any_fnequal8",
567   .num_inputs = 2,
568   .output_size = 1,
569   .output_type = nir_type_bool16,
570   .input_sizes = {
571      8, 8
572   },
573   .input_types = {
574      nir_type_float, nir_type_float
575   },
576   .is_conversion = false,
577   .algebraic_properties =
578      NIR_OP_IS_2SRC_COMMUTATIVE
579},
580{
581   .name = "b16any_inequal16",
582   .num_inputs = 2,
583   .output_size = 1,
584   .output_type = nir_type_bool16,
585   .input_sizes = {
586      16, 16
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_inequal2",
597   .num_inputs = 2,
598   .output_size = 1,
599   .output_type = nir_type_bool16,
600   .input_sizes = {
601      2, 2
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 = "b16any_inequal3",
612   .num_inputs = 2,
613   .output_size = 1,
614   .output_type = nir_type_bool16,
615   .input_sizes = {
616      3, 3
617   },
618   .input_types = {
619      nir_type_int, nir_type_int
620   },
621   .is_conversion = false,
622   .algebraic_properties =
623      NIR_OP_IS_2SRC_COMMUTATIVE
624},
625{
626   .name = "b16any_inequal4",
627   .num_inputs = 2,
628   .output_size = 1,
629   .output_type = nir_type_bool16,
630   .input_sizes = {
631      4, 4
632   },
633   .input_types = {
634      nir_type_int, nir_type_int
635   },
636   .is_conversion = false,
637   .algebraic_properties =
638      NIR_OP_IS_2SRC_COMMUTATIVE
639},
640{
641   .name = "b16any_inequal5",
642   .num_inputs = 2,
643   .output_size = 1,
644   .output_type = nir_type_bool16,
645   .input_sizes = {
646      5, 5
647   },
648   .input_types = {
649      nir_type_int, nir_type_int
650   },
651   .is_conversion = false,
652   .algebraic_properties =
653      NIR_OP_IS_2SRC_COMMUTATIVE
654},
655{
656   .name = "b16any_inequal8",
657   .num_inputs = 2,
658   .output_size = 1,
659   .output_type = nir_type_bool16,
660   .input_sizes = {
661      8, 8
662   },
663   .input_types = {
664      nir_type_int, nir_type_int
665   },
666   .is_conversion = false,
667   .algebraic_properties =
668      NIR_OP_IS_2SRC_COMMUTATIVE
669},
670{
671   .name = "b16csel",
672   .num_inputs = 3,
673   .output_size = 0,
674   .output_type = nir_type_uint,
675   .input_sizes = {
676      0, 0, 0
677   },
678   .input_types = {
679      nir_type_bool16, nir_type_uint, nir_type_uint
680   },
681   .is_conversion = false,
682   .algebraic_properties =
683      0
684},
685{
686   .name = "b2b1",
687   .num_inputs = 1,
688   .output_size = 0,
689   .output_type = nir_type_bool1,
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 = "b2b16",
702   .num_inputs = 1,
703   .output_size = 0,
704   .output_type = nir_type_bool16,
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 = "b2b32",
717   .num_inputs = 1,
718   .output_size = 0,
719   .output_type = nir_type_bool32,
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 = "b2b8",
732   .num_inputs = 1,
733   .output_size = 0,
734   .output_type = nir_type_bool8,
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 = "b2f16",
747   .num_inputs = 1,
748   .output_size = 0,
749   .output_type = nir_type_float16,
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 = "b2f32",
762   .num_inputs = 1,
763   .output_size = 0,
764   .output_type = nir_type_float32,
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 = "b2f64",
777   .num_inputs = 1,
778   .output_size = 0,
779   .output_type = nir_type_float64,
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 = "b2i1",
792   .num_inputs = 1,
793   .output_size = 0,
794   .output_type = nir_type_int1,
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 = "b2i16",
807   .num_inputs = 1,
808   .output_size = 0,
809   .output_type = nir_type_int16,
810   .input_sizes = {
811      0
812   },
813   .input_types = {
814      nir_type_bool
815   },
816   .is_conversion = true,
817   .algebraic_properties =
818      0
819},
820{
821   .name = "b2i32",
822   .num_inputs = 1,
823   .output_size = 0,
824   .output_type = nir_type_int32,
825   .input_sizes = {
826      0
827   },
828   .input_types = {
829      nir_type_bool
830   },
831   .is_conversion = true,
832   .algebraic_properties =
833      0
834},
835{
836   .name = "b2i64",
837   .num_inputs = 1,
838   .output_size = 0,
839   .output_type = nir_type_int64,
840   .input_sizes = {
841      0
842   },
843   .input_types = {
844      nir_type_bool
845   },
846   .is_conversion = true,
847   .algebraic_properties =
848      0
849},
850{
851   .name = "b2i8",
852   .num_inputs = 1,
853   .output_size = 0,
854   .output_type = nir_type_int8,
855   .input_sizes = {
856      0
857   },
858   .input_types = {
859      nir_type_bool
860   },
861   .is_conversion = true,
862   .algebraic_properties =
863      0
864},
865{
866   .name = "b32all_fequal16",
867   .num_inputs = 2,
868   .output_size = 1,
869   .output_type = nir_type_bool32,
870   .input_sizes = {
871      16, 16
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_fequal2",
882   .num_inputs = 2,
883   .output_size = 1,
884   .output_type = nir_type_bool32,
885   .input_sizes = {
886      2, 2
887   },
888   .input_types = {
889      nir_type_float, nir_type_float
890   },
891   .is_conversion = false,
892   .algebraic_properties =
893      NIR_OP_IS_2SRC_COMMUTATIVE
894},
895{
896   .name = "b32all_fequal3",
897   .num_inputs = 2,
898   .output_size = 1,
899   .output_type = nir_type_bool32,
900   .input_sizes = {
901      3, 3
902   },
903   .input_types = {
904      nir_type_float, nir_type_float
905   },
906   .is_conversion = false,
907   .algebraic_properties =
908      NIR_OP_IS_2SRC_COMMUTATIVE
909},
910{
911   .name = "b32all_fequal4",
912   .num_inputs = 2,
913   .output_size = 1,
914   .output_type = nir_type_bool32,
915   .input_sizes = {
916      4, 4
917   },
918   .input_types = {
919      nir_type_float, nir_type_float
920   },
921   .is_conversion = false,
922   .algebraic_properties =
923      NIR_OP_IS_2SRC_COMMUTATIVE
924},
925{
926   .name = "b32all_fequal5",
927   .num_inputs = 2,
928   .output_size = 1,
929   .output_type = nir_type_bool32,
930   .input_sizes = {
931      5, 5
932   },
933   .input_types = {
934      nir_type_float, nir_type_float
935   },
936   .is_conversion = false,
937   .algebraic_properties =
938      NIR_OP_IS_2SRC_COMMUTATIVE
939},
940{
941   .name = "b32all_fequal8",
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_float, nir_type_float
950   },
951   .is_conversion = false,
952   .algebraic_properties =
953      NIR_OP_IS_2SRC_COMMUTATIVE
954},
955{
956   .name = "b32all_iequal16",
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_int, nir_type_int
965   },
966   .is_conversion = false,
967   .algebraic_properties =
968      NIR_OP_IS_2SRC_COMMUTATIVE
969},
970{
971   .name = "b32all_iequal2",
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_int, nir_type_int
980   },
981   .is_conversion = false,
982   .algebraic_properties =
983      NIR_OP_IS_2SRC_COMMUTATIVE
984},
985{
986   .name = "b32all_iequal3",
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_int, nir_type_int
995   },
996   .is_conversion = false,
997   .algebraic_properties =
998      NIR_OP_IS_2SRC_COMMUTATIVE
999},
1000{
1001   .name = "b32all_iequal4",
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_int, nir_type_int
1010   },
1011   .is_conversion = false,
1012   .algebraic_properties =
1013      NIR_OP_IS_2SRC_COMMUTATIVE
1014},
1015{
1016   .name = "b32all_iequal5",
1017   .num_inputs = 2,
1018   .output_size = 1,
1019   .output_type = nir_type_bool32,
1020   .input_sizes = {
1021      5, 5
1022   },
1023   .input_types = {
1024      nir_type_int, nir_type_int
1025   },
1026   .is_conversion = false,
1027   .algebraic_properties =
1028      NIR_OP_IS_2SRC_COMMUTATIVE
1029},
1030{
1031   .name = "b32all_iequal8",
1032   .num_inputs = 2,
1033   .output_size = 1,
1034   .output_type = nir_type_bool32,
1035   .input_sizes = {
1036      8, 8
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_fnequal16",
1047   .num_inputs = 2,
1048   .output_size = 1,
1049   .output_type = nir_type_bool32,
1050   .input_sizes = {
1051      16, 16
1052   },
1053   .input_types = {
1054      nir_type_float, nir_type_float
1055   },
1056   .is_conversion = false,
1057   .algebraic_properties =
1058      NIR_OP_IS_2SRC_COMMUTATIVE
1059},
1060{
1061   .name = "b32any_fnequal2",
1062   .num_inputs = 2,
1063   .output_size = 1,
1064   .output_type = nir_type_bool32,
1065   .input_sizes = {
1066      2, 2
1067   },
1068   .input_types = {
1069      nir_type_float, nir_type_float
1070   },
1071   .is_conversion = false,
1072   .algebraic_properties =
1073      NIR_OP_IS_2SRC_COMMUTATIVE
1074},
1075{
1076   .name = "b32any_fnequal3",
1077   .num_inputs = 2,
1078   .output_size = 1,
1079   .output_type = nir_type_bool32,
1080   .input_sizes = {
1081      3, 3
1082   },
1083   .input_types = {
1084      nir_type_float, nir_type_float
1085   },
1086   .is_conversion = false,
1087   .algebraic_properties =
1088      NIR_OP_IS_2SRC_COMMUTATIVE
1089},
1090{
1091   .name = "b32any_fnequal4",
1092   .num_inputs = 2,
1093   .output_size = 1,
1094   .output_type = nir_type_bool32,
1095   .input_sizes = {
1096      4, 4
1097   },
1098   .input_types = {
1099      nir_type_float, nir_type_float
1100   },
1101   .is_conversion = false,
1102   .algebraic_properties =
1103      NIR_OP_IS_2SRC_COMMUTATIVE
1104},
1105{
1106   .name = "b32any_fnequal5",
1107   .num_inputs = 2,
1108   .output_size = 1,
1109   .output_type = nir_type_bool32,
1110   .input_sizes = {
1111      5, 5
1112   },
1113   .input_types = {
1114      nir_type_float, nir_type_float
1115   },
1116   .is_conversion = false,
1117   .algebraic_properties =
1118      NIR_OP_IS_2SRC_COMMUTATIVE
1119},
1120{
1121   .name = "b32any_fnequal8",
1122   .num_inputs = 2,
1123   .output_size = 1,
1124   .output_type = nir_type_bool32,
1125   .input_sizes = {
1126      8, 8
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 = "b32any_inequal16",
1137   .num_inputs = 2,
1138   .output_size = 1,
1139   .output_type = nir_type_bool32,
1140   .input_sizes = {
1141      16, 16
1142   },
1143   .input_types = {
1144      nir_type_int, nir_type_int
1145   },
1146   .is_conversion = false,
1147   .algebraic_properties =
1148      NIR_OP_IS_2SRC_COMMUTATIVE
1149},
1150{
1151   .name = "b32any_inequal2",
1152   .num_inputs = 2,
1153   .output_size = 1,
1154   .output_type = nir_type_bool32,
1155   .input_sizes = {
1156      2, 2
1157   },
1158   .input_types = {
1159      nir_type_int, nir_type_int
1160   },
1161   .is_conversion = false,
1162   .algebraic_properties =
1163      NIR_OP_IS_2SRC_COMMUTATIVE
1164},
1165{
1166   .name = "b32any_inequal3",
1167   .num_inputs = 2,
1168   .output_size = 1,
1169   .output_type = nir_type_bool32,
1170   .input_sizes = {
1171      3, 3
1172   },
1173   .input_types = {
1174      nir_type_int, nir_type_int
1175   },
1176   .is_conversion = false,
1177   .algebraic_properties =
1178      NIR_OP_IS_2SRC_COMMUTATIVE
1179},
1180{
1181   .name = "b32any_inequal4",
1182   .num_inputs = 2,
1183   .output_size = 1,
1184   .output_type = nir_type_bool32,
1185   .input_sizes = {
1186      4, 4
1187   },
1188   .input_types = {
1189      nir_type_int, nir_type_int
1190   },
1191   .is_conversion = false,
1192   .algebraic_properties =
1193      NIR_OP_IS_2SRC_COMMUTATIVE
1194},
1195{
1196   .name = "b32any_inequal5",
1197   .num_inputs = 2,
1198   .output_size = 1,
1199   .output_type = nir_type_bool32,
1200   .input_sizes = {
1201      5, 5
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 = "b32any_inequal8",
1212   .num_inputs = 2,
1213   .output_size = 1,
1214   .output_type = nir_type_bool32,
1215   .input_sizes = {
1216      8, 8
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 = "b32csel",
1227   .num_inputs = 3,
1228   .output_size = 0,
1229   .output_type = nir_type_uint,
1230   .input_sizes = {
1231      0, 0, 0
1232   },
1233   .input_types = {
1234      nir_type_bool32, nir_type_uint, nir_type_uint
1235   },
1236   .is_conversion = false,
1237   .algebraic_properties =
1238      0
1239},
1240{
1241   .name = "b8all_fequal16",
1242   .num_inputs = 2,
1243   .output_size = 1,
1244   .output_type = nir_type_bool8,
1245   .input_sizes = {
1246      16, 16
1247   },
1248   .input_types = {
1249      nir_type_float, nir_type_float
1250   },
1251   .is_conversion = false,
1252   .algebraic_properties =
1253      NIR_OP_IS_2SRC_COMMUTATIVE
1254},
1255{
1256   .name = "b8all_fequal2",
1257   .num_inputs = 2,
1258   .output_size = 1,
1259   .output_type = nir_type_bool8,
1260   .input_sizes = {
1261      2, 2
1262   },
1263   .input_types = {
1264      nir_type_float, nir_type_float
1265   },
1266   .is_conversion = false,
1267   .algebraic_properties =
1268      NIR_OP_IS_2SRC_COMMUTATIVE
1269},
1270{
1271   .name = "b8all_fequal3",
1272   .num_inputs = 2,
1273   .output_size = 1,
1274   .output_type = nir_type_bool8,
1275   .input_sizes = {
1276      3, 3
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 = "b8all_fequal4",
1287   .num_inputs = 2,
1288   .output_size = 1,
1289   .output_type = nir_type_bool8,
1290   .input_sizes = {
1291      4, 4
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 = "b8all_fequal5",
1302   .num_inputs = 2,
1303   .output_size = 1,
1304   .output_type = nir_type_bool8,
1305   .input_sizes = {
1306      5, 5
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 = "b8all_fequal8",
1317   .num_inputs = 2,
1318   .output_size = 1,
1319   .output_type = nir_type_bool8,
1320   .input_sizes = {
1321      8, 8
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 = "b8all_iequal16",
1332   .num_inputs = 2,
1333   .output_size = 1,
1334   .output_type = nir_type_bool8,
1335   .input_sizes = {
1336      16, 16
1337   },
1338   .input_types = {
1339      nir_type_int, nir_type_int
1340   },
1341   .is_conversion = false,
1342   .algebraic_properties =
1343      NIR_OP_IS_2SRC_COMMUTATIVE
1344},
1345{
1346   .name = "b8all_iequal2",
1347   .num_inputs = 2,
1348   .output_size = 1,
1349   .output_type = nir_type_bool8,
1350   .input_sizes = {
1351      2, 2
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 = "b8all_iequal3",
1362   .num_inputs = 2,
1363   .output_size = 1,
1364   .output_type = nir_type_bool8,
1365   .input_sizes = {
1366      3, 3
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 = "b8all_iequal4",
1377   .num_inputs = 2,
1378   .output_size = 1,
1379   .output_type = nir_type_bool8,
1380   .input_sizes = {
1381      4, 4
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 = "b8all_iequal5",
1392   .num_inputs = 2,
1393   .output_size = 1,
1394   .output_type = nir_type_bool8,
1395   .input_sizes = {
1396      5, 5
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 = "b8all_iequal8",
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 = "b8any_fnequal16",
1422   .num_inputs = 2,
1423   .output_size = 1,
1424   .output_type = nir_type_bool8,
1425   .input_sizes = {
1426      16, 16
1427   },
1428   .input_types = {
1429      nir_type_float, nir_type_float
1430   },
1431   .is_conversion = false,
1432   .algebraic_properties =
1433      NIR_OP_IS_2SRC_COMMUTATIVE
1434},
1435{
1436   .name = "b8any_fnequal2",
1437   .num_inputs = 2,
1438   .output_size = 1,
1439   .output_type = nir_type_bool8,
1440   .input_sizes = {
1441      2, 2
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 = "b8any_fnequal3",
1452   .num_inputs = 2,
1453   .output_size = 1,
1454   .output_type = nir_type_bool8,
1455   .input_sizes = {
1456      3, 3
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 = "b8any_fnequal4",
1467   .num_inputs = 2,
1468   .output_size = 1,
1469   .output_type = nir_type_bool8,
1470   .input_sizes = {
1471      4, 4
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 = "b8any_fnequal5",
1482   .num_inputs = 2,
1483   .output_size = 1,
1484   .output_type = nir_type_bool8,
1485   .input_sizes = {
1486      5, 5
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 = "b8any_fnequal8",
1497   .num_inputs = 2,
1498   .output_size = 1,
1499   .output_type = nir_type_bool8,
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 = "b8any_inequal16",
1512   .num_inputs = 2,
1513   .output_size = 1,
1514   .output_type = nir_type_bool8,
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 = "b8any_inequal2",
1527   .num_inputs = 2,
1528   .output_size = 1,
1529   .output_type = nir_type_bool8,
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 = "b8any_inequal3",
1542   .num_inputs = 2,
1543   .output_size = 1,
1544   .output_type = nir_type_bool8,
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 = "b8any_inequal4",
1557   .num_inputs = 2,
1558   .output_size = 1,
1559   .output_type = nir_type_bool8,
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 = "b8any_inequal5",
1572   .num_inputs = 2,
1573   .output_size = 1,
1574   .output_type = nir_type_bool8,
1575   .input_sizes = {
1576      5, 5
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 = "b8any_inequal8",
1587   .num_inputs = 2,
1588   .output_size = 1,
1589   .output_type = nir_type_bool8,
1590   .input_sizes = {
1591      8, 8
1592   },
1593   .input_types = {
1594      nir_type_int, nir_type_int
1595   },
1596   .is_conversion = false,
1597   .algebraic_properties =
1598      NIR_OP_IS_2SRC_COMMUTATIVE
1599},
1600{
1601   .name = "b8csel",
1602   .num_inputs = 3,
1603   .output_size = 0,
1604   .output_type = nir_type_uint,
1605   .input_sizes = {
1606      0, 0, 0
1607   },
1608   .input_types = {
1609      nir_type_bool8, nir_type_uint, nir_type_uint
1610   },
1611   .is_conversion = false,
1612   .algebraic_properties =
1613      0
1614},
1615{
1616   .name = "ball_fequal16",
1617   .num_inputs = 2,
1618   .output_size = 1,
1619   .output_type = nir_type_bool1,
1620   .input_sizes = {
1621      16, 16
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 = "ball_fequal2",
1632   .num_inputs = 2,
1633   .output_size = 1,
1634   .output_type = nir_type_bool1,
1635   .input_sizes = {
1636      2, 2
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 = "ball_fequal3",
1647   .num_inputs = 2,
1648   .output_size = 1,
1649   .output_type = nir_type_bool1,
1650   .input_sizes = {
1651      3, 3
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 = "ball_fequal4",
1662   .num_inputs = 2,
1663   .output_size = 1,
1664   .output_type = nir_type_bool1,
1665   .input_sizes = {
1666      4, 4
1667   },
1668   .input_types = {
1669      nir_type_float, nir_type_float
1670   },
1671   .is_conversion = false,
1672   .algebraic_properties =
1673      NIR_OP_IS_2SRC_COMMUTATIVE
1674},
1675{
1676   .name = "ball_fequal5",
1677   .num_inputs = 2,
1678   .output_size = 1,
1679   .output_type = nir_type_bool1,
1680   .input_sizes = {
1681      5, 5
1682   },
1683   .input_types = {
1684      nir_type_float, nir_type_float
1685   },
1686   .is_conversion = false,
1687   .algebraic_properties =
1688      NIR_OP_IS_2SRC_COMMUTATIVE
1689},
1690{
1691   .name = "ball_fequal8",
1692   .num_inputs = 2,
1693   .output_size = 1,
1694   .output_type = nir_type_bool1,
1695   .input_sizes = {
1696      8, 8
1697   },
1698   .input_types = {
1699      nir_type_float, nir_type_float
1700   },
1701   .is_conversion = false,
1702   .algebraic_properties =
1703      NIR_OP_IS_2SRC_COMMUTATIVE
1704},
1705{
1706   .name = "ball_iequal16",
1707   .num_inputs = 2,
1708   .output_size = 1,
1709   .output_type = nir_type_bool1,
1710   .input_sizes = {
1711      16, 16
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 = "ball_iequal2",
1722   .num_inputs = 2,
1723   .output_size = 1,
1724   .output_type = nir_type_bool1,
1725   .input_sizes = {
1726      2, 2
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 = "ball_iequal3",
1737   .num_inputs = 2,
1738   .output_size = 1,
1739   .output_type = nir_type_bool1,
1740   .input_sizes = {
1741      3, 3
1742   },
1743   .input_types = {
1744      nir_type_int, nir_type_int
1745   },
1746   .is_conversion = false,
1747   .algebraic_properties =
1748      NIR_OP_IS_2SRC_COMMUTATIVE
1749},
1750{
1751   .name = "ball_iequal4",
1752   .num_inputs = 2,
1753   .output_size = 1,
1754   .output_type = nir_type_bool1,
1755   .input_sizes = {
1756      4, 4
1757   },
1758   .input_types = {
1759      nir_type_int, nir_type_int
1760   },
1761   .is_conversion = false,
1762   .algebraic_properties =
1763      NIR_OP_IS_2SRC_COMMUTATIVE
1764},
1765{
1766   .name = "ball_iequal5",
1767   .num_inputs = 2,
1768   .output_size = 1,
1769   .output_type = nir_type_bool1,
1770   .input_sizes = {
1771      5, 5
1772   },
1773   .input_types = {
1774      nir_type_int, nir_type_int
1775   },
1776   .is_conversion = false,
1777   .algebraic_properties =
1778      NIR_OP_IS_2SRC_COMMUTATIVE
1779},
1780{
1781   .name = "ball_iequal8",
1782   .num_inputs = 2,
1783   .output_size = 1,
1784   .output_type = nir_type_bool1,
1785   .input_sizes = {
1786      8, 8
1787   },
1788   .input_types = {
1789      nir_type_int, nir_type_int
1790   },
1791   .is_conversion = false,
1792   .algebraic_properties =
1793      NIR_OP_IS_2SRC_COMMUTATIVE
1794},
1795{
1796   .name = "bany_fnequal16",
1797   .num_inputs = 2,
1798   .output_size = 1,
1799   .output_type = nir_type_bool1,
1800   .input_sizes = {
1801      16, 16
1802   },
1803   .input_types = {
1804      nir_type_float, nir_type_float
1805   },
1806   .is_conversion = false,
1807   .algebraic_properties =
1808      NIR_OP_IS_2SRC_COMMUTATIVE
1809},
1810{
1811   .name = "bany_fnequal2",
1812   .num_inputs = 2,
1813   .output_size = 1,
1814   .output_type = nir_type_bool1,
1815   .input_sizes = {
1816      2, 2
1817   },
1818   .input_types = {
1819      nir_type_float, nir_type_float
1820   },
1821   .is_conversion = false,
1822   .algebraic_properties =
1823      NIR_OP_IS_2SRC_COMMUTATIVE
1824},
1825{
1826   .name = "bany_fnequal3",
1827   .num_inputs = 2,
1828   .output_size = 1,
1829   .output_type = nir_type_bool1,
1830   .input_sizes = {
1831      3, 3
1832   },
1833   .input_types = {
1834      nir_type_float, nir_type_float
1835   },
1836   .is_conversion = false,
1837   .algebraic_properties =
1838      NIR_OP_IS_2SRC_COMMUTATIVE
1839},
1840{
1841   .name = "bany_fnequal4",
1842   .num_inputs = 2,
1843   .output_size = 1,
1844   .output_type = nir_type_bool1,
1845   .input_sizes = {
1846      4, 4
1847   },
1848   .input_types = {
1849      nir_type_float, nir_type_float
1850   },
1851   .is_conversion = false,
1852   .algebraic_properties =
1853      NIR_OP_IS_2SRC_COMMUTATIVE
1854},
1855{
1856   .name = "bany_fnequal5",
1857   .num_inputs = 2,
1858   .output_size = 1,
1859   .output_type = nir_type_bool1,
1860   .input_sizes = {
1861      5, 5
1862   },
1863   .input_types = {
1864      nir_type_float, nir_type_float
1865   },
1866   .is_conversion = false,
1867   .algebraic_properties =
1868      NIR_OP_IS_2SRC_COMMUTATIVE
1869},
1870{
1871   .name = "bany_fnequal8",
1872   .num_inputs = 2,
1873   .output_size = 1,
1874   .output_type = nir_type_bool1,
1875   .input_sizes = {
1876      8, 8
1877   },
1878   .input_types = {
1879      nir_type_float, nir_type_float
1880   },
1881   .is_conversion = false,
1882   .algebraic_properties =
1883      NIR_OP_IS_2SRC_COMMUTATIVE
1884},
1885{
1886   .name = "bany_inequal16",
1887   .num_inputs = 2,
1888   .output_size = 1,
1889   .output_type = nir_type_bool1,
1890   .input_sizes = {
1891      16, 16
1892   },
1893   .input_types = {
1894      nir_type_int, nir_type_int
1895   },
1896   .is_conversion = false,
1897   .algebraic_properties =
1898      NIR_OP_IS_2SRC_COMMUTATIVE
1899},
1900{
1901   .name = "bany_inequal2",
1902   .num_inputs = 2,
1903   .output_size = 1,
1904   .output_type = nir_type_bool1,
1905   .input_sizes = {
1906      2, 2
1907   },
1908   .input_types = {
1909      nir_type_int, nir_type_int
1910   },
1911   .is_conversion = false,
1912   .algebraic_properties =
1913      NIR_OP_IS_2SRC_COMMUTATIVE
1914},
1915{
1916   .name = "bany_inequal3",
1917   .num_inputs = 2,
1918   .output_size = 1,
1919   .output_type = nir_type_bool1,
1920   .input_sizes = {
1921      3, 3
1922   },
1923   .input_types = {
1924      nir_type_int, nir_type_int
1925   },
1926   .is_conversion = false,
1927   .algebraic_properties =
1928      NIR_OP_IS_2SRC_COMMUTATIVE
1929},
1930{
1931   .name = "bany_inequal4",
1932   .num_inputs = 2,
1933   .output_size = 1,
1934   .output_type = nir_type_bool1,
1935   .input_sizes = {
1936      4, 4
1937   },
1938   .input_types = {
1939      nir_type_int, nir_type_int
1940   },
1941   .is_conversion = false,
1942   .algebraic_properties =
1943      NIR_OP_IS_2SRC_COMMUTATIVE
1944},
1945{
1946   .name = "bany_inequal5",
1947   .num_inputs = 2,
1948   .output_size = 1,
1949   .output_type = nir_type_bool1,
1950   .input_sizes = {
1951      5, 5
1952   },
1953   .input_types = {
1954      nir_type_int, nir_type_int
1955   },
1956   .is_conversion = false,
1957   .algebraic_properties =
1958      NIR_OP_IS_2SRC_COMMUTATIVE
1959},
1960{
1961   .name = "bany_inequal8",
1962   .num_inputs = 2,
1963   .output_size = 1,
1964   .output_type = nir_type_bool1,
1965   .input_sizes = {
1966      8, 8
1967   },
1968   .input_types = {
1969      nir_type_int, nir_type_int
1970   },
1971   .is_conversion = false,
1972   .algebraic_properties =
1973      NIR_OP_IS_2SRC_COMMUTATIVE
1974},
1975{
1976   .name = "bcsel",
1977   .num_inputs = 3,
1978   .output_size = 0,
1979   .output_type = nir_type_uint,
1980   .input_sizes = {
1981      0, 0, 0
1982   },
1983   .input_types = {
1984      nir_type_bool1, nir_type_uint, nir_type_uint
1985   },
1986   .is_conversion = false,
1987   .algebraic_properties =
1988      0
1989},
1990{
1991   .name = "bfi",
1992   .num_inputs = 3,
1993   .output_size = 0,
1994   .output_type = nir_type_uint32,
1995   .input_sizes = {
1996      0, 0, 0
1997   },
1998   .input_types = {
1999      nir_type_uint32, nir_type_uint32, nir_type_uint32
2000   },
2001   .is_conversion = false,
2002   .algebraic_properties =
2003      0
2004},
2005{
2006   .name = "bfm",
2007   .num_inputs = 2,
2008   .output_size = 0,
2009   .output_type = nir_type_uint32,
2010   .input_sizes = {
2011      0, 0
2012   },
2013   .input_types = {
2014      nir_type_int32, nir_type_int32
2015   },
2016   .is_conversion = false,
2017   .algebraic_properties =
2018      0
2019},
2020{
2021   .name = "bit_count",
2022   .num_inputs = 1,
2023   .output_size = 0,
2024   .output_type = nir_type_uint32,
2025   .input_sizes = {
2026      0
2027   },
2028   .input_types = {
2029      nir_type_uint
2030   },
2031   .is_conversion = false,
2032   .algebraic_properties =
2033      0
2034},
2035{
2036   .name = "bitfield_insert",
2037   .num_inputs = 4,
2038   .output_size = 0,
2039   .output_type = nir_type_uint32,
2040   .input_sizes = {
2041      0, 0, 0, 0
2042   },
2043   .input_types = {
2044      nir_type_uint32, nir_type_uint32, nir_type_int32, nir_type_int32
2045   },
2046   .is_conversion = false,
2047   .algebraic_properties =
2048      0
2049},
2050{
2051   .name = "bitfield_reverse",
2052   .num_inputs = 1,
2053   .output_size = 0,
2054   .output_type = nir_type_uint32,
2055   .input_sizes = {
2056      0
2057   },
2058   .input_types = {
2059      nir_type_uint32
2060   },
2061   .is_conversion = false,
2062   .algebraic_properties =
2063      0
2064},
2065{
2066   .name = "bitfield_select",
2067   .num_inputs = 3,
2068   .output_size = 0,
2069   .output_type = nir_type_uint,
2070   .input_sizes = {
2071      0, 0, 0
2072   },
2073   .input_types = {
2074      nir_type_uint, nir_type_uint, nir_type_uint
2075   },
2076   .is_conversion = false,
2077   .algebraic_properties =
2078      0
2079},
2080{
2081   .name = "cube_face_coord_amd",
2082   .num_inputs = 1,
2083   .output_size = 2,
2084   .output_type = nir_type_float32,
2085   .input_sizes = {
2086      3
2087   },
2088   .input_types = {
2089      nir_type_float32
2090   },
2091   .is_conversion = false,
2092   .algebraic_properties =
2093      0
2094},
2095{
2096   .name = "cube_face_index_amd",
2097   .num_inputs = 1,
2098   .output_size = 1,
2099   .output_type = nir_type_float32,
2100   .input_sizes = {
2101      3
2102   },
2103   .input_types = {
2104      nir_type_float32
2105   },
2106   .is_conversion = false,
2107   .algebraic_properties =
2108      0
2109},
2110{
2111   .name = "cube_r600",
2112   .num_inputs = 1,
2113   .output_size = 4,
2114   .output_type = nir_type_float32,
2115   .input_sizes = {
2116      3
2117   },
2118   .input_types = {
2119      nir_type_float32
2120   },
2121   .is_conversion = false,
2122   .algebraic_properties =
2123      0
2124},
2125{
2126   .name = "extract_i16",
2127   .num_inputs = 2,
2128   .output_size = 0,
2129   .output_type = nir_type_int,
2130   .input_sizes = {
2131      0, 0
2132   },
2133   .input_types = {
2134      nir_type_int, nir_type_int
2135   },
2136   .is_conversion = false,
2137   .algebraic_properties =
2138      0
2139},
2140{
2141   .name = "extract_i8",
2142   .num_inputs = 2,
2143   .output_size = 0,
2144   .output_type = nir_type_int,
2145   .input_sizes = {
2146      0, 0
2147   },
2148   .input_types = {
2149      nir_type_int, nir_type_int
2150   },
2151   .is_conversion = false,
2152   .algebraic_properties =
2153      0
2154},
2155{
2156   .name = "extract_u16",
2157   .num_inputs = 2,
2158   .output_size = 0,
2159   .output_type = nir_type_uint,
2160   .input_sizes = {
2161      0, 0
2162   },
2163   .input_types = {
2164      nir_type_uint, nir_type_uint
2165   },
2166   .is_conversion = false,
2167   .algebraic_properties =
2168      0
2169},
2170{
2171   .name = "extract_u8",
2172   .num_inputs = 2,
2173   .output_size = 0,
2174   .output_type = nir_type_uint,
2175   .input_sizes = {
2176      0, 0
2177   },
2178   .input_types = {
2179      nir_type_uint, nir_type_uint
2180   },
2181   .is_conversion = false,
2182   .algebraic_properties =
2183      0
2184},
2185{
2186   .name = "f2b1",
2187   .num_inputs = 1,
2188   .output_size = 0,
2189   .output_type = nir_type_bool1,
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 = "f2b16",
2202   .num_inputs = 1,
2203   .output_size = 0,
2204   .output_type = nir_type_bool16,
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 = "f2b32",
2217   .num_inputs = 1,
2218   .output_size = 0,
2219   .output_type = nir_type_bool32,
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 = "f2b8",
2232   .num_inputs = 1,
2233   .output_size = 0,
2234   .output_type = nir_type_bool8,
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 = "f2f16",
2247   .num_inputs = 1,
2248   .output_size = 0,
2249   .output_type = nir_type_float16,
2250   .input_sizes = {
2251      0
2252   },
2253   .input_types = {
2254      nir_type_float
2255   },
2256   .is_conversion = true,
2257   .algebraic_properties =
2258      0
2259},
2260{
2261   .name = "f2f16_rtne",
2262   .num_inputs = 1,
2263   .output_size = 0,
2264   .output_type = nir_type_float16,
2265   .input_sizes = {
2266      0
2267   },
2268   .input_types = {
2269      nir_type_float
2270   },
2271   .is_conversion = true,
2272   .algebraic_properties =
2273      0
2274},
2275{
2276   .name = "f2f16_rtz",
2277   .num_inputs = 1,
2278   .output_size = 0,
2279   .output_type = nir_type_float16,
2280   .input_sizes = {
2281      0
2282   },
2283   .input_types = {
2284      nir_type_float
2285   },
2286   .is_conversion = true,
2287   .algebraic_properties =
2288      0
2289},
2290{
2291   .name = "f2f32",
2292   .num_inputs = 1,
2293   .output_size = 0,
2294   .output_type = nir_type_float32,
2295   .input_sizes = {
2296      0
2297   },
2298   .input_types = {
2299      nir_type_float
2300   },
2301   .is_conversion = true,
2302   .algebraic_properties =
2303      0
2304},
2305{
2306   .name = "f2f64",
2307   .num_inputs = 1,
2308   .output_size = 0,
2309   .output_type = nir_type_float64,
2310   .input_sizes = {
2311      0
2312   },
2313   .input_types = {
2314      nir_type_float
2315   },
2316   .is_conversion = true,
2317   .algebraic_properties =
2318      0
2319},
2320{
2321   .name = "f2fmp",
2322   .num_inputs = 1,
2323   .output_size = 0,
2324   .output_type = nir_type_float16,
2325   .input_sizes = {
2326      0
2327   },
2328   .input_types = {
2329      nir_type_float32
2330   },
2331   .is_conversion = true,
2332   .algebraic_properties =
2333      0
2334},
2335{
2336   .name = "f2i1",
2337   .num_inputs = 1,
2338   .output_size = 0,
2339   .output_type = nir_type_int1,
2340   .input_sizes = {
2341      0
2342   },
2343   .input_types = {
2344      nir_type_float
2345   },
2346   .is_conversion = true,
2347   .algebraic_properties =
2348      0
2349},
2350{
2351   .name = "f2i16",
2352   .num_inputs = 1,
2353   .output_size = 0,
2354   .output_type = nir_type_int16,
2355   .input_sizes = {
2356      0
2357   },
2358   .input_types = {
2359      nir_type_float
2360   },
2361   .is_conversion = true,
2362   .algebraic_properties =
2363      0
2364},
2365{
2366   .name = "f2i32",
2367   .num_inputs = 1,
2368   .output_size = 0,
2369   .output_type = nir_type_int32,
2370   .input_sizes = {
2371      0
2372   },
2373   .input_types = {
2374      nir_type_float
2375   },
2376   .is_conversion = true,
2377   .algebraic_properties =
2378      0
2379},
2380{
2381   .name = "f2i64",
2382   .num_inputs = 1,
2383   .output_size = 0,
2384   .output_type = nir_type_int64,
2385   .input_sizes = {
2386      0
2387   },
2388   .input_types = {
2389      nir_type_float
2390   },
2391   .is_conversion = true,
2392   .algebraic_properties =
2393      0
2394},
2395{
2396   .name = "f2i8",
2397   .num_inputs = 1,
2398   .output_size = 0,
2399   .output_type = nir_type_int8,
2400   .input_sizes = {
2401      0
2402   },
2403   .input_types = {
2404      nir_type_float
2405   },
2406   .is_conversion = true,
2407   .algebraic_properties =
2408      0
2409},
2410{
2411   .name = "f2imp",
2412   .num_inputs = 1,
2413   .output_size = 0,
2414   .output_type = nir_type_int16,
2415   .input_sizes = {
2416      0
2417   },
2418   .input_types = {
2419      nir_type_float32
2420   },
2421   .is_conversion = true,
2422   .algebraic_properties =
2423      0
2424},
2425{
2426   .name = "f2u1",
2427   .num_inputs = 1,
2428   .output_size = 0,
2429   .output_type = nir_type_uint1,
2430   .input_sizes = {
2431      0
2432   },
2433   .input_types = {
2434      nir_type_float
2435   },
2436   .is_conversion = true,
2437   .algebraic_properties =
2438      0
2439},
2440{
2441   .name = "f2u16",
2442   .num_inputs = 1,
2443   .output_size = 0,
2444   .output_type = nir_type_uint16,
2445   .input_sizes = {
2446      0
2447   },
2448   .input_types = {
2449      nir_type_float
2450   },
2451   .is_conversion = true,
2452   .algebraic_properties =
2453      0
2454},
2455{
2456   .name = "f2u32",
2457   .num_inputs = 1,
2458   .output_size = 0,
2459   .output_type = nir_type_uint32,
2460   .input_sizes = {
2461      0
2462   },
2463   .input_types = {
2464      nir_type_float
2465   },
2466   .is_conversion = true,
2467   .algebraic_properties =
2468      0
2469},
2470{
2471   .name = "f2u64",
2472   .num_inputs = 1,
2473   .output_size = 0,
2474   .output_type = nir_type_uint64,
2475   .input_sizes = {
2476      0
2477   },
2478   .input_types = {
2479      nir_type_float
2480   },
2481   .is_conversion = true,
2482   .algebraic_properties =
2483      0
2484},
2485{
2486   .name = "f2u8",
2487   .num_inputs = 1,
2488   .output_size = 0,
2489   .output_type = nir_type_uint8,
2490   .input_sizes = {
2491      0
2492   },
2493   .input_types = {
2494      nir_type_float
2495   },
2496   .is_conversion = true,
2497   .algebraic_properties =
2498      0
2499},
2500{
2501   .name = "f2ump",
2502   .num_inputs = 1,
2503   .output_size = 0,
2504   .output_type = nir_type_uint16,
2505   .input_sizes = {
2506      0
2507   },
2508   .input_types = {
2509      nir_type_float32
2510   },
2511   .is_conversion = true,
2512   .algebraic_properties =
2513      0
2514},
2515{
2516   .name = "fabs",
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 = "fadd",
2532   .num_inputs = 2,
2533   .output_size = 0,
2534   .output_type = nir_type_float,
2535   .input_sizes = {
2536      0, 0
2537   },
2538   .input_types = {
2539      nir_type_float, nir_type_float
2540   },
2541   .is_conversion = false,
2542   .algebraic_properties =
2543      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2544},
2545{
2546   .name = "fall_equal16",
2547   .num_inputs = 2,
2548   .output_size = 1,
2549   .output_type = nir_type_float32,
2550   .input_sizes = {
2551      16, 16
2552   },
2553   .input_types = {
2554      nir_type_float32, nir_type_float32
2555   },
2556   .is_conversion = false,
2557   .algebraic_properties =
2558      NIR_OP_IS_2SRC_COMMUTATIVE
2559},
2560{
2561   .name = "fall_equal2",
2562   .num_inputs = 2,
2563   .output_size = 1,
2564   .output_type = nir_type_float32,
2565   .input_sizes = {
2566      2, 2
2567   },
2568   .input_types = {
2569      nir_type_float32, nir_type_float32
2570   },
2571   .is_conversion = false,
2572   .algebraic_properties =
2573      NIR_OP_IS_2SRC_COMMUTATIVE
2574},
2575{
2576   .name = "fall_equal3",
2577   .num_inputs = 2,
2578   .output_size = 1,
2579   .output_type = nir_type_float32,
2580   .input_sizes = {
2581      3, 3
2582   },
2583   .input_types = {
2584      nir_type_float32, nir_type_float32
2585   },
2586   .is_conversion = false,
2587   .algebraic_properties =
2588      NIR_OP_IS_2SRC_COMMUTATIVE
2589},
2590{
2591   .name = "fall_equal4",
2592   .num_inputs = 2,
2593   .output_size = 1,
2594   .output_type = nir_type_float32,
2595   .input_sizes = {
2596      4, 4
2597   },
2598   .input_types = {
2599      nir_type_float32, nir_type_float32
2600   },
2601   .is_conversion = false,
2602   .algebraic_properties =
2603      NIR_OP_IS_2SRC_COMMUTATIVE
2604},
2605{
2606   .name = "fall_equal5",
2607   .num_inputs = 2,
2608   .output_size = 1,
2609   .output_type = nir_type_float32,
2610   .input_sizes = {
2611      5, 5
2612   },
2613   .input_types = {
2614      nir_type_float32, nir_type_float32
2615   },
2616   .is_conversion = false,
2617   .algebraic_properties =
2618      NIR_OP_IS_2SRC_COMMUTATIVE
2619},
2620{
2621   .name = "fall_equal8",
2622   .num_inputs = 2,
2623   .output_size = 1,
2624   .output_type = nir_type_float32,
2625   .input_sizes = {
2626      8, 8
2627   },
2628   .input_types = {
2629      nir_type_float32, nir_type_float32
2630   },
2631   .is_conversion = false,
2632   .algebraic_properties =
2633      NIR_OP_IS_2SRC_COMMUTATIVE
2634},
2635{
2636   .name = "fany_nequal16",
2637   .num_inputs = 2,
2638   .output_size = 1,
2639   .output_type = nir_type_float32,
2640   .input_sizes = {
2641      16, 16
2642   },
2643   .input_types = {
2644      nir_type_float32, nir_type_float32
2645   },
2646   .is_conversion = false,
2647   .algebraic_properties =
2648      NIR_OP_IS_2SRC_COMMUTATIVE
2649},
2650{
2651   .name = "fany_nequal2",
2652   .num_inputs = 2,
2653   .output_size = 1,
2654   .output_type = nir_type_float32,
2655   .input_sizes = {
2656      2, 2
2657   },
2658   .input_types = {
2659      nir_type_float32, nir_type_float32
2660   },
2661   .is_conversion = false,
2662   .algebraic_properties =
2663      NIR_OP_IS_2SRC_COMMUTATIVE
2664},
2665{
2666   .name = "fany_nequal3",
2667   .num_inputs = 2,
2668   .output_size = 1,
2669   .output_type = nir_type_float32,
2670   .input_sizes = {
2671      3, 3
2672   },
2673   .input_types = {
2674      nir_type_float32, nir_type_float32
2675   },
2676   .is_conversion = false,
2677   .algebraic_properties =
2678      NIR_OP_IS_2SRC_COMMUTATIVE
2679},
2680{
2681   .name = "fany_nequal4",
2682   .num_inputs = 2,
2683   .output_size = 1,
2684   .output_type = nir_type_float32,
2685   .input_sizes = {
2686      4, 4
2687   },
2688   .input_types = {
2689      nir_type_float32, nir_type_float32
2690   },
2691   .is_conversion = false,
2692   .algebraic_properties =
2693      NIR_OP_IS_2SRC_COMMUTATIVE
2694},
2695{
2696   .name = "fany_nequal5",
2697   .num_inputs = 2,
2698   .output_size = 1,
2699   .output_type = nir_type_float32,
2700   .input_sizes = {
2701      5, 5
2702   },
2703   .input_types = {
2704      nir_type_float32, nir_type_float32
2705   },
2706   .is_conversion = false,
2707   .algebraic_properties =
2708      NIR_OP_IS_2SRC_COMMUTATIVE
2709},
2710{
2711   .name = "fany_nequal8",
2712   .num_inputs = 2,
2713   .output_size = 1,
2714   .output_type = nir_type_float32,
2715   .input_sizes = {
2716      8, 8
2717   },
2718   .input_types = {
2719      nir_type_float32, nir_type_float32
2720   },
2721   .is_conversion = false,
2722   .algebraic_properties =
2723      NIR_OP_IS_2SRC_COMMUTATIVE
2724},
2725{
2726   .name = "fceil",
2727   .num_inputs = 1,
2728   .output_size = 0,
2729   .output_type = nir_type_float,
2730   .input_sizes = {
2731      0
2732   },
2733   .input_types = {
2734      nir_type_float
2735   },
2736   .is_conversion = false,
2737   .algebraic_properties =
2738      0
2739},
2740{
2741   .name = "fclamp_pos_mali",
2742   .num_inputs = 1,
2743   .output_size = 0,
2744   .output_type = nir_type_float,
2745   .input_sizes = {
2746      0
2747   },
2748   .input_types = {
2749      nir_type_float
2750   },
2751   .is_conversion = false,
2752   .algebraic_properties =
2753      0
2754},
2755{
2756   .name = "fcos",
2757   .num_inputs = 1,
2758   .output_size = 0,
2759   .output_type = nir_type_float,
2760   .input_sizes = {
2761      0
2762   },
2763   .input_types = {
2764      nir_type_float
2765   },
2766   .is_conversion = false,
2767   .algebraic_properties =
2768      0
2769},
2770{
2771   .name = "fcos_r600",
2772   .num_inputs = 1,
2773   .output_size = 0,
2774   .output_type = nir_type_float32,
2775   .input_sizes = {
2776      0
2777   },
2778   .input_types = {
2779      nir_type_float32
2780   },
2781   .is_conversion = false,
2782   .algebraic_properties =
2783      0
2784},
2785{
2786   .name = "fcsel",
2787   .num_inputs = 3,
2788   .output_size = 0,
2789   .output_type = nir_type_float32,
2790   .input_sizes = {
2791      0, 0, 0
2792   },
2793   .input_types = {
2794      nir_type_float32, nir_type_float32, nir_type_float32
2795   },
2796   .is_conversion = false,
2797   .algebraic_properties =
2798      0
2799},
2800{
2801   .name = "fcsel_ge",
2802   .num_inputs = 3,
2803   .output_size = 0,
2804   .output_type = nir_type_float32,
2805   .input_sizes = {
2806      0, 0, 0
2807   },
2808   .input_types = {
2809      nir_type_float32, nir_type_float32, nir_type_float32
2810   },
2811   .is_conversion = false,
2812   .algebraic_properties =
2813      0
2814},
2815{
2816   .name = "fcsel_gt",
2817   .num_inputs = 3,
2818   .output_size = 0,
2819   .output_type = nir_type_float32,
2820   .input_sizes = {
2821      0, 0, 0
2822   },
2823   .input_types = {
2824      nir_type_float32, nir_type_float32, nir_type_float32
2825   },
2826   .is_conversion = false,
2827   .algebraic_properties =
2828      0
2829},
2830{
2831   .name = "fddx",
2832   .num_inputs = 1,
2833   .output_size = 0,
2834   .output_type = nir_type_float,
2835   .input_sizes = {
2836      0
2837   },
2838   .input_types = {
2839      nir_type_float
2840   },
2841   .is_conversion = false,
2842   .algebraic_properties =
2843      0
2844},
2845{
2846   .name = "fddx_coarse",
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 = "fddx_fine",
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 = "fddx_must_abs_mali",
2877   .num_inputs = 1,
2878   .output_size = 0,
2879   .output_type = nir_type_float,
2880   .input_sizes = {
2881      0
2882   },
2883   .input_types = {
2884      nir_type_float
2885   },
2886   .is_conversion = false,
2887   .algebraic_properties =
2888      0
2889},
2890{
2891   .name = "fddy",
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 = "fddy_coarse",
2907   .num_inputs = 1,
2908   .output_size = 0,
2909   .output_type = nir_type_float,
2910   .input_sizes = {
2911      0
2912   },
2913   .input_types = {
2914      nir_type_float
2915   },
2916   .is_conversion = false,
2917   .algebraic_properties =
2918      0
2919},
2920{
2921   .name = "fddy_fine",
2922   .num_inputs = 1,
2923   .output_size = 0,
2924   .output_type = nir_type_float,
2925   .input_sizes = {
2926      0
2927   },
2928   .input_types = {
2929      nir_type_float
2930   },
2931   .is_conversion = false,
2932   .algebraic_properties =
2933      0
2934},
2935{
2936   .name = "fddy_must_abs_mali",
2937   .num_inputs = 1,
2938   .output_size = 0,
2939   .output_type = nir_type_float,
2940   .input_sizes = {
2941      0
2942   },
2943   .input_types = {
2944      nir_type_float
2945   },
2946   .is_conversion = false,
2947   .algebraic_properties =
2948      0
2949},
2950{
2951   .name = "fdiv",
2952   .num_inputs = 2,
2953   .output_size = 0,
2954   .output_type = nir_type_float,
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 = "fdot16",
2967   .num_inputs = 2,
2968   .output_size = 1,
2969   .output_type = nir_type_float,
2970   .input_sizes = {
2971      16, 16
2972   },
2973   .input_types = {
2974      nir_type_float, nir_type_float
2975   },
2976   .is_conversion = false,
2977   .algebraic_properties =
2978      NIR_OP_IS_2SRC_COMMUTATIVE
2979},
2980{
2981   .name = "fdot16_replicated",
2982   .num_inputs = 2,
2983   .output_size = 4,
2984   .output_type = nir_type_float,
2985   .input_sizes = {
2986      16, 16
2987   },
2988   .input_types = {
2989      nir_type_float, nir_type_float
2990   },
2991   .is_conversion = false,
2992   .algebraic_properties =
2993      NIR_OP_IS_2SRC_COMMUTATIVE
2994},
2995{
2996   .name = "fdot2",
2997   .num_inputs = 2,
2998   .output_size = 1,
2999   .output_type = nir_type_float,
3000   .input_sizes = {
3001      2, 2
3002   },
3003   .input_types = {
3004      nir_type_float, nir_type_float
3005   },
3006   .is_conversion = false,
3007   .algebraic_properties =
3008      NIR_OP_IS_2SRC_COMMUTATIVE
3009},
3010{
3011   .name = "fdot2_replicated",
3012   .num_inputs = 2,
3013   .output_size = 4,
3014   .output_type = nir_type_float,
3015   .input_sizes = {
3016      2, 2
3017   },
3018   .input_types = {
3019      nir_type_float, nir_type_float
3020   },
3021   .is_conversion = false,
3022   .algebraic_properties =
3023      NIR_OP_IS_2SRC_COMMUTATIVE
3024},
3025{
3026   .name = "fdot3",
3027   .num_inputs = 2,
3028   .output_size = 1,
3029   .output_type = nir_type_float,
3030   .input_sizes = {
3031      3, 3
3032   },
3033   .input_types = {
3034      nir_type_float, nir_type_float
3035   },
3036   .is_conversion = false,
3037   .algebraic_properties =
3038      NIR_OP_IS_2SRC_COMMUTATIVE
3039},
3040{
3041   .name = "fdot3_replicated",
3042   .num_inputs = 2,
3043   .output_size = 4,
3044   .output_type = nir_type_float,
3045   .input_sizes = {
3046      3, 3
3047   },
3048   .input_types = {
3049      nir_type_float, nir_type_float
3050   },
3051   .is_conversion = false,
3052   .algebraic_properties =
3053      NIR_OP_IS_2SRC_COMMUTATIVE
3054},
3055{
3056   .name = "fdot4",
3057   .num_inputs = 2,
3058   .output_size = 1,
3059   .output_type = nir_type_float,
3060   .input_sizes = {
3061      4, 4
3062   },
3063   .input_types = {
3064      nir_type_float, nir_type_float
3065   },
3066   .is_conversion = false,
3067   .algebraic_properties =
3068      NIR_OP_IS_2SRC_COMMUTATIVE
3069},
3070{
3071   .name = "fdot4_replicated",
3072   .num_inputs = 2,
3073   .output_size = 4,
3074   .output_type = nir_type_float,
3075   .input_sizes = {
3076      4, 4
3077   },
3078   .input_types = {
3079      nir_type_float, nir_type_float
3080   },
3081   .is_conversion = false,
3082   .algebraic_properties =
3083      NIR_OP_IS_2SRC_COMMUTATIVE
3084},
3085{
3086   .name = "fdot5",
3087   .num_inputs = 2,
3088   .output_size = 1,
3089   .output_type = nir_type_float,
3090   .input_sizes = {
3091      5, 5
3092   },
3093   .input_types = {
3094      nir_type_float, nir_type_float
3095   },
3096   .is_conversion = false,
3097   .algebraic_properties =
3098      NIR_OP_IS_2SRC_COMMUTATIVE
3099},
3100{
3101   .name = "fdot5_replicated",
3102   .num_inputs = 2,
3103   .output_size = 4,
3104   .output_type = nir_type_float,
3105   .input_sizes = {
3106      5, 5
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
3114},
3115{
3116   .name = "fdot8",
3117   .num_inputs = 2,
3118   .output_size = 1,
3119   .output_type = nir_type_float,
3120   .input_sizes = {
3121      8, 8
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
3129},
3130{
3131   .name = "fdot8_replicated",
3132   .num_inputs = 2,
3133   .output_size = 4,
3134   .output_type = nir_type_float,
3135   .input_sizes = {
3136      8, 8
3137   },
3138   .input_types = {
3139      nir_type_float, nir_type_float
3140   },
3141   .is_conversion = false,
3142   .algebraic_properties =
3143      NIR_OP_IS_2SRC_COMMUTATIVE
3144},
3145{
3146   .name = "fdph",
3147   .num_inputs = 2,
3148   .output_size = 1,
3149   .output_type = nir_type_float,
3150   .input_sizes = {
3151      3, 4
3152   },
3153   .input_types = {
3154      nir_type_float, nir_type_float
3155   },
3156   .is_conversion = false,
3157   .algebraic_properties =
3158      0
3159},
3160{
3161   .name = "fdph_replicated",
3162   .num_inputs = 2,
3163   .output_size = 4,
3164   .output_type = nir_type_float,
3165   .input_sizes = {
3166      3, 4
3167   },
3168   .input_types = {
3169      nir_type_float, nir_type_float
3170   },
3171   .is_conversion = false,
3172   .algebraic_properties =
3173      0
3174},
3175{
3176   .name = "feq",
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 = "feq16",
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 = "feq32",
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 = "feq8",
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 = "fexp2",
3237   .num_inputs = 1,
3238   .output_size = 0,
3239   .output_type = nir_type_float,
3240   .input_sizes = {
3241      0
3242   },
3243   .input_types = {
3244      nir_type_float
3245   },
3246   .is_conversion = false,
3247   .algebraic_properties =
3248      0
3249},
3250{
3251   .name = "ffloor",
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 = "ffma",
3267   .num_inputs = 3,
3268   .output_size = 0,
3269   .output_type = nir_type_float,
3270   .input_sizes = {
3271      0, 0, 0
3272   },
3273   .input_types = {
3274      nir_type_float, nir_type_float, nir_type_float
3275   },
3276   .is_conversion = false,
3277   .algebraic_properties =
3278      NIR_OP_IS_2SRC_COMMUTATIVE
3279},
3280{
3281   .name = "ffract",
3282   .num_inputs = 1,
3283   .output_size = 0,
3284   .output_type = nir_type_float,
3285   .input_sizes = {
3286      0
3287   },
3288   .input_types = {
3289      nir_type_float
3290   },
3291   .is_conversion = false,
3292   .algebraic_properties =
3293      0
3294},
3295{
3296   .name = "fge",
3297   .num_inputs = 2,
3298   .output_size = 0,
3299   .output_type = nir_type_bool1,
3300   .input_sizes = {
3301      0, 0
3302   },
3303   .input_types = {
3304      nir_type_float, nir_type_float
3305   },
3306   .is_conversion = false,
3307   .algebraic_properties =
3308      0
3309},
3310{
3311   .name = "fge16",
3312   .num_inputs = 2,
3313   .output_size = 0,
3314   .output_type = nir_type_bool16,
3315   .input_sizes = {
3316      0, 0
3317   },
3318   .input_types = {
3319      nir_type_float, nir_type_float
3320   },
3321   .is_conversion = false,
3322   .algebraic_properties =
3323      0
3324},
3325{
3326   .name = "fge32",
3327   .num_inputs = 2,
3328   .output_size = 0,
3329   .output_type = nir_type_bool32,
3330   .input_sizes = {
3331      0, 0
3332   },
3333   .input_types = {
3334      nir_type_float, nir_type_float
3335   },
3336   .is_conversion = false,
3337   .algebraic_properties =
3338      0
3339},
3340{
3341   .name = "fge8",
3342   .num_inputs = 2,
3343   .output_size = 0,
3344   .output_type = nir_type_bool8,
3345   .input_sizes = {
3346      0, 0
3347   },
3348   .input_types = {
3349      nir_type_float, nir_type_float
3350   },
3351   .is_conversion = false,
3352   .algebraic_properties =
3353      0
3354},
3355{
3356   .name = "find_lsb",
3357   .num_inputs = 1,
3358   .output_size = 0,
3359   .output_type = nir_type_int32,
3360   .input_sizes = {
3361      0
3362   },
3363   .input_types = {
3364      nir_type_int
3365   },
3366   .is_conversion = false,
3367   .algebraic_properties =
3368      0
3369},
3370{
3371   .name = "fisfinite",
3372   .num_inputs = 1,
3373   .output_size = 0,
3374   .output_type = nir_type_bool1,
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 = "fisfinite32",
3387   .num_inputs = 1,
3388   .output_size = 0,
3389   .output_type = nir_type_int32,
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 = "fisnormal",
3402   .num_inputs = 1,
3403   .output_size = 0,
3404   .output_type = nir_type_bool1,
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 = "flog2",
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 = "flrp",
3432   .num_inputs = 3,
3433   .output_size = 0,
3434   .output_type = nir_type_float,
3435   .input_sizes = {
3436      0, 0, 0
3437   },
3438   .input_types = {
3439      nir_type_float, nir_type_float, nir_type_float
3440   },
3441   .is_conversion = false,
3442   .algebraic_properties =
3443      0
3444},
3445{
3446   .name = "flt",
3447   .num_inputs = 2,
3448   .output_size = 0,
3449   .output_type = nir_type_bool1,
3450   .input_sizes = {
3451      0, 0
3452   },
3453   .input_types = {
3454      nir_type_float, nir_type_float
3455   },
3456   .is_conversion = false,
3457   .algebraic_properties =
3458      0
3459},
3460{
3461   .name = "flt16",
3462   .num_inputs = 2,
3463   .output_size = 0,
3464   .output_type = nir_type_bool16,
3465   .input_sizes = {
3466      0, 0
3467   },
3468   .input_types = {
3469      nir_type_float, nir_type_float
3470   },
3471   .is_conversion = false,
3472   .algebraic_properties =
3473      0
3474},
3475{
3476   .name = "flt32",
3477   .num_inputs = 2,
3478   .output_size = 0,
3479   .output_type = nir_type_bool32,
3480   .input_sizes = {
3481      0, 0
3482   },
3483   .input_types = {
3484      nir_type_float, nir_type_float
3485   },
3486   .is_conversion = false,
3487   .algebraic_properties =
3488      0
3489},
3490{
3491   .name = "flt8",
3492   .num_inputs = 2,
3493   .output_size = 0,
3494   .output_type = nir_type_bool8,
3495   .input_sizes = {
3496      0, 0
3497   },
3498   .input_types = {
3499      nir_type_float, nir_type_float
3500   },
3501   .is_conversion = false,
3502   .algebraic_properties =
3503      0
3504},
3505{
3506   .name = "fmax",
3507   .num_inputs = 2,
3508   .output_size = 0,
3509   .output_type = nir_type_float,
3510   .input_sizes = {
3511      0, 0
3512   },
3513   .input_types = {
3514      nir_type_float, nir_type_float
3515   },
3516   .is_conversion = false,
3517   .algebraic_properties =
3518      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3519},
3520{
3521   .name = "fmin",
3522   .num_inputs = 2,
3523   .output_size = 0,
3524   .output_type = nir_type_float,
3525   .input_sizes = {
3526      0, 0
3527   },
3528   .input_types = {
3529      nir_type_float, nir_type_float
3530   },
3531   .is_conversion = false,
3532   .algebraic_properties =
3533      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3534},
3535{
3536   .name = "fmod",
3537   .num_inputs = 2,
3538   .output_size = 0,
3539   .output_type = nir_type_float,
3540   .input_sizes = {
3541      0, 0
3542   },
3543   .input_types = {
3544      nir_type_float, nir_type_float
3545   },
3546   .is_conversion = false,
3547   .algebraic_properties =
3548      0
3549},
3550{
3551   .name = "fmul",
3552   .num_inputs = 2,
3553   .output_size = 0,
3554   .output_type = nir_type_float,
3555   .input_sizes = {
3556      0, 0
3557   },
3558   .input_types = {
3559      nir_type_float, nir_type_float
3560   },
3561   .is_conversion = false,
3562   .algebraic_properties =
3563      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3564},
3565{
3566   .name = "fneg",
3567   .num_inputs = 1,
3568   .output_size = 0,
3569   .output_type = nir_type_float,
3570   .input_sizes = {
3571      0
3572   },
3573   .input_types = {
3574      nir_type_float
3575   },
3576   .is_conversion = false,
3577   .algebraic_properties =
3578      0
3579},
3580{
3581   .name = "fneu",
3582   .num_inputs = 2,
3583   .output_size = 0,
3584   .output_type = nir_type_bool1,
3585   .input_sizes = {
3586      0, 0
3587   },
3588   .input_types = {
3589      nir_type_float, nir_type_float
3590   },
3591   .is_conversion = false,
3592   .algebraic_properties =
3593      NIR_OP_IS_2SRC_COMMUTATIVE
3594},
3595{
3596   .name = "fneu16",
3597   .num_inputs = 2,
3598   .output_size = 0,
3599   .output_type = nir_type_bool16,
3600   .input_sizes = {
3601      0, 0
3602   },
3603   .input_types = {
3604      nir_type_float, nir_type_float
3605   },
3606   .is_conversion = false,
3607   .algebraic_properties =
3608      NIR_OP_IS_2SRC_COMMUTATIVE
3609},
3610{
3611   .name = "fneu32",
3612   .num_inputs = 2,
3613   .output_size = 0,
3614   .output_type = nir_type_bool32,
3615   .input_sizes = {
3616      0, 0
3617   },
3618   .input_types = {
3619      nir_type_float, nir_type_float
3620   },
3621   .is_conversion = false,
3622   .algebraic_properties =
3623      NIR_OP_IS_2SRC_COMMUTATIVE
3624},
3625{
3626   .name = "fneu8",
3627   .num_inputs = 2,
3628   .output_size = 0,
3629   .output_type = nir_type_bool8,
3630   .input_sizes = {
3631      0, 0
3632   },
3633   .input_types = {
3634      nir_type_float, nir_type_float
3635   },
3636   .is_conversion = false,
3637   .algebraic_properties =
3638      NIR_OP_IS_2SRC_COMMUTATIVE
3639},
3640{
3641   .name = "fpow",
3642   .num_inputs = 2,
3643   .output_size = 0,
3644   .output_type = nir_type_float,
3645   .input_sizes = {
3646      0, 0
3647   },
3648   .input_types = {
3649      nir_type_float, nir_type_float
3650   },
3651   .is_conversion = false,
3652   .algebraic_properties =
3653      0
3654},
3655{
3656   .name = "fquantize2f16",
3657   .num_inputs = 1,
3658   .output_size = 0,
3659   .output_type = nir_type_float,
3660   .input_sizes = {
3661      0
3662   },
3663   .input_types = {
3664      nir_type_float
3665   },
3666   .is_conversion = false,
3667   .algebraic_properties =
3668      0
3669},
3670{
3671   .name = "frcp",
3672   .num_inputs = 1,
3673   .output_size = 0,
3674   .output_type = nir_type_float,
3675   .input_sizes = {
3676      0
3677   },
3678   .input_types = {
3679      nir_type_float
3680   },
3681   .is_conversion = false,
3682   .algebraic_properties =
3683      0
3684},
3685{
3686   .name = "frem",
3687   .num_inputs = 2,
3688   .output_size = 0,
3689   .output_type = nir_type_float,
3690   .input_sizes = {
3691      0, 0
3692   },
3693   .input_types = {
3694      nir_type_float, nir_type_float
3695   },
3696   .is_conversion = false,
3697   .algebraic_properties =
3698      0
3699},
3700{
3701   .name = "frexp_exp",
3702   .num_inputs = 1,
3703   .output_size = 0,
3704   .output_type = nir_type_int32,
3705   .input_sizes = {
3706      0
3707   },
3708   .input_types = {
3709      nir_type_float
3710   },
3711   .is_conversion = false,
3712   .algebraic_properties =
3713      0
3714},
3715{
3716   .name = "frexp_sig",
3717   .num_inputs = 1,
3718   .output_size = 0,
3719   .output_type = nir_type_float,
3720   .input_sizes = {
3721      0
3722   },
3723   .input_types = {
3724      nir_type_float
3725   },
3726   .is_conversion = false,
3727   .algebraic_properties =
3728      0
3729},
3730{
3731   .name = "fround_even",
3732   .num_inputs = 1,
3733   .output_size = 0,
3734   .output_type = nir_type_float,
3735   .input_sizes = {
3736      0
3737   },
3738   .input_types = {
3739      nir_type_float
3740   },
3741   .is_conversion = false,
3742   .algebraic_properties =
3743      0
3744},
3745{
3746   .name = "frsq",
3747   .num_inputs = 1,
3748   .output_size = 0,
3749   .output_type = nir_type_float,
3750   .input_sizes = {
3751      0
3752   },
3753   .input_types = {
3754      nir_type_float
3755   },
3756   .is_conversion = false,
3757   .algebraic_properties =
3758      0
3759},
3760{
3761   .name = "fsat",
3762   .num_inputs = 1,
3763   .output_size = 0,
3764   .output_type = nir_type_float,
3765   .input_sizes = {
3766      0
3767   },
3768   .input_types = {
3769      nir_type_float
3770   },
3771   .is_conversion = false,
3772   .algebraic_properties =
3773      0
3774},
3775{
3776   .name = "fsat_signed_mali",
3777   .num_inputs = 1,
3778   .output_size = 0,
3779   .output_type = nir_type_float,
3780   .input_sizes = {
3781      0
3782   },
3783   .input_types = {
3784      nir_type_float
3785   },
3786   .is_conversion = false,
3787   .algebraic_properties =
3788      0
3789},
3790{
3791   .name = "fsign",
3792   .num_inputs = 1,
3793   .output_size = 0,
3794   .output_type = nir_type_float,
3795   .input_sizes = {
3796      0
3797   },
3798   .input_types = {
3799      nir_type_float
3800   },
3801   .is_conversion = false,
3802   .algebraic_properties =
3803      0
3804},
3805{
3806   .name = "fsin",
3807   .num_inputs = 1,
3808   .output_size = 0,
3809   .output_type = nir_type_float,
3810   .input_sizes = {
3811      0
3812   },
3813   .input_types = {
3814      nir_type_float
3815   },
3816   .is_conversion = false,
3817   .algebraic_properties =
3818      0
3819},
3820{
3821   .name = "fsin_agx",
3822   .num_inputs = 1,
3823   .output_size = 0,
3824   .output_type = nir_type_float,
3825   .input_sizes = {
3826      0
3827   },
3828   .input_types = {
3829      nir_type_float
3830   },
3831   .is_conversion = false,
3832   .algebraic_properties =
3833      0
3834},
3835{
3836   .name = "fsin_r600",
3837   .num_inputs = 1,
3838   .output_size = 0,
3839   .output_type = nir_type_float32,
3840   .input_sizes = {
3841      0
3842   },
3843   .input_types = {
3844      nir_type_float32
3845   },
3846   .is_conversion = false,
3847   .algebraic_properties =
3848      0
3849},
3850{
3851   .name = "fsqrt",
3852   .num_inputs = 1,
3853   .output_size = 0,
3854   .output_type = nir_type_float,
3855   .input_sizes = {
3856      0
3857   },
3858   .input_types = {
3859      nir_type_float
3860   },
3861   .is_conversion = false,
3862   .algebraic_properties =
3863      0
3864},
3865{
3866   .name = "fsub",
3867   .num_inputs = 2,
3868   .output_size = 0,
3869   .output_type = nir_type_float,
3870   .input_sizes = {
3871      0, 0
3872   },
3873   .input_types = {
3874      nir_type_float, nir_type_float
3875   },
3876   .is_conversion = false,
3877   .algebraic_properties =
3878      0
3879},
3880{
3881   .name = "fsum2",
3882   .num_inputs = 1,
3883   .output_size = 1,
3884   .output_type = nir_type_float,
3885   .input_sizes = {
3886      2
3887   },
3888   .input_types = {
3889      nir_type_float
3890   },
3891   .is_conversion = false,
3892   .algebraic_properties =
3893      0
3894},
3895{
3896   .name = "fsum3",
3897   .num_inputs = 1,
3898   .output_size = 1,
3899   .output_type = nir_type_float,
3900   .input_sizes = {
3901      3
3902   },
3903   .input_types = {
3904      nir_type_float
3905   },
3906   .is_conversion = false,
3907   .algebraic_properties =
3908      0
3909},
3910{
3911   .name = "fsum4",
3912   .num_inputs = 1,
3913   .output_size = 1,
3914   .output_type = nir_type_float,
3915   .input_sizes = {
3916      4
3917   },
3918   .input_types = {
3919      nir_type_float
3920   },
3921   .is_conversion = false,
3922   .algebraic_properties =
3923      0
3924},
3925{
3926   .name = "ftrunc",
3927   .num_inputs = 1,
3928   .output_size = 0,
3929   .output_type = nir_type_float,
3930   .input_sizes = {
3931      0
3932   },
3933   .input_types = {
3934      nir_type_float
3935   },
3936   .is_conversion = false,
3937   .algebraic_properties =
3938      0
3939},
3940{
3941   .name = "i2b1",
3942   .num_inputs = 1,
3943   .output_size = 0,
3944   .output_type = nir_type_bool1,
3945   .input_sizes = {
3946      0
3947   },
3948   .input_types = {
3949      nir_type_int
3950   },
3951   .is_conversion = true,
3952   .algebraic_properties =
3953      0
3954},
3955{
3956   .name = "i2b16",
3957   .num_inputs = 1,
3958   .output_size = 0,
3959   .output_type = nir_type_bool16,
3960   .input_sizes = {
3961      0
3962   },
3963   .input_types = {
3964      nir_type_int
3965   },
3966   .is_conversion = true,
3967   .algebraic_properties =
3968      0
3969},
3970{
3971   .name = "i2b32",
3972   .num_inputs = 1,
3973   .output_size = 0,
3974   .output_type = nir_type_bool32,
3975   .input_sizes = {
3976      0
3977   },
3978   .input_types = {
3979      nir_type_int
3980   },
3981   .is_conversion = true,
3982   .algebraic_properties =
3983      0
3984},
3985{
3986   .name = "i2b8",
3987   .num_inputs = 1,
3988   .output_size = 0,
3989   .output_type = nir_type_bool8,
3990   .input_sizes = {
3991      0
3992   },
3993   .input_types = {
3994      nir_type_int
3995   },
3996   .is_conversion = true,
3997   .algebraic_properties =
3998      0
3999},
4000{
4001   .name = "i2f16",
4002   .num_inputs = 1,
4003   .output_size = 0,
4004   .output_type = nir_type_float16,
4005   .input_sizes = {
4006      0
4007   },
4008   .input_types = {
4009      nir_type_int
4010   },
4011   .is_conversion = true,
4012   .algebraic_properties =
4013      0
4014},
4015{
4016   .name = "i2f32",
4017   .num_inputs = 1,
4018   .output_size = 0,
4019   .output_type = nir_type_float32,
4020   .input_sizes = {
4021      0
4022   },
4023   .input_types = {
4024      nir_type_int
4025   },
4026   .is_conversion = true,
4027   .algebraic_properties =
4028      0
4029},
4030{
4031   .name = "i2f64",
4032   .num_inputs = 1,
4033   .output_size = 0,
4034   .output_type = nir_type_float64,
4035   .input_sizes = {
4036      0
4037   },
4038   .input_types = {
4039      nir_type_int
4040   },
4041   .is_conversion = true,
4042   .algebraic_properties =
4043      0
4044},
4045{
4046   .name = "i2fmp",
4047   .num_inputs = 1,
4048   .output_size = 0,
4049   .output_type = nir_type_float16,
4050   .input_sizes = {
4051      0
4052   },
4053   .input_types = {
4054      nir_type_int32
4055   },
4056   .is_conversion = true,
4057   .algebraic_properties =
4058      0
4059},
4060{
4061   .name = "i2i1",
4062   .num_inputs = 1,
4063   .output_size = 0,
4064   .output_type = nir_type_int1,
4065   .input_sizes = {
4066      0
4067   },
4068   .input_types = {
4069      nir_type_int
4070   },
4071   .is_conversion = true,
4072   .algebraic_properties =
4073      0
4074},
4075{
4076   .name = "i2i16",
4077   .num_inputs = 1,
4078   .output_size = 0,
4079   .output_type = nir_type_int16,
4080   .input_sizes = {
4081      0
4082   },
4083   .input_types = {
4084      nir_type_int
4085   },
4086   .is_conversion = true,
4087   .algebraic_properties =
4088      0
4089},
4090{
4091   .name = "i2i32",
4092   .num_inputs = 1,
4093   .output_size = 0,
4094   .output_type = nir_type_int32,
4095   .input_sizes = {
4096      0
4097   },
4098   .input_types = {
4099      nir_type_int
4100   },
4101   .is_conversion = true,
4102   .algebraic_properties =
4103      0
4104},
4105{
4106   .name = "i2i64",
4107   .num_inputs = 1,
4108   .output_size = 0,
4109   .output_type = nir_type_int64,
4110   .input_sizes = {
4111      0
4112   },
4113   .input_types = {
4114      nir_type_int
4115   },
4116   .is_conversion = true,
4117   .algebraic_properties =
4118      0
4119},
4120{
4121   .name = "i2i8",
4122   .num_inputs = 1,
4123   .output_size = 0,
4124   .output_type = nir_type_int8,
4125   .input_sizes = {
4126      0
4127   },
4128   .input_types = {
4129      nir_type_int
4130   },
4131   .is_conversion = true,
4132   .algebraic_properties =
4133      0
4134},
4135{
4136   .name = "i2imp",
4137   .num_inputs = 1,
4138   .output_size = 0,
4139   .output_type = nir_type_int16,
4140   .input_sizes = {
4141      0
4142   },
4143   .input_types = {
4144      nir_type_int32
4145   },
4146   .is_conversion = true,
4147   .algebraic_properties =
4148      0
4149},
4150{
4151   .name = "i32csel_ge",
4152   .num_inputs = 3,
4153   .output_size = 0,
4154   .output_type = nir_type_int32,
4155   .input_sizes = {
4156      0, 0, 0
4157   },
4158   .input_types = {
4159      nir_type_int32, nir_type_int32, nir_type_int32
4160   },
4161   .is_conversion = false,
4162   .algebraic_properties =
4163      0
4164},
4165{
4166   .name = "i32csel_gt",
4167   .num_inputs = 3,
4168   .output_size = 0,
4169   .output_type = nir_type_int32,
4170   .input_sizes = {
4171      0, 0, 0
4172   },
4173   .input_types = {
4174      nir_type_int32, nir_type_int32, nir_type_int32
4175   },
4176   .is_conversion = false,
4177   .algebraic_properties =
4178      0
4179},
4180{
4181   .name = "iabs",
4182   .num_inputs = 1,
4183   .output_size = 0,
4184   .output_type = nir_type_int,
4185   .input_sizes = {
4186      0
4187   },
4188   .input_types = {
4189      nir_type_int
4190   },
4191   .is_conversion = false,
4192   .algebraic_properties =
4193      0
4194},
4195{
4196   .name = "iadd",
4197   .num_inputs = 2,
4198   .output_size = 0,
4199   .output_type = nir_type_int,
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 | NIR_OP_IS_ASSOCIATIVE
4209},
4210{
4211   .name = "iadd3",
4212   .num_inputs = 3,
4213   .output_size = 0,
4214   .output_type = nir_type_int,
4215   .input_sizes = {
4216      0, 0, 0
4217   },
4218   .input_types = {
4219      nir_type_int, nir_type_int, nir_type_int
4220   },
4221   .is_conversion = false,
4222   .algebraic_properties =
4223      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4224},
4225{
4226   .name = "iadd_sat",
4227   .num_inputs = 2,
4228   .output_size = 0,
4229   .output_type = nir_type_int,
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 = "iand",
4242   .num_inputs = 2,
4243   .output_size = 0,
4244   .output_type = nir_type_uint,
4245   .input_sizes = {
4246      0, 0
4247   },
4248   .input_types = {
4249      nir_type_uint, nir_type_uint
4250   },
4251   .is_conversion = false,
4252   .algebraic_properties =
4253      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4254},
4255{
4256   .name = "ibfe",
4257   .num_inputs = 3,
4258   .output_size = 0,
4259   .output_type = nir_type_int32,
4260   .input_sizes = {
4261      0, 0, 0
4262   },
4263   .input_types = {
4264      nir_type_int32, nir_type_uint32, nir_type_uint32
4265   },
4266   .is_conversion = false,
4267   .algebraic_properties =
4268      0
4269},
4270{
4271   .name = "ibitfield_extract",
4272   .num_inputs = 3,
4273   .output_size = 0,
4274   .output_type = nir_type_int32,
4275   .input_sizes = {
4276      0, 0, 0
4277   },
4278   .input_types = {
4279      nir_type_int32, nir_type_int32, nir_type_int32
4280   },
4281   .is_conversion = false,
4282   .algebraic_properties =
4283      0
4284},
4285{
4286   .name = "idiv",
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 = "ieq",
4302   .num_inputs = 2,
4303   .output_size = 0,
4304   .output_type = nir_type_bool1,
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 = "ieq16",
4317   .num_inputs = 2,
4318   .output_size = 0,
4319   .output_type = nir_type_bool16,
4320   .input_sizes = {
4321      0, 0
4322   },
4323   .input_types = {
4324      nir_type_int, nir_type_int
4325   },
4326   .is_conversion = false,
4327   .algebraic_properties =
4328      NIR_OP_IS_2SRC_COMMUTATIVE
4329},
4330{
4331   .name = "ieq32",
4332   .num_inputs = 2,
4333   .output_size = 0,
4334   .output_type = nir_type_bool32,
4335   .input_sizes = {
4336      0, 0
4337   },
4338   .input_types = {
4339      nir_type_int, nir_type_int
4340   },
4341   .is_conversion = false,
4342   .algebraic_properties =
4343      NIR_OP_IS_2SRC_COMMUTATIVE
4344},
4345{
4346   .name = "ieq8",
4347   .num_inputs = 2,
4348   .output_size = 0,
4349   .output_type = nir_type_bool8,
4350   .input_sizes = {
4351      0, 0
4352   },
4353   .input_types = {
4354      nir_type_int, nir_type_int
4355   },
4356   .is_conversion = false,
4357   .algebraic_properties =
4358      NIR_OP_IS_2SRC_COMMUTATIVE
4359},
4360{
4361   .name = "ifind_msb",
4362   .num_inputs = 1,
4363   .output_size = 0,
4364   .output_type = nir_type_int32,
4365   .input_sizes = {
4366      0
4367   },
4368   .input_types = {
4369      nir_type_int32
4370   },
4371   .is_conversion = false,
4372   .algebraic_properties =
4373      0
4374},
4375{
4376   .name = "ifind_msb_rev",
4377   .num_inputs = 1,
4378   .output_size = 0,
4379   .output_type = nir_type_int32,
4380   .input_sizes = {
4381      0
4382   },
4383   .input_types = {
4384      nir_type_int
4385   },
4386   .is_conversion = false,
4387   .algebraic_properties =
4388      0
4389},
4390{
4391   .name = "ige",
4392   .num_inputs = 2,
4393   .output_size = 0,
4394   .output_type = nir_type_bool1,
4395   .input_sizes = {
4396      0, 0
4397   },
4398   .input_types = {
4399      nir_type_int, nir_type_int
4400   },
4401   .is_conversion = false,
4402   .algebraic_properties =
4403      0
4404},
4405{
4406   .name = "ige16",
4407   .num_inputs = 2,
4408   .output_size = 0,
4409   .output_type = nir_type_bool16,
4410   .input_sizes = {
4411      0, 0
4412   },
4413   .input_types = {
4414      nir_type_int, nir_type_int
4415   },
4416   .is_conversion = false,
4417   .algebraic_properties =
4418      0
4419},
4420{
4421   .name = "ige32",
4422   .num_inputs = 2,
4423   .output_size = 0,
4424   .output_type = nir_type_bool32,
4425   .input_sizes = {
4426      0, 0
4427   },
4428   .input_types = {
4429      nir_type_int, nir_type_int
4430   },
4431   .is_conversion = false,
4432   .algebraic_properties =
4433      0
4434},
4435{
4436   .name = "ige8",
4437   .num_inputs = 2,
4438   .output_size = 0,
4439   .output_type = nir_type_bool8,
4440   .input_sizes = {
4441      0, 0
4442   },
4443   .input_types = {
4444      nir_type_int, nir_type_int
4445   },
4446   .is_conversion = false,
4447   .algebraic_properties =
4448      0
4449},
4450{
4451   .name = "ihadd",
4452   .num_inputs = 2,
4453   .output_size = 0,
4454   .output_type = nir_type_int,
4455   .input_sizes = {
4456      0, 0
4457   },
4458   .input_types = {
4459      nir_type_int, nir_type_int
4460   },
4461   .is_conversion = false,
4462   .algebraic_properties =
4463      NIR_OP_IS_2SRC_COMMUTATIVE
4464},
4465{
4466   .name = "ilt",
4467   .num_inputs = 2,
4468   .output_size = 0,
4469   .output_type = nir_type_bool1,
4470   .input_sizes = {
4471      0, 0
4472   },
4473   .input_types = {
4474      nir_type_int, nir_type_int
4475   },
4476   .is_conversion = false,
4477   .algebraic_properties =
4478      0
4479},
4480{
4481   .name = "ilt16",
4482   .num_inputs = 2,
4483   .output_size = 0,
4484   .output_type = nir_type_bool16,
4485   .input_sizes = {
4486      0, 0
4487   },
4488   .input_types = {
4489      nir_type_int, nir_type_int
4490   },
4491   .is_conversion = false,
4492   .algebraic_properties =
4493      0
4494},
4495{
4496   .name = "ilt32",
4497   .num_inputs = 2,
4498   .output_size = 0,
4499   .output_type = nir_type_bool32,
4500   .input_sizes = {
4501      0, 0
4502   },
4503   .input_types = {
4504      nir_type_int, nir_type_int
4505   },
4506   .is_conversion = false,
4507   .algebraic_properties =
4508      0
4509},
4510{
4511   .name = "ilt8",
4512   .num_inputs = 2,
4513   .output_size = 0,
4514   .output_type = nir_type_bool8,
4515   .input_sizes = {
4516      0, 0
4517   },
4518   .input_types = {
4519      nir_type_int, nir_type_int
4520   },
4521   .is_conversion = false,
4522   .algebraic_properties =
4523      0
4524},
4525{
4526   .name = "imad24_ir3",
4527   .num_inputs = 3,
4528   .output_size = 0,
4529   .output_type = nir_type_int32,
4530   .input_sizes = {
4531      0, 0, 0
4532   },
4533   .input_types = {
4534      nir_type_int32, nir_type_int32, nir_type_int32
4535   },
4536   .is_conversion = false,
4537   .algebraic_properties =
4538      NIR_OP_IS_2SRC_COMMUTATIVE
4539},
4540{
4541   .name = "imadsh_mix16",
4542   .num_inputs = 3,
4543   .output_size = 0,
4544   .output_type = nir_type_int32,
4545   .input_sizes = {
4546      0, 0, 0
4547   },
4548   .input_types = {
4549      nir_type_int32, nir_type_int32, nir_type_int32
4550   },
4551   .is_conversion = false,
4552   .algebraic_properties =
4553      0
4554},
4555{
4556   .name = "imax",
4557   .num_inputs = 2,
4558   .output_size = 0,
4559   .output_type = nir_type_int,
4560   .input_sizes = {
4561      0, 0
4562   },
4563   .input_types = {
4564      nir_type_int, nir_type_int
4565   },
4566   .is_conversion = false,
4567   .algebraic_properties =
4568      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4569},
4570{
4571   .name = "imin",
4572   .num_inputs = 2,
4573   .output_size = 0,
4574   .output_type = nir_type_int,
4575   .input_sizes = {
4576      0, 0
4577   },
4578   .input_types = {
4579      nir_type_int, nir_type_int
4580   },
4581   .is_conversion = false,
4582   .algebraic_properties =
4583      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4584},
4585{
4586   .name = "imod",
4587   .num_inputs = 2,
4588   .output_size = 0,
4589   .output_type = nir_type_int,
4590   .input_sizes = {
4591      0, 0
4592   },
4593   .input_types = {
4594      nir_type_int, nir_type_int
4595   },
4596   .is_conversion = false,
4597   .algebraic_properties =
4598      0
4599},
4600{
4601   .name = "imul",
4602   .num_inputs = 2,
4603   .output_size = 0,
4604   .output_type = nir_type_int,
4605   .input_sizes = {
4606      0, 0
4607   },
4608   .input_types = {
4609      nir_type_int, nir_type_int
4610   },
4611   .is_conversion = false,
4612   .algebraic_properties =
4613      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4614},
4615{
4616   .name = "imul24",
4617   .num_inputs = 2,
4618   .output_size = 0,
4619   .output_type = nir_type_int32,
4620   .input_sizes = {
4621      0, 0
4622   },
4623   .input_types = {
4624      nir_type_int32, nir_type_int32
4625   },
4626   .is_conversion = false,
4627   .algebraic_properties =
4628      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4629},
4630{
4631   .name = "imul24_relaxed",
4632   .num_inputs = 2,
4633   .output_size = 0,
4634   .output_type = nir_type_int32,
4635   .input_sizes = {
4636      0, 0
4637   },
4638   .input_types = {
4639      nir_type_int32, nir_type_int32
4640   },
4641   .is_conversion = false,
4642   .algebraic_properties =
4643      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4644},
4645{
4646   .name = "imul_2x32_64",
4647   .num_inputs = 2,
4648   .output_size = 0,
4649   .output_type = nir_type_int64,
4650   .input_sizes = {
4651      0, 0
4652   },
4653   .input_types = {
4654      nir_type_int32, nir_type_int32
4655   },
4656   .is_conversion = false,
4657   .algebraic_properties =
4658      NIR_OP_IS_2SRC_COMMUTATIVE
4659},
4660{
4661   .name = "imul_32x16",
4662   .num_inputs = 2,
4663   .output_size = 0,
4664   .output_type = nir_type_int32,
4665   .input_sizes = {
4666      0, 0
4667   },
4668   .input_types = {
4669      nir_type_int32, nir_type_int32
4670   },
4671   .is_conversion = false,
4672   .algebraic_properties =
4673      0
4674},
4675{
4676   .name = "imul_high",
4677   .num_inputs = 2,
4678   .output_size = 0,
4679   .output_type = nir_type_int,
4680   .input_sizes = {
4681      0, 0
4682   },
4683   .input_types = {
4684      nir_type_int, nir_type_int
4685   },
4686   .is_conversion = false,
4687   .algebraic_properties =
4688      NIR_OP_IS_2SRC_COMMUTATIVE
4689},
4690{
4691   .name = "ine",
4692   .num_inputs = 2,
4693   .output_size = 0,
4694   .output_type = nir_type_bool1,
4695   .input_sizes = {
4696      0, 0
4697   },
4698   .input_types = {
4699      nir_type_int, nir_type_int
4700   },
4701   .is_conversion = false,
4702   .algebraic_properties =
4703      NIR_OP_IS_2SRC_COMMUTATIVE
4704},
4705{
4706   .name = "ine16",
4707   .num_inputs = 2,
4708   .output_size = 0,
4709   .output_type = nir_type_bool16,
4710   .input_sizes = {
4711      0, 0
4712   },
4713   .input_types = {
4714      nir_type_int, nir_type_int
4715   },
4716   .is_conversion = false,
4717   .algebraic_properties =
4718      NIR_OP_IS_2SRC_COMMUTATIVE
4719},
4720{
4721   .name = "ine32",
4722   .num_inputs = 2,
4723   .output_size = 0,
4724   .output_type = nir_type_bool32,
4725   .input_sizes = {
4726      0, 0
4727   },
4728   .input_types = {
4729      nir_type_int, nir_type_int
4730   },
4731   .is_conversion = false,
4732   .algebraic_properties =
4733      NIR_OP_IS_2SRC_COMMUTATIVE
4734},
4735{
4736   .name = "ine8",
4737   .num_inputs = 2,
4738   .output_size = 0,
4739   .output_type = nir_type_bool8,
4740   .input_sizes = {
4741      0, 0
4742   },
4743   .input_types = {
4744      nir_type_int, nir_type_int
4745   },
4746   .is_conversion = false,
4747   .algebraic_properties =
4748      NIR_OP_IS_2SRC_COMMUTATIVE
4749},
4750{
4751   .name = "ineg",
4752   .num_inputs = 1,
4753   .output_size = 0,
4754   .output_type = nir_type_int,
4755   .input_sizes = {
4756      0
4757   },
4758   .input_types = {
4759      nir_type_int
4760   },
4761   .is_conversion = false,
4762   .algebraic_properties =
4763      0
4764},
4765{
4766   .name = "inot",
4767   .num_inputs = 1,
4768   .output_size = 0,
4769   .output_type = nir_type_int,
4770   .input_sizes = {
4771      0
4772   },
4773   .input_types = {
4774      nir_type_int
4775   },
4776   .is_conversion = false,
4777   .algebraic_properties =
4778      0
4779},
4780{
4781   .name = "insert_u16",
4782   .num_inputs = 2,
4783   .output_size = 0,
4784   .output_type = nir_type_uint,
4785   .input_sizes = {
4786      0, 0
4787   },
4788   .input_types = {
4789      nir_type_uint, nir_type_uint
4790   },
4791   .is_conversion = false,
4792   .algebraic_properties =
4793      0
4794},
4795{
4796   .name = "insert_u8",
4797   .num_inputs = 2,
4798   .output_size = 0,
4799   .output_type = nir_type_uint,
4800   .input_sizes = {
4801      0, 0
4802   },
4803   .input_types = {
4804      nir_type_uint, nir_type_uint
4805   },
4806   .is_conversion = false,
4807   .algebraic_properties =
4808      0
4809},
4810{
4811   .name = "ior",
4812   .num_inputs = 2,
4813   .output_size = 0,
4814   .output_type = nir_type_uint,
4815   .input_sizes = {
4816      0, 0
4817   },
4818   .input_types = {
4819      nir_type_uint, nir_type_uint
4820   },
4821   .is_conversion = false,
4822   .algebraic_properties =
4823      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4824},
4825{
4826   .name = "irem",
4827   .num_inputs = 2,
4828   .output_size = 0,
4829   .output_type = nir_type_int,
4830   .input_sizes = {
4831      0, 0
4832   },
4833   .input_types = {
4834      nir_type_int, nir_type_int
4835   },
4836   .is_conversion = false,
4837   .algebraic_properties =
4838      0
4839},
4840{
4841   .name = "irhadd",
4842   .num_inputs = 2,
4843   .output_size = 0,
4844   .output_type = nir_type_int,
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      NIR_OP_IS_2SRC_COMMUTATIVE
4854},
4855{
4856   .name = "ishl",
4857   .num_inputs = 2,
4858   .output_size = 0,
4859   .output_type = nir_type_int,
4860   .input_sizes = {
4861      0, 0
4862   },
4863   .input_types = {
4864      nir_type_int, nir_type_uint32
4865   },
4866   .is_conversion = false,
4867   .algebraic_properties =
4868      0
4869},
4870{
4871   .name = "ishr",
4872   .num_inputs = 2,
4873   .output_size = 0,
4874   .output_type = nir_type_int,
4875   .input_sizes = {
4876      0, 0
4877   },
4878   .input_types = {
4879      nir_type_int, nir_type_uint32
4880   },
4881   .is_conversion = false,
4882   .algebraic_properties =
4883      0
4884},
4885{
4886   .name = "isign",
4887   .num_inputs = 1,
4888   .output_size = 0,
4889   .output_type = nir_type_int,
4890   .input_sizes = {
4891      0
4892   },
4893   .input_types = {
4894      nir_type_int
4895   },
4896   .is_conversion = false,
4897   .algebraic_properties =
4898      0
4899},
4900{
4901   .name = "isub",
4902   .num_inputs = 2,
4903   .output_size = 0,
4904   .output_type = nir_type_int,
4905   .input_sizes = {
4906      0, 0
4907   },
4908   .input_types = {
4909      nir_type_int, nir_type_int
4910   },
4911   .is_conversion = false,
4912   .algebraic_properties =
4913      0
4914},
4915{
4916   .name = "isub_sat",
4917   .num_inputs = 2,
4918   .output_size = 0,
4919   .output_type = nir_type_int,
4920   .input_sizes = {
4921      0, 0
4922   },
4923   .input_types = {
4924      nir_type_int, nir_type_int
4925   },
4926   .is_conversion = false,
4927   .algebraic_properties =
4928      0
4929},
4930{
4931   .name = "ixor",
4932   .num_inputs = 2,
4933   .output_size = 0,
4934   .output_type = nir_type_uint,
4935   .input_sizes = {
4936      0, 0
4937   },
4938   .input_types = {
4939      nir_type_uint, nir_type_uint
4940   },
4941   .is_conversion = false,
4942   .algebraic_properties =
4943      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4944},
4945{
4946   .name = "ldexp",
4947   .num_inputs = 2,
4948   .output_size = 0,
4949   .output_type = nir_type_float,
4950   .input_sizes = {
4951      0, 0
4952   },
4953   .input_types = {
4954      nir_type_float, nir_type_int32
4955   },
4956   .is_conversion = false,
4957   .algebraic_properties =
4958      0
4959},
4960{
4961   .name = "mov",
4962   .num_inputs = 1,
4963   .output_size = 0,
4964   .output_type = nir_type_uint,
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 = "pack_32_2x16",
4977   .num_inputs = 1,
4978   .output_size = 1,
4979   .output_type = nir_type_uint32,
4980   .input_sizes = {
4981      2
4982   },
4983   .input_types = {
4984      nir_type_uint16
4985   },
4986   .is_conversion = false,
4987   .algebraic_properties =
4988      0
4989},
4990{
4991   .name = "pack_32_2x16_split",
4992   .num_inputs = 2,
4993   .output_size = 0,
4994   .output_type = nir_type_uint32,
4995   .input_sizes = {
4996      0, 0
4997   },
4998   .input_types = {
4999      nir_type_uint16, nir_type_uint16
5000   },
5001   .is_conversion = false,
5002   .algebraic_properties =
5003      0
5004},
5005{
5006   .name = "pack_32_4x8",
5007   .num_inputs = 1,
5008   .output_size = 1,
5009   .output_type = nir_type_uint32,
5010   .input_sizes = {
5011      4
5012   },
5013   .input_types = {
5014      nir_type_uint8
5015   },
5016   .is_conversion = false,
5017   .algebraic_properties =
5018      0
5019},
5020{
5021   .name = "pack_32_4x8_split",
5022   .num_inputs = 4,
5023   .output_size = 0,
5024   .output_type = nir_type_uint32,
5025   .input_sizes = {
5026      0, 0, 0, 0
5027   },
5028   .input_types = {
5029      nir_type_uint8, nir_type_uint8, nir_type_uint8, nir_type_uint8
5030   },
5031   .is_conversion = false,
5032   .algebraic_properties =
5033      0
5034},
5035{
5036   .name = "pack_64_2x32",
5037   .num_inputs = 1,
5038   .output_size = 1,
5039   .output_type = nir_type_uint64,
5040   .input_sizes = {
5041      2
5042   },
5043   .input_types = {
5044      nir_type_uint32
5045   },
5046   .is_conversion = false,
5047   .algebraic_properties =
5048      0
5049},
5050{
5051   .name = "pack_64_2x32_split",
5052   .num_inputs = 2,
5053   .output_size = 0,
5054   .output_type = nir_type_uint64,
5055   .input_sizes = {
5056      0, 0
5057   },
5058   .input_types = {
5059      nir_type_uint32, nir_type_uint32
5060   },
5061   .is_conversion = false,
5062   .algebraic_properties =
5063      0
5064},
5065{
5066   .name = "pack_64_4x16",
5067   .num_inputs = 1,
5068   .output_size = 1,
5069   .output_type = nir_type_uint64,
5070   .input_sizes = {
5071      4
5072   },
5073   .input_types = {
5074      nir_type_uint16
5075   },
5076   .is_conversion = false,
5077   .algebraic_properties =
5078      0
5079},
5080{
5081   .name = "pack_double_2x32_dxil",
5082   .num_inputs = 1,
5083   .output_size = 1,
5084   .output_type = nir_type_uint64,
5085   .input_sizes = {
5086      2
5087   },
5088   .input_types = {
5089      nir_type_uint32
5090   },
5091   .is_conversion = false,
5092   .algebraic_properties =
5093      0
5094},
5095{
5096   .name = "pack_half_2x16",
5097   .num_inputs = 1,
5098   .output_size = 1,
5099   .output_type = nir_type_uint32,
5100   .input_sizes = {
5101      2
5102   },
5103   .input_types = {
5104      nir_type_float32
5105   },
5106   .is_conversion = false,
5107   .algebraic_properties =
5108      0
5109},
5110{
5111   .name = "pack_half_2x16_split",
5112   .num_inputs = 2,
5113   .output_size = 1,
5114   .output_type = nir_type_uint32,
5115   .input_sizes = {
5116      1, 1
5117   },
5118   .input_types = {
5119      nir_type_float32, nir_type_float32
5120   },
5121   .is_conversion = false,
5122   .algebraic_properties =
5123      0
5124},
5125{
5126   .name = "pack_snorm_2x16",
5127   .num_inputs = 1,
5128   .output_size = 1,
5129   .output_type = nir_type_uint32,
5130   .input_sizes = {
5131      2
5132   },
5133   .input_types = {
5134      nir_type_float32
5135   },
5136   .is_conversion = false,
5137   .algebraic_properties =
5138      0
5139},
5140{
5141   .name = "pack_snorm_4x8",
5142   .num_inputs = 1,
5143   .output_size = 1,
5144   .output_type = nir_type_uint32,
5145   .input_sizes = {
5146      4
5147   },
5148   .input_types = {
5149      nir_type_float32
5150   },
5151   .is_conversion = false,
5152   .algebraic_properties =
5153      0
5154},
5155{
5156   .name = "pack_unorm_2x16",
5157   .num_inputs = 1,
5158   .output_size = 1,
5159   .output_type = nir_type_uint32,
5160   .input_sizes = {
5161      2
5162   },
5163   .input_types = {
5164      nir_type_float32
5165   },
5166   .is_conversion = false,
5167   .algebraic_properties =
5168      0
5169},
5170{
5171   .name = "pack_unorm_4x8",
5172   .num_inputs = 1,
5173   .output_size = 1,
5174   .output_type = nir_type_uint32,
5175   .input_sizes = {
5176      4
5177   },
5178   .input_types = {
5179      nir_type_float32
5180   },
5181   .is_conversion = false,
5182   .algebraic_properties =
5183      0
5184},
5185{
5186   .name = "pack_uvec2_to_uint",
5187   .num_inputs = 1,
5188   .output_size = 1,
5189   .output_type = nir_type_uint32,
5190   .input_sizes = {
5191      2
5192   },
5193   .input_types = {
5194      nir_type_uint32
5195   },
5196   .is_conversion = false,
5197   .algebraic_properties =
5198      0
5199},
5200{
5201   .name = "pack_uvec4_to_uint",
5202   .num_inputs = 1,
5203   .output_size = 1,
5204   .output_type = nir_type_uint32,
5205   .input_sizes = {
5206      4
5207   },
5208   .input_types = {
5209      nir_type_uint32
5210   },
5211   .is_conversion = false,
5212   .algebraic_properties =
5213      0
5214},
5215{
5216   .name = "sad_u8x4",
5217   .num_inputs = 3,
5218   .output_size = 1,
5219   .output_type = nir_type_uint,
5220   .input_sizes = {
5221      1, 1, 1
5222   },
5223   .input_types = {
5224      nir_type_uint, nir_type_uint, nir_type_uint
5225   },
5226   .is_conversion = false,
5227   .algebraic_properties =
5228      0
5229},
5230{
5231   .name = "sdot_2x16_iadd",
5232   .num_inputs = 3,
5233   .output_size = 0,
5234   .output_type = nir_type_int32,
5235   .input_sizes = {
5236      0, 0, 0
5237   },
5238   .input_types = {
5239      nir_type_uint32, nir_type_uint32, nir_type_int32
5240   },
5241   .is_conversion = false,
5242   .algebraic_properties =
5243      NIR_OP_IS_2SRC_COMMUTATIVE
5244},
5245{
5246   .name = "sdot_2x16_iadd_sat",
5247   .num_inputs = 3,
5248   .output_size = 0,
5249   .output_type = nir_type_int32,
5250   .input_sizes = {
5251      0, 0, 0
5252   },
5253   .input_types = {
5254      nir_type_uint32, nir_type_uint32, nir_type_int32
5255   },
5256   .is_conversion = false,
5257   .algebraic_properties =
5258      NIR_OP_IS_2SRC_COMMUTATIVE
5259},
5260{
5261   .name = "sdot_4x8_iadd",
5262   .num_inputs = 3,
5263   .output_size = 0,
5264   .output_type = nir_type_int32,
5265   .input_sizes = {
5266      0, 0, 0
5267   },
5268   .input_types = {
5269      nir_type_uint32, nir_type_uint32, nir_type_int32
5270   },
5271   .is_conversion = false,
5272   .algebraic_properties =
5273      NIR_OP_IS_2SRC_COMMUTATIVE
5274},
5275{
5276   .name = "sdot_4x8_iadd_sat",
5277   .num_inputs = 3,
5278   .output_size = 0,
5279   .output_type = nir_type_int32,
5280   .input_sizes = {
5281      0, 0, 0
5282   },
5283   .input_types = {
5284      nir_type_uint32, nir_type_uint32, nir_type_int32
5285   },
5286   .is_conversion = false,
5287   .algebraic_properties =
5288      NIR_OP_IS_2SRC_COMMUTATIVE
5289},
5290{
5291   .name = "seq",
5292   .num_inputs = 2,
5293   .output_size = 0,
5294   .output_type = nir_type_float,
5295   .input_sizes = {
5296      0, 0
5297   },
5298   .input_types = {
5299      nir_type_float, nir_type_float
5300   },
5301   .is_conversion = false,
5302   .algebraic_properties =
5303      NIR_OP_IS_2SRC_COMMUTATIVE
5304},
5305{
5306   .name = "sge",
5307   .num_inputs = 2,
5308   .output_size = 0,
5309   .output_type = nir_type_float,
5310   .input_sizes = {
5311      0, 0
5312   },
5313   .input_types = {
5314      nir_type_float, nir_type_float
5315   },
5316   .is_conversion = false,
5317   .algebraic_properties =
5318      0
5319},
5320{
5321   .name = "slt",
5322   .num_inputs = 2,
5323   .output_size = 0,
5324   .output_type = nir_type_float,
5325   .input_sizes = {
5326      0, 0
5327   },
5328   .input_types = {
5329      nir_type_float, nir_type_float
5330   },
5331   .is_conversion = false,
5332   .algebraic_properties =
5333      0
5334},
5335{
5336   .name = "sne",
5337   .num_inputs = 2,
5338   .output_size = 0,
5339   .output_type = nir_type_float,
5340   .input_sizes = {
5341      0, 0
5342   },
5343   .input_types = {
5344      nir_type_float, nir_type_float
5345   },
5346   .is_conversion = false,
5347   .algebraic_properties =
5348      NIR_OP_IS_2SRC_COMMUTATIVE
5349},
5350{
5351   .name = "sudot_4x8_iadd",
5352   .num_inputs = 3,
5353   .output_size = 0,
5354   .output_type = nir_type_int32,
5355   .input_sizes = {
5356      0, 0, 0
5357   },
5358   .input_types = {
5359      nir_type_uint32, nir_type_uint32, nir_type_int32
5360   },
5361   .is_conversion = false,
5362   .algebraic_properties =
5363      0
5364},
5365{
5366   .name = "sudot_4x8_iadd_sat",
5367   .num_inputs = 3,
5368   .output_size = 0,
5369   .output_type = nir_type_int32,
5370   .input_sizes = {
5371      0, 0, 0
5372   },
5373   .input_types = {
5374      nir_type_uint32, nir_type_uint32, nir_type_int32
5375   },
5376   .is_conversion = false,
5377   .algebraic_properties =
5378      0
5379},
5380{
5381   .name = "u2f16",
5382   .num_inputs = 1,
5383   .output_size = 0,
5384   .output_type = nir_type_float16,
5385   .input_sizes = {
5386      0
5387   },
5388   .input_types = {
5389      nir_type_uint
5390   },
5391   .is_conversion = true,
5392   .algebraic_properties =
5393      0
5394},
5395{
5396   .name = "u2f32",
5397   .num_inputs = 1,
5398   .output_size = 0,
5399   .output_type = nir_type_float32,
5400   .input_sizes = {
5401      0
5402   },
5403   .input_types = {
5404      nir_type_uint
5405   },
5406   .is_conversion = true,
5407   .algebraic_properties =
5408      0
5409},
5410{
5411   .name = "u2f64",
5412   .num_inputs = 1,
5413   .output_size = 0,
5414   .output_type = nir_type_float64,
5415   .input_sizes = {
5416      0
5417   },
5418   .input_types = {
5419      nir_type_uint
5420   },
5421   .is_conversion = true,
5422   .algebraic_properties =
5423      0
5424},
5425{
5426   .name = "u2fmp",
5427   .num_inputs = 1,
5428   .output_size = 0,
5429   .output_type = nir_type_float16,
5430   .input_sizes = {
5431      0
5432   },
5433   .input_types = {
5434      nir_type_uint32
5435   },
5436   .is_conversion = true,
5437   .algebraic_properties =
5438      0
5439},
5440{
5441   .name = "u2u1",
5442   .num_inputs = 1,
5443   .output_size = 0,
5444   .output_type = nir_type_uint1,
5445   .input_sizes = {
5446      0
5447   },
5448   .input_types = {
5449      nir_type_uint
5450   },
5451   .is_conversion = true,
5452   .algebraic_properties =
5453      0
5454},
5455{
5456   .name = "u2u16",
5457   .num_inputs = 1,
5458   .output_size = 0,
5459   .output_type = nir_type_uint16,
5460   .input_sizes = {
5461      0
5462   },
5463   .input_types = {
5464      nir_type_uint
5465   },
5466   .is_conversion = true,
5467   .algebraic_properties =
5468      0
5469},
5470{
5471   .name = "u2u32",
5472   .num_inputs = 1,
5473   .output_size = 0,
5474   .output_type = nir_type_uint32,
5475   .input_sizes = {
5476      0
5477   },
5478   .input_types = {
5479      nir_type_uint
5480   },
5481   .is_conversion = true,
5482   .algebraic_properties =
5483      0
5484},
5485{
5486   .name = "u2u64",
5487   .num_inputs = 1,
5488   .output_size = 0,
5489   .output_type = nir_type_uint64,
5490   .input_sizes = {
5491      0
5492   },
5493   .input_types = {
5494      nir_type_uint
5495   },
5496   .is_conversion = true,
5497   .algebraic_properties =
5498      0
5499},
5500{
5501   .name = "u2u8",
5502   .num_inputs = 1,
5503   .output_size = 0,
5504   .output_type = nir_type_uint8,
5505   .input_sizes = {
5506      0
5507   },
5508   .input_types = {
5509      nir_type_uint
5510   },
5511   .is_conversion = true,
5512   .algebraic_properties =
5513      0
5514},
5515{
5516   .name = "uabs_isub",
5517   .num_inputs = 2,
5518   .output_size = 0,
5519   .output_type = nir_type_uint,
5520   .input_sizes = {
5521      0, 0
5522   },
5523   .input_types = {
5524      nir_type_int, nir_type_int
5525   },
5526   .is_conversion = false,
5527   .algebraic_properties =
5528      0
5529},
5530{
5531   .name = "uabs_usub",
5532   .num_inputs = 2,
5533   .output_size = 0,
5534   .output_type = nir_type_uint,
5535   .input_sizes = {
5536      0, 0
5537   },
5538   .input_types = {
5539      nir_type_uint, nir_type_uint
5540   },
5541   .is_conversion = false,
5542   .algebraic_properties =
5543      0
5544},
5545{
5546   .name = "uadd_carry",
5547   .num_inputs = 2,
5548   .output_size = 0,
5549   .output_type = nir_type_uint,
5550   .input_sizes = {
5551      0, 0
5552   },
5553   .input_types = {
5554      nir_type_uint, nir_type_uint
5555   },
5556   .is_conversion = false,
5557   .algebraic_properties =
5558      NIR_OP_IS_2SRC_COMMUTATIVE
5559},
5560{
5561   .name = "uadd_sat",
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 = "ubfe",
5577   .num_inputs = 3,
5578   .output_size = 0,
5579   .output_type = nir_type_uint32,
5580   .input_sizes = {
5581      0, 0, 0
5582   },
5583   .input_types = {
5584      nir_type_uint32, nir_type_uint32, nir_type_uint32
5585   },
5586   .is_conversion = false,
5587   .algebraic_properties =
5588      0
5589},
5590{
5591   .name = "ubitfield_extract",
5592   .num_inputs = 3,
5593   .output_size = 0,
5594   .output_type = nir_type_uint32,
5595   .input_sizes = {
5596      0, 0, 0
5597   },
5598   .input_types = {
5599      nir_type_uint32, nir_type_int32, nir_type_int32
5600   },
5601   .is_conversion = false,
5602   .algebraic_properties =
5603      0
5604},
5605{
5606   .name = "uclz",
5607   .num_inputs = 1,
5608   .output_size = 0,
5609   .output_type = nir_type_uint32,
5610   .input_sizes = {
5611      0
5612   },
5613   .input_types = {
5614      nir_type_uint32
5615   },
5616   .is_conversion = false,
5617   .algebraic_properties =
5618      0
5619},
5620{
5621   .name = "udiv",
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_uint
5630   },
5631   .is_conversion = false,
5632   .algebraic_properties =
5633      0
5634},
5635{
5636   .name = "udot_2x16_uadd",
5637   .num_inputs = 3,
5638   .output_size = 0,
5639   .output_type = nir_type_uint32,
5640   .input_sizes = {
5641      0, 0, 0
5642   },
5643   .input_types = {
5644      nir_type_uint32, nir_type_uint32, nir_type_uint32
5645   },
5646   .is_conversion = false,
5647   .algebraic_properties =
5648      NIR_OP_IS_2SRC_COMMUTATIVE
5649},
5650{
5651   .name = "udot_2x16_uadd_sat",
5652   .num_inputs = 3,
5653   .output_size = 0,
5654   .output_type = nir_type_int32,
5655   .input_sizes = {
5656      0, 0, 0
5657   },
5658   .input_types = {
5659      nir_type_uint32, nir_type_uint32, nir_type_int32
5660   },
5661   .is_conversion = false,
5662   .algebraic_properties =
5663      NIR_OP_IS_2SRC_COMMUTATIVE
5664},
5665{
5666   .name = "udot_4x8_uadd",
5667   .num_inputs = 3,
5668   .output_size = 0,
5669   .output_type = nir_type_uint32,
5670   .input_sizes = {
5671      0, 0, 0
5672   },
5673   .input_types = {
5674      nir_type_uint32, nir_type_uint32, nir_type_uint32
5675   },
5676   .is_conversion = false,
5677   .algebraic_properties =
5678      NIR_OP_IS_2SRC_COMMUTATIVE
5679},
5680{
5681   .name = "udot_4x8_uadd_sat",
5682   .num_inputs = 3,
5683   .output_size = 0,
5684   .output_type = nir_type_int32,
5685   .input_sizes = {
5686      0, 0, 0
5687   },
5688   .input_types = {
5689      nir_type_uint32, nir_type_uint32, nir_type_int32
5690   },
5691   .is_conversion = false,
5692   .algebraic_properties =
5693      NIR_OP_IS_2SRC_COMMUTATIVE
5694},
5695{
5696   .name = "ufind_msb",
5697   .num_inputs = 1,
5698   .output_size = 0,
5699   .output_type = nir_type_int32,
5700   .input_sizes = {
5701      0
5702   },
5703   .input_types = {
5704      nir_type_uint
5705   },
5706   .is_conversion = false,
5707   .algebraic_properties =
5708      0
5709},
5710{
5711   .name = "ufind_msb_rev",
5712   .num_inputs = 1,
5713   .output_size = 0,
5714   .output_type = nir_type_int32,
5715   .input_sizes = {
5716      0
5717   },
5718   .input_types = {
5719      nir_type_uint
5720   },
5721   .is_conversion = false,
5722   .algebraic_properties =
5723      0
5724},
5725{
5726   .name = "uge",
5727   .num_inputs = 2,
5728   .output_size = 0,
5729   .output_type = nir_type_bool1,
5730   .input_sizes = {
5731      0, 0
5732   },
5733   .input_types = {
5734      nir_type_uint, nir_type_uint
5735   },
5736   .is_conversion = false,
5737   .algebraic_properties =
5738      0
5739},
5740{
5741   .name = "uge16",
5742   .num_inputs = 2,
5743   .output_size = 0,
5744   .output_type = nir_type_bool16,
5745   .input_sizes = {
5746      0, 0
5747   },
5748   .input_types = {
5749      nir_type_uint, nir_type_uint
5750   },
5751   .is_conversion = false,
5752   .algebraic_properties =
5753      0
5754},
5755{
5756   .name = "uge32",
5757   .num_inputs = 2,
5758   .output_size = 0,
5759   .output_type = nir_type_bool32,
5760   .input_sizes = {
5761      0, 0
5762   },
5763   .input_types = {
5764      nir_type_uint, nir_type_uint
5765   },
5766   .is_conversion = false,
5767   .algebraic_properties =
5768      0
5769},
5770{
5771   .name = "uge8",
5772   .num_inputs = 2,
5773   .output_size = 0,
5774   .output_type = nir_type_bool8,
5775   .input_sizes = {
5776      0, 0
5777   },
5778   .input_types = {
5779      nir_type_uint, nir_type_uint
5780   },
5781   .is_conversion = false,
5782   .algebraic_properties =
5783      0
5784},
5785{
5786   .name = "uhadd",
5787   .num_inputs = 2,
5788   .output_size = 0,
5789   .output_type = nir_type_uint,
5790   .input_sizes = {
5791      0, 0
5792   },
5793   .input_types = {
5794      nir_type_uint, nir_type_uint
5795   },
5796   .is_conversion = false,
5797   .algebraic_properties =
5798      NIR_OP_IS_2SRC_COMMUTATIVE
5799},
5800{
5801   .name = "ult",
5802   .num_inputs = 2,
5803   .output_size = 0,
5804   .output_type = nir_type_bool1,
5805   .input_sizes = {
5806      0, 0
5807   },
5808   .input_types = {
5809      nir_type_uint, nir_type_uint
5810   },
5811   .is_conversion = false,
5812   .algebraic_properties =
5813      0
5814},
5815{
5816   .name = "ult16",
5817   .num_inputs = 2,
5818   .output_size = 0,
5819   .output_type = nir_type_bool16,
5820   .input_sizes = {
5821      0, 0
5822   },
5823   .input_types = {
5824      nir_type_uint, nir_type_uint
5825   },
5826   .is_conversion = false,
5827   .algebraic_properties =
5828      0
5829},
5830{
5831   .name = "ult32",
5832   .num_inputs = 2,
5833   .output_size = 0,
5834   .output_type = nir_type_bool32,
5835   .input_sizes = {
5836      0, 0
5837   },
5838   .input_types = {
5839      nir_type_uint, nir_type_uint
5840   },
5841   .is_conversion = false,
5842   .algebraic_properties =
5843      0
5844},
5845{
5846   .name = "ult8",
5847   .num_inputs = 2,
5848   .output_size = 0,
5849   .output_type = nir_type_bool8,
5850   .input_sizes = {
5851      0, 0
5852   },
5853   .input_types = {
5854      nir_type_uint, nir_type_uint
5855   },
5856   .is_conversion = false,
5857   .algebraic_properties =
5858      0
5859},
5860{
5861   .name = "umad24",
5862   .num_inputs = 3,
5863   .output_size = 0,
5864   .output_type = nir_type_uint32,
5865   .input_sizes = {
5866      0, 0, 0
5867   },
5868   .input_types = {
5869      nir_type_uint32, nir_type_uint32, nir_type_uint32
5870   },
5871   .is_conversion = false,
5872   .algebraic_properties =
5873      NIR_OP_IS_2SRC_COMMUTATIVE
5874},
5875{
5876   .name = "umad24_relaxed",
5877   .num_inputs = 3,
5878   .output_size = 0,
5879   .output_type = nir_type_uint32,
5880   .input_sizes = {
5881      0, 0, 0
5882   },
5883   .input_types = {
5884      nir_type_uint32, nir_type_uint32, nir_type_uint32
5885   },
5886   .is_conversion = false,
5887   .algebraic_properties =
5888      NIR_OP_IS_2SRC_COMMUTATIVE
5889},
5890{
5891   .name = "umax",
5892   .num_inputs = 2,
5893   .output_size = 0,
5894   .output_type = nir_type_uint,
5895   .input_sizes = {
5896      0, 0
5897   },
5898   .input_types = {
5899      nir_type_uint, nir_type_uint
5900   },
5901   .is_conversion = false,
5902   .algebraic_properties =
5903      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5904},
5905{
5906   .name = "umax_4x8_vc4",
5907   .num_inputs = 2,
5908   .output_size = 0,
5909   .output_type = nir_type_int32,
5910   .input_sizes = {
5911      0, 0
5912   },
5913   .input_types = {
5914      nir_type_int32, nir_type_int32
5915   },
5916   .is_conversion = false,
5917   .algebraic_properties =
5918      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5919},
5920{
5921   .name = "umin",
5922   .num_inputs = 2,
5923   .output_size = 0,
5924   .output_type = nir_type_uint,
5925   .input_sizes = {
5926      0, 0
5927   },
5928   .input_types = {
5929      nir_type_uint, nir_type_uint
5930   },
5931   .is_conversion = false,
5932   .algebraic_properties =
5933      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5934},
5935{
5936   .name = "umin_4x8_vc4",
5937   .num_inputs = 2,
5938   .output_size = 0,
5939   .output_type = nir_type_int32,
5940   .input_sizes = {
5941      0, 0
5942   },
5943   .input_types = {
5944      nir_type_int32, nir_type_int32
5945   },
5946   .is_conversion = false,
5947   .algebraic_properties =
5948      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5949},
5950{
5951   .name = "umod",
5952   .num_inputs = 2,
5953   .output_size = 0,
5954   .output_type = nir_type_uint,
5955   .input_sizes = {
5956      0, 0
5957   },
5958   .input_types = {
5959      nir_type_uint, nir_type_uint
5960   },
5961   .is_conversion = false,
5962   .algebraic_properties =
5963      0
5964},
5965{
5966   .name = "umul24",
5967   .num_inputs = 2,
5968   .output_size = 0,
5969   .output_type = nir_type_int32,
5970   .input_sizes = {
5971      0, 0
5972   },
5973   .input_types = {
5974      nir_type_int32, nir_type_int32
5975   },
5976   .is_conversion = false,
5977   .algebraic_properties =
5978      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5979},
5980{
5981   .name = "umul24_relaxed",
5982   .num_inputs = 2,
5983   .output_size = 0,
5984   .output_type = nir_type_uint32,
5985   .input_sizes = {
5986      0, 0
5987   },
5988   .input_types = {
5989      nir_type_uint32, nir_type_uint32
5990   },
5991   .is_conversion = false,
5992   .algebraic_properties =
5993      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
5994},
5995{
5996   .name = "umul_2x32_64",
5997   .num_inputs = 2,
5998   .output_size = 0,
5999   .output_type = nir_type_uint64,
6000   .input_sizes = {
6001      0, 0
6002   },
6003   .input_types = {
6004      nir_type_uint32, nir_type_uint32
6005   },
6006   .is_conversion = false,
6007   .algebraic_properties =
6008      NIR_OP_IS_2SRC_COMMUTATIVE
6009},
6010{
6011   .name = "umul_32x16",
6012   .num_inputs = 2,
6013   .output_size = 0,
6014   .output_type = nir_type_uint32,
6015   .input_sizes = {
6016      0, 0
6017   },
6018   .input_types = {
6019      nir_type_uint32, nir_type_uint32
6020   },
6021   .is_conversion = false,
6022   .algebraic_properties =
6023      0
6024},
6025{
6026   .name = "umul_high",
6027   .num_inputs = 2,
6028   .output_size = 0,
6029   .output_type = nir_type_uint,
6030   .input_sizes = {
6031      0, 0
6032   },
6033   .input_types = {
6034      nir_type_uint, nir_type_uint
6035   },
6036   .is_conversion = false,
6037   .algebraic_properties =
6038      NIR_OP_IS_2SRC_COMMUTATIVE
6039},
6040{
6041   .name = "umul_low",
6042   .num_inputs = 2,
6043   .output_size = 0,
6044   .output_type = nir_type_uint32,
6045   .input_sizes = {
6046      0, 0
6047   },
6048   .input_types = {
6049      nir_type_uint32, nir_type_uint32
6050   },
6051   .is_conversion = false,
6052   .algebraic_properties =
6053      NIR_OP_IS_2SRC_COMMUTATIVE
6054},
6055{
6056   .name = "umul_unorm_4x8_vc4",
6057   .num_inputs = 2,
6058   .output_size = 0,
6059   .output_type = nir_type_int32,
6060   .input_sizes = {
6061      0, 0
6062   },
6063   .input_types = {
6064      nir_type_int32, nir_type_int32
6065   },
6066   .is_conversion = false,
6067   .algebraic_properties =
6068      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
6069},
6070{
6071   .name = "unpack_32_2x16",
6072   .num_inputs = 1,
6073   .output_size = 2,
6074   .output_type = nir_type_uint16,
6075   .input_sizes = {
6076      1
6077   },
6078   .input_types = {
6079      nir_type_uint32
6080   },
6081   .is_conversion = false,
6082   .algebraic_properties =
6083      0
6084},
6085{
6086   .name = "unpack_32_2x16_split_x",
6087   .num_inputs = 1,
6088   .output_size = 0,
6089   .output_type = nir_type_uint16,
6090   .input_sizes = {
6091      0
6092   },
6093   .input_types = {
6094      nir_type_uint32
6095   },
6096   .is_conversion = false,
6097   .algebraic_properties =
6098      0
6099},
6100{
6101   .name = "unpack_32_2x16_split_y",
6102   .num_inputs = 1,
6103   .output_size = 0,
6104   .output_type = nir_type_uint16,
6105   .input_sizes = {
6106      0
6107   },
6108   .input_types = {
6109      nir_type_uint32
6110   },
6111   .is_conversion = false,
6112   .algebraic_properties =
6113      0
6114},
6115{
6116   .name = "unpack_32_4x8",
6117   .num_inputs = 1,
6118   .output_size = 4,
6119   .output_type = nir_type_uint8,
6120   .input_sizes = {
6121      1
6122   },
6123   .input_types = {
6124      nir_type_uint32
6125   },
6126   .is_conversion = false,
6127   .algebraic_properties =
6128      0
6129},
6130{
6131   .name = "unpack_64_2x32",
6132   .num_inputs = 1,
6133   .output_size = 2,
6134   .output_type = nir_type_uint32,
6135   .input_sizes = {
6136      1
6137   },
6138   .input_types = {
6139      nir_type_uint64
6140   },
6141   .is_conversion = false,
6142   .algebraic_properties =
6143      0
6144},
6145{
6146   .name = "unpack_64_2x32_split_x",
6147   .num_inputs = 1,
6148   .output_size = 0,
6149   .output_type = nir_type_uint32,
6150   .input_sizes = {
6151      0
6152   },
6153   .input_types = {
6154      nir_type_uint64
6155   },
6156   .is_conversion = false,
6157   .algebraic_properties =
6158      0
6159},
6160{
6161   .name = "unpack_64_2x32_split_y",
6162   .num_inputs = 1,
6163   .output_size = 0,
6164   .output_type = nir_type_uint32,
6165   .input_sizes = {
6166      0
6167   },
6168   .input_types = {
6169      nir_type_uint64
6170   },
6171   .is_conversion = false,
6172   .algebraic_properties =
6173      0
6174},
6175{
6176   .name = "unpack_64_4x16",
6177   .num_inputs = 1,
6178   .output_size = 4,
6179   .output_type = nir_type_uint16,
6180   .input_sizes = {
6181      1
6182   },
6183   .input_types = {
6184      nir_type_uint64
6185   },
6186   .is_conversion = false,
6187   .algebraic_properties =
6188      0
6189},
6190{
6191   .name = "unpack_double_2x32_dxil",
6192   .num_inputs = 1,
6193   .output_size = 2,
6194   .output_type = nir_type_uint32,
6195   .input_sizes = {
6196      1
6197   },
6198   .input_types = {
6199      nir_type_uint64
6200   },
6201   .is_conversion = false,
6202   .algebraic_properties =
6203      0
6204},
6205{
6206   .name = "unpack_half_2x16",
6207   .num_inputs = 1,
6208   .output_size = 2,
6209   .output_type = nir_type_float32,
6210   .input_sizes = {
6211      1
6212   },
6213   .input_types = {
6214      nir_type_uint32
6215   },
6216   .is_conversion = false,
6217   .algebraic_properties =
6218      0
6219},
6220{
6221   .name = "unpack_half_2x16_flush_to_zero",
6222   .num_inputs = 1,
6223   .output_size = 2,
6224   .output_type = nir_type_float32,
6225   .input_sizes = {
6226      1
6227   },
6228   .input_types = {
6229      nir_type_uint32
6230   },
6231   .is_conversion = false,
6232   .algebraic_properties =
6233      0
6234},
6235{
6236   .name = "unpack_half_2x16_split_x",
6237   .num_inputs = 1,
6238   .output_size = 0,
6239   .output_type = nir_type_float32,
6240   .input_sizes = {
6241      0
6242   },
6243   .input_types = {
6244      nir_type_uint32
6245   },
6246   .is_conversion = false,
6247   .algebraic_properties =
6248      0
6249},
6250{
6251   .name = "unpack_half_2x16_split_x_flush_to_zero",
6252   .num_inputs = 1,
6253   .output_size = 0,
6254   .output_type = nir_type_float32,
6255   .input_sizes = {
6256      0
6257   },
6258   .input_types = {
6259      nir_type_uint32
6260   },
6261   .is_conversion = false,
6262   .algebraic_properties =
6263      0
6264},
6265{
6266   .name = "unpack_half_2x16_split_y",
6267   .num_inputs = 1,
6268   .output_size = 0,
6269   .output_type = nir_type_float32,
6270   .input_sizes = {
6271      0
6272   },
6273   .input_types = {
6274      nir_type_uint32
6275   },
6276   .is_conversion = false,
6277   .algebraic_properties =
6278      0
6279},
6280{
6281   .name = "unpack_half_2x16_split_y_flush_to_zero",
6282   .num_inputs = 1,
6283   .output_size = 0,
6284   .output_type = nir_type_float32,
6285   .input_sizes = {
6286      0
6287   },
6288   .input_types = {
6289      nir_type_uint32
6290   },
6291   .is_conversion = false,
6292   .algebraic_properties =
6293      0
6294},
6295{
6296   .name = "unpack_snorm_2x16",
6297   .num_inputs = 1,
6298   .output_size = 2,
6299   .output_type = nir_type_float32,
6300   .input_sizes = {
6301      1
6302   },
6303   .input_types = {
6304      nir_type_uint32
6305   },
6306   .is_conversion = false,
6307   .algebraic_properties =
6308      0
6309},
6310{
6311   .name = "unpack_snorm_4x8",
6312   .num_inputs = 1,
6313   .output_size = 4,
6314   .output_type = nir_type_float32,
6315   .input_sizes = {
6316      1
6317   },
6318   .input_types = {
6319      nir_type_uint32
6320   },
6321   .is_conversion = false,
6322   .algebraic_properties =
6323      0
6324},
6325{
6326   .name = "unpack_unorm_2x16",
6327   .num_inputs = 1,
6328   .output_size = 2,
6329   .output_type = nir_type_float32,
6330   .input_sizes = {
6331      1
6332   },
6333   .input_types = {
6334      nir_type_uint32
6335   },
6336   .is_conversion = false,
6337   .algebraic_properties =
6338      0
6339},
6340{
6341   .name = "unpack_unorm_4x8",
6342   .num_inputs = 1,
6343   .output_size = 4,
6344   .output_type = nir_type_float32,
6345   .input_sizes = {
6346      1
6347   },
6348   .input_types = {
6349      nir_type_uint32
6350   },
6351   .is_conversion = false,
6352   .algebraic_properties =
6353      0
6354},
6355{
6356   .name = "urhadd",
6357   .num_inputs = 2,
6358   .output_size = 0,
6359   .output_type = nir_type_uint,
6360   .input_sizes = {
6361      0, 0
6362   },
6363   .input_types = {
6364      nir_type_uint, nir_type_uint
6365   },
6366   .is_conversion = false,
6367   .algebraic_properties =
6368      NIR_OP_IS_2SRC_COMMUTATIVE
6369},
6370{
6371   .name = "urol",
6372   .num_inputs = 2,
6373   .output_size = 0,
6374   .output_type = nir_type_uint,
6375   .input_sizes = {
6376      0, 0
6377   },
6378   .input_types = {
6379      nir_type_uint, nir_type_uint32
6380   },
6381   .is_conversion = false,
6382   .algebraic_properties =
6383      0
6384},
6385{
6386   .name = "uror",
6387   .num_inputs = 2,
6388   .output_size = 0,
6389   .output_type = nir_type_uint,
6390   .input_sizes = {
6391      0, 0
6392   },
6393   .input_types = {
6394      nir_type_uint, nir_type_uint32
6395   },
6396   .is_conversion = false,
6397   .algebraic_properties =
6398      0
6399},
6400{
6401   .name = "usadd_4x8_vc4",
6402   .num_inputs = 2,
6403   .output_size = 0,
6404   .output_type = nir_type_int32,
6405   .input_sizes = {
6406      0, 0
6407   },
6408   .input_types = {
6409      nir_type_int32, nir_type_int32
6410   },
6411   .is_conversion = false,
6412   .algebraic_properties =
6413      NIR_OP_IS_2SRC_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
6414},
6415{
6416   .name = "ushr",
6417   .num_inputs = 2,
6418   .output_size = 0,
6419   .output_type = nir_type_uint,
6420   .input_sizes = {
6421      0, 0
6422   },
6423   .input_types = {
6424      nir_type_uint, nir_type_uint32
6425   },
6426   .is_conversion = false,
6427   .algebraic_properties =
6428      0
6429},
6430{
6431   .name = "ussub_4x8_vc4",
6432   .num_inputs = 2,
6433   .output_size = 0,
6434   .output_type = nir_type_int32,
6435   .input_sizes = {
6436      0, 0
6437   },
6438   .input_types = {
6439      nir_type_int32, nir_type_int32
6440   },
6441   .is_conversion = false,
6442   .algebraic_properties =
6443      0
6444},
6445{
6446   .name = "usub_borrow",
6447   .num_inputs = 2,
6448   .output_size = 0,
6449   .output_type = nir_type_uint,
6450   .input_sizes = {
6451      0, 0
6452   },
6453   .input_types = {
6454      nir_type_uint, nir_type_uint
6455   },
6456   .is_conversion = false,
6457   .algebraic_properties =
6458      0
6459},
6460{
6461   .name = "usub_sat",
6462   .num_inputs = 2,
6463   .output_size = 0,
6464   .output_type = nir_type_uint,
6465   .input_sizes = {
6466      0, 0
6467   },
6468   .input_types = {
6469      nir_type_uint, nir_type_uint
6470   },
6471   .is_conversion = false,
6472   .algebraic_properties =
6473      0
6474},
6475{
6476   .name = "vec16",
6477   .num_inputs = 16,
6478   .output_size = 16,
6479   .output_type = nir_type_uint,
6480   .input_sizes = {
6481      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
6482   },
6483   .input_types = {
6484      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
6485   },
6486   .is_conversion = false,
6487   .algebraic_properties =
6488      0
6489},
6490{
6491   .name = "vec2",
6492   .num_inputs = 2,
6493   .output_size = 2,
6494   .output_type = nir_type_uint,
6495   .input_sizes = {
6496      1, 1
6497   },
6498   .input_types = {
6499      nir_type_uint, nir_type_uint
6500   },
6501   .is_conversion = false,
6502   .algebraic_properties =
6503      0
6504},
6505{
6506   .name = "vec3",
6507   .num_inputs = 3,
6508   .output_size = 3,
6509   .output_type = nir_type_uint,
6510   .input_sizes = {
6511      1, 1, 1
6512   },
6513   .input_types = {
6514      nir_type_uint, nir_type_uint, nir_type_uint
6515   },
6516   .is_conversion = false,
6517   .algebraic_properties =
6518      0
6519},
6520{
6521   .name = "vec4",
6522   .num_inputs = 4,
6523   .output_size = 4,
6524   .output_type = nir_type_uint,
6525   .input_sizes = {
6526      1, 1, 1, 1
6527   },
6528   .input_types = {
6529      nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint
6530   },
6531   .is_conversion = false,
6532   .algebraic_properties =
6533      0
6534},
6535{
6536   .name = "vec5",
6537   .num_inputs = 5,
6538   .output_size = 5,
6539   .output_type = nir_type_uint,
6540   .input_sizes = {
6541      1, 1, 1, 1, 1
6542   },
6543   .input_types = {
6544      nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint
6545   },
6546   .is_conversion = false,
6547   .algebraic_properties =
6548      0
6549},
6550{
6551   .name = "vec8",
6552   .num_inputs = 8,
6553   .output_size = 8,
6554   .output_type = nir_type_uint,
6555   .input_sizes = {
6556      1, 1, 1, 1, 1, 1, 1, 1
6557   },
6558   .input_types = {
6559      nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint
6560   },
6561   .is_conversion = false,
6562   .algebraic_properties =
6563      0
6564},
6565};
6566
6567