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