1 
2 #include "nir.h"
3 
4 const nir_op_info nir_op_infos[nir_num_opcodes] = {
5 {
6    .name = "b2f",
7    .num_inputs = 1,
8    .output_size = 0,
9    .output_type = nir_type_float32,
10    .input_sizes = {
11       0
12    },
13    .input_types = {
14       nir_type_bool32
15    },
16    .algebraic_properties =
17       0
18 },
19 {
20    .name = "b2i",
21    .num_inputs = 1,
22    .output_size = 0,
23    .output_type = nir_type_int32,
24    .input_sizes = {
25       0
26    },
27    .input_types = {
28       nir_type_bool32
29    },
30    .algebraic_properties =
31       0
32 },
33 {
34    .name = "ball_fequal2",
35    .num_inputs = 2,
36    .output_size = 1,
37    .output_type = nir_type_bool32,
38    .input_sizes = {
39       2, 2
40    },
41    .input_types = {
42       nir_type_float, nir_type_float
43    },
44    .algebraic_properties =
45       NIR_OP_IS_COMMUTATIVE
46 },
47 {
48    .name = "ball_fequal3",
49    .num_inputs = 2,
50    .output_size = 1,
51    .output_type = nir_type_bool32,
52    .input_sizes = {
53       3, 3
54    },
55    .input_types = {
56       nir_type_float, nir_type_float
57    },
58    .algebraic_properties =
59       NIR_OP_IS_COMMUTATIVE
60 },
61 {
62    .name = "ball_fequal4",
63    .num_inputs = 2,
64    .output_size = 1,
65    .output_type = nir_type_bool32,
66    .input_sizes = {
67       4, 4
68    },
69    .input_types = {
70       nir_type_float, nir_type_float
71    },
72    .algebraic_properties =
73       NIR_OP_IS_COMMUTATIVE
74 },
75 {
76    .name = "ball_iequal2",
77    .num_inputs = 2,
78    .output_size = 1,
79    .output_type = nir_type_bool32,
80    .input_sizes = {
81       2, 2
82    },
83    .input_types = {
84       nir_type_int, nir_type_int
85    },
86    .algebraic_properties =
87       NIR_OP_IS_COMMUTATIVE
88 },
89 {
90    .name = "ball_iequal3",
91    .num_inputs = 2,
92    .output_size = 1,
93    .output_type = nir_type_bool32,
94    .input_sizes = {
95       3, 3
96    },
97    .input_types = {
98       nir_type_int, nir_type_int
99    },
100    .algebraic_properties =
101       NIR_OP_IS_COMMUTATIVE
102 },
103 {
104    .name = "ball_iequal4",
105    .num_inputs = 2,
106    .output_size = 1,
107    .output_type = nir_type_bool32,
108    .input_sizes = {
109       4, 4
110    },
111    .input_types = {
112       nir_type_int, nir_type_int
113    },
114    .algebraic_properties =
115       NIR_OP_IS_COMMUTATIVE
116 },
117 {
118    .name = "bany_fnequal2",
119    .num_inputs = 2,
120    .output_size = 1,
121    .output_type = nir_type_bool32,
122    .input_sizes = {
123       2, 2
124    },
125    .input_types = {
126       nir_type_float, nir_type_float
127    },
128    .algebraic_properties =
129       NIR_OP_IS_COMMUTATIVE
130 },
131 {
132    .name = "bany_fnequal3",
133    .num_inputs = 2,
134    .output_size = 1,
135    .output_type = nir_type_bool32,
136    .input_sizes = {
137       3, 3
138    },
139    .input_types = {
140       nir_type_float, nir_type_float
141    },
142    .algebraic_properties =
143       NIR_OP_IS_COMMUTATIVE
144 },
145 {
146    .name = "bany_fnequal4",
147    .num_inputs = 2,
148    .output_size = 1,
149    .output_type = nir_type_bool32,
150    .input_sizes = {
151       4, 4
152    },
153    .input_types = {
154       nir_type_float, nir_type_float
155    },
156    .algebraic_properties =
157       NIR_OP_IS_COMMUTATIVE
158 },
159 {
160    .name = "bany_inequal2",
161    .num_inputs = 2,
162    .output_size = 1,
163    .output_type = nir_type_bool32,
164    .input_sizes = {
165       2, 2
166    },
167    .input_types = {
168       nir_type_int, nir_type_int
169    },
170    .algebraic_properties =
171       NIR_OP_IS_COMMUTATIVE
172 },
173 {
174    .name = "bany_inequal3",
175    .num_inputs = 2,
176    .output_size = 1,
177    .output_type = nir_type_bool32,
178    .input_sizes = {
179       3, 3
180    },
181    .input_types = {
182       nir_type_int, nir_type_int
183    },
184    .algebraic_properties =
185       NIR_OP_IS_COMMUTATIVE
186 },
187 {
188    .name = "bany_inequal4",
189    .num_inputs = 2,
190    .output_size = 1,
191    .output_type = nir_type_bool32,
192    .input_sizes = {
193       4, 4
194    },
195    .input_types = {
196       nir_type_int, nir_type_int
197    },
198    .algebraic_properties =
199       NIR_OP_IS_COMMUTATIVE
200 },
201 {
202    .name = "bcsel",
203    .num_inputs = 3,
204    .output_size = 0,
205    .output_type = nir_type_uint,
206    .input_sizes = {
207       0, 0, 0
208    },
209    .input_types = {
210       nir_type_bool32, nir_type_uint, nir_type_uint
211    },
212    .algebraic_properties =
213       0
214 },
215 {
216    .name = "bfi",
217    .num_inputs = 3,
218    .output_size = 0,
219    .output_type = nir_type_uint32,
220    .input_sizes = {
221       0, 0, 0
222    },
223    .input_types = {
224       nir_type_uint32, nir_type_uint32, nir_type_uint32
225    },
226    .algebraic_properties =
227       0
228 },
229 {
230    .name = "bfm",
231    .num_inputs = 2,
232    .output_size = 0,
233    .output_type = nir_type_uint32,
234    .input_sizes = {
235       0, 0
236    },
237    .input_types = {
238       nir_type_int32, nir_type_int32
239    },
240    .algebraic_properties =
241       0
242 },
243 {
244    .name = "bit_count",
245    .num_inputs = 1,
246    .output_size = 0,
247    .output_type = nir_type_uint32,
248    .input_sizes = {
249       0
250    },
251    .input_types = {
252       nir_type_uint32
253    },
254    .algebraic_properties =
255       0
256 },
257 {
258    .name = "bitfield_insert",
259    .num_inputs = 4,
260    .output_size = 0,
261    .output_type = nir_type_uint32,
262    .input_sizes = {
263       0, 0, 0, 0
264    },
265    .input_types = {
266       nir_type_uint32, nir_type_uint32, nir_type_int32, nir_type_int32
267    },
268    .algebraic_properties =
269       0
270 },
271 {
272    .name = "bitfield_reverse",
273    .num_inputs = 1,
274    .output_size = 0,
275    .output_type = nir_type_uint32,
276    .input_sizes = {
277       0
278    },
279    .input_types = {
280       nir_type_uint32
281    },
282    .algebraic_properties =
283       0
284 },
285 {
286    .name = "d2b",
287    .num_inputs = 1,
288    .output_size = 0,
289    .output_type = nir_type_bool32,
290    .input_sizes = {
291       0
292    },
293    .input_types = {
294       nir_type_float64
295    },
296    .algebraic_properties =
297       0
298 },
299 {
300    .name = "d2f",
301    .num_inputs = 1,
302    .output_size = 0,
303    .output_type = nir_type_float32,
304    .input_sizes = {
305       0
306    },
307    .input_types = {
308       nir_type_float64
309    },
310    .algebraic_properties =
311       0
312 },
313 {
314    .name = "d2i",
315    .num_inputs = 1,
316    .output_size = 0,
317    .output_type = nir_type_int32,
318    .input_sizes = {
319       0
320    },
321    .input_types = {
322       nir_type_float64
323    },
324    .algebraic_properties =
325       0
326 },
327 {
328    .name = "d2u",
329    .num_inputs = 1,
330    .output_size = 0,
331    .output_type = nir_type_uint32,
332    .input_sizes = {
333       0
334    },
335    .input_types = {
336       nir_type_float64
337    },
338    .algebraic_properties =
339       0
340 },
341 {
342    .name = "extract_i16",
343    .num_inputs = 2,
344    .output_size = 0,
345    .output_type = nir_type_int,
346    .input_sizes = {
347       0, 0
348    },
349    .input_types = {
350       nir_type_int, nir_type_int
351    },
352    .algebraic_properties =
353       0
354 },
355 {
356    .name = "extract_i8",
357    .num_inputs = 2,
358    .output_size = 0,
359    .output_type = nir_type_int,
360    .input_sizes = {
361       0, 0
362    },
363    .input_types = {
364       nir_type_int, nir_type_int
365    },
366    .algebraic_properties =
367       0
368 },
369 {
370    .name = "extract_u16",
371    .num_inputs = 2,
372    .output_size = 0,
373    .output_type = nir_type_uint,
374    .input_sizes = {
375       0, 0
376    },
377    .input_types = {
378       nir_type_uint, nir_type_uint
379    },
380    .algebraic_properties =
381       0
382 },
383 {
384    .name = "extract_u8",
385    .num_inputs = 2,
386    .output_size = 0,
387    .output_type = nir_type_uint,
388    .input_sizes = {
389       0, 0
390    },
391    .input_types = {
392       nir_type_uint, nir_type_uint
393    },
394    .algebraic_properties =
395       0
396 },
397 {
398    .name = "f2b",
399    .num_inputs = 1,
400    .output_size = 0,
401    .output_type = nir_type_bool32,
402    .input_sizes = {
403       0
404    },
405    .input_types = {
406       nir_type_float32
407    },
408    .algebraic_properties =
409       0
410 },
411 {
412    .name = "f2d",
413    .num_inputs = 1,
414    .output_size = 0,
415    .output_type = nir_type_float64,
416    .input_sizes = {
417       0
418    },
419    .input_types = {
420       nir_type_float32
421    },
422    .algebraic_properties =
423       0
424 },
425 {
426    .name = "f2i",
427    .num_inputs = 1,
428    .output_size = 0,
429    .output_type = nir_type_int32,
430    .input_sizes = {
431       0
432    },
433    .input_types = {
434       nir_type_float32
435    },
436    .algebraic_properties =
437       0
438 },
439 {
440    .name = "f2u",
441    .num_inputs = 1,
442    .output_size = 0,
443    .output_type = nir_type_uint32,
444    .input_sizes = {
445       0
446    },
447    .input_types = {
448       nir_type_float32
449    },
450    .algebraic_properties =
451       0
452 },
453 {
454    .name = "fabs",
455    .num_inputs = 1,
456    .output_size = 0,
457    .output_type = nir_type_float,
458    .input_sizes = {
459       0
460    },
461    .input_types = {
462       nir_type_float
463    },
464    .algebraic_properties =
465       0
466 },
467 {
468    .name = "fadd",
469    .num_inputs = 2,
470    .output_size = 0,
471    .output_type = nir_type_float,
472    .input_sizes = {
473       0, 0
474    },
475    .input_types = {
476       nir_type_float, nir_type_float
477    },
478    .algebraic_properties =
479       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
480 },
481 {
482    .name = "fall_equal2",
483    .num_inputs = 2,
484    .output_size = 1,
485    .output_type = nir_type_float32,
486    .input_sizes = {
487       2, 2
488    },
489    .input_types = {
490       nir_type_float32, nir_type_float32
491    },
492    .algebraic_properties =
493       NIR_OP_IS_COMMUTATIVE
494 },
495 {
496    .name = "fall_equal3",
497    .num_inputs = 2,
498    .output_size = 1,
499    .output_type = nir_type_float32,
500    .input_sizes = {
501       3, 3
502    },
503    .input_types = {
504       nir_type_float32, nir_type_float32
505    },
506    .algebraic_properties =
507       NIR_OP_IS_COMMUTATIVE
508 },
509 {
510    .name = "fall_equal4",
511    .num_inputs = 2,
512    .output_size = 1,
513    .output_type = nir_type_float32,
514    .input_sizes = {
515       4, 4
516    },
517    .input_types = {
518       nir_type_float32, nir_type_float32
519    },
520    .algebraic_properties =
521       NIR_OP_IS_COMMUTATIVE
522 },
523 {
524    .name = "fand",
525    .num_inputs = 2,
526    .output_size = 0,
527    .output_type = nir_type_float32,
528    .input_sizes = {
529       0, 0
530    },
531    .input_types = {
532       nir_type_float32, nir_type_float32
533    },
534    .algebraic_properties =
535       NIR_OP_IS_COMMUTATIVE
536 },
537 {
538    .name = "fany_nequal2",
539    .num_inputs = 2,
540    .output_size = 1,
541    .output_type = nir_type_float32,
542    .input_sizes = {
543       2, 2
544    },
545    .input_types = {
546       nir_type_float32, nir_type_float32
547    },
548    .algebraic_properties =
549       NIR_OP_IS_COMMUTATIVE
550 },
551 {
552    .name = "fany_nequal3",
553    .num_inputs = 2,
554    .output_size = 1,
555    .output_type = nir_type_float32,
556    .input_sizes = {
557       3, 3
558    },
559    .input_types = {
560       nir_type_float32, nir_type_float32
561    },
562    .algebraic_properties =
563       NIR_OP_IS_COMMUTATIVE
564 },
565 {
566    .name = "fany_nequal4",
567    .num_inputs = 2,
568    .output_size = 1,
569    .output_type = nir_type_float32,
570    .input_sizes = {
571       4, 4
572    },
573    .input_types = {
574       nir_type_float32, nir_type_float32
575    },
576    .algebraic_properties =
577       NIR_OP_IS_COMMUTATIVE
578 },
579 {
580    .name = "fceil",
581    .num_inputs = 1,
582    .output_size = 0,
583    .output_type = nir_type_float,
584    .input_sizes = {
585       0
586    },
587    .input_types = {
588       nir_type_float
589    },
590    .algebraic_properties =
591       0
592 },
593 {
594    .name = "fcos",
595    .num_inputs = 1,
596    .output_size = 0,
597    .output_type = nir_type_float,
598    .input_sizes = {
599       0
600    },
601    .input_types = {
602       nir_type_float
603    },
604    .algebraic_properties =
605       0
606 },
607 {
608    .name = "fcsel",
609    .num_inputs = 3,
610    .output_size = 0,
611    .output_type = nir_type_float32,
612    .input_sizes = {
613       0, 0, 0
614    },
615    .input_types = {
616       nir_type_float32, nir_type_float32, nir_type_float32
617    },
618    .algebraic_properties =
619       0
620 },
621 {
622    .name = "fddx",
623    .num_inputs = 1,
624    .output_size = 0,
625    .output_type = nir_type_float,
626    .input_sizes = {
627       0
628    },
629    .input_types = {
630       nir_type_float
631    },
632    .algebraic_properties =
633       0
634 },
635 {
636    .name = "fddx_coarse",
637    .num_inputs = 1,
638    .output_size = 0,
639    .output_type = nir_type_float,
640    .input_sizes = {
641       0
642    },
643    .input_types = {
644       nir_type_float
645    },
646    .algebraic_properties =
647       0
648 },
649 {
650    .name = "fddx_fine",
651    .num_inputs = 1,
652    .output_size = 0,
653    .output_type = nir_type_float,
654    .input_sizes = {
655       0
656    },
657    .input_types = {
658       nir_type_float
659    },
660    .algebraic_properties =
661       0
662 },
663 {
664    .name = "fddy",
665    .num_inputs = 1,
666    .output_size = 0,
667    .output_type = nir_type_float,
668    .input_sizes = {
669       0
670    },
671    .input_types = {
672       nir_type_float
673    },
674    .algebraic_properties =
675       0
676 },
677 {
678    .name = "fddy_coarse",
679    .num_inputs = 1,
680    .output_size = 0,
681    .output_type = nir_type_float,
682    .input_sizes = {
683       0
684    },
685    .input_types = {
686       nir_type_float
687    },
688    .algebraic_properties =
689       0
690 },
691 {
692    .name = "fddy_fine",
693    .num_inputs = 1,
694    .output_size = 0,
695    .output_type = nir_type_float,
696    .input_sizes = {
697       0
698    },
699    .input_types = {
700       nir_type_float
701    },
702    .algebraic_properties =
703       0
704 },
705 {
706    .name = "fdiv",
707    .num_inputs = 2,
708    .output_size = 0,
709    .output_type = nir_type_float,
710    .input_sizes = {
711       0, 0
712    },
713    .input_types = {
714       nir_type_float, nir_type_float
715    },
716    .algebraic_properties =
717       0
718 },
719 {
720    .name = "fdot2",
721    .num_inputs = 2,
722    .output_size = 1,
723    .output_type = nir_type_float,
724    .input_sizes = {
725       2, 2
726    },
727    .input_types = {
728       nir_type_float, nir_type_float
729    },
730    .algebraic_properties =
731       NIR_OP_IS_COMMUTATIVE
732 },
733 {
734    .name = "fdot3",
735    .num_inputs = 2,
736    .output_size = 1,
737    .output_type = nir_type_float,
738    .input_sizes = {
739       3, 3
740    },
741    .input_types = {
742       nir_type_float, nir_type_float
743    },
744    .algebraic_properties =
745       NIR_OP_IS_COMMUTATIVE
746 },
747 {
748    .name = "fdot4",
749    .num_inputs = 2,
750    .output_size = 1,
751    .output_type = nir_type_float,
752    .input_sizes = {
753       4, 4
754    },
755    .input_types = {
756       nir_type_float, nir_type_float
757    },
758    .algebraic_properties =
759       NIR_OP_IS_COMMUTATIVE
760 },
761 {
762    .name = "fdot_replicated2",
763    .num_inputs = 2,
764    .output_size = 4,
765    .output_type = nir_type_float,
766    .input_sizes = {
767       2, 2
768    },
769    .input_types = {
770       nir_type_float, nir_type_float
771    },
772    .algebraic_properties =
773       NIR_OP_IS_COMMUTATIVE
774 },
775 {
776    .name = "fdot_replicated3",
777    .num_inputs = 2,
778    .output_size = 4,
779    .output_type = nir_type_float,
780    .input_sizes = {
781       3, 3
782    },
783    .input_types = {
784       nir_type_float, nir_type_float
785    },
786    .algebraic_properties =
787       NIR_OP_IS_COMMUTATIVE
788 },
789 {
790    .name = "fdot_replicated4",
791    .num_inputs = 2,
792    .output_size = 4,
793    .output_type = nir_type_float,
794    .input_sizes = {
795       4, 4
796    },
797    .input_types = {
798       nir_type_float, nir_type_float
799    },
800    .algebraic_properties =
801       NIR_OP_IS_COMMUTATIVE
802 },
803 {
804    .name = "fdph",
805    .num_inputs = 2,
806    .output_size = 1,
807    .output_type = nir_type_float,
808    .input_sizes = {
809       3, 4
810    },
811    .input_types = {
812       nir_type_float, nir_type_float
813    },
814    .algebraic_properties =
815       0
816 },
817 {
818    .name = "fdph_replicated",
819    .num_inputs = 2,
820    .output_size = 4,
821    .output_type = nir_type_float,
822    .input_sizes = {
823       3, 4
824    },
825    .input_types = {
826       nir_type_float, nir_type_float
827    },
828    .algebraic_properties =
829       0
830 },
831 {
832    .name = "feq",
833    .num_inputs = 2,
834    .output_size = 0,
835    .output_type = nir_type_bool32,
836    .input_sizes = {
837       0, 0
838    },
839    .input_types = {
840       nir_type_float, nir_type_float
841    },
842    .algebraic_properties =
843       NIR_OP_IS_COMMUTATIVE
844 },
845 {
846    .name = "fexp2",
847    .num_inputs = 1,
848    .output_size = 0,
849    .output_type = nir_type_float,
850    .input_sizes = {
851       0
852    },
853    .input_types = {
854       nir_type_float
855    },
856    .algebraic_properties =
857       0
858 },
859 {
860    .name = "ffloor",
861    .num_inputs = 1,
862    .output_size = 0,
863    .output_type = nir_type_float,
864    .input_sizes = {
865       0
866    },
867    .input_types = {
868       nir_type_float
869    },
870    .algebraic_properties =
871       0
872 },
873 {
874    .name = "ffma",
875    .num_inputs = 3,
876    .output_size = 0,
877    .output_type = nir_type_float,
878    .input_sizes = {
879       0, 0, 0
880    },
881    .input_types = {
882       nir_type_float, nir_type_float, nir_type_float
883    },
884    .algebraic_properties =
885       0
886 },
887 {
888    .name = "ffract",
889    .num_inputs = 1,
890    .output_size = 0,
891    .output_type = nir_type_float,
892    .input_sizes = {
893       0
894    },
895    .input_types = {
896       nir_type_float
897    },
898    .algebraic_properties =
899       0
900 },
901 {
902    .name = "fge",
903    .num_inputs = 2,
904    .output_size = 0,
905    .output_type = nir_type_bool32,
906    .input_sizes = {
907       0, 0
908    },
909    .input_types = {
910       nir_type_float, nir_type_float
911    },
912    .algebraic_properties =
913       0
914 },
915 {
916    .name = "find_lsb",
917    .num_inputs = 1,
918    .output_size = 0,
919    .output_type = nir_type_int32,
920    .input_sizes = {
921       0
922    },
923    .input_types = {
924       nir_type_int32
925    },
926    .algebraic_properties =
927       0
928 },
929 {
930    .name = "flog2",
931    .num_inputs = 1,
932    .output_size = 0,
933    .output_type = nir_type_float,
934    .input_sizes = {
935       0
936    },
937    .input_types = {
938       nir_type_float
939    },
940    .algebraic_properties =
941       0
942 },
943 {
944    .name = "flrp",
945    .num_inputs = 3,
946    .output_size = 0,
947    .output_type = nir_type_float,
948    .input_sizes = {
949       0, 0, 0
950    },
951    .input_types = {
952       nir_type_float, nir_type_float, nir_type_float
953    },
954    .algebraic_properties =
955       0
956 },
957 {
958    .name = "flt",
959    .num_inputs = 2,
960    .output_size = 0,
961    .output_type = nir_type_bool32,
962    .input_sizes = {
963       0, 0
964    },
965    .input_types = {
966       nir_type_float, nir_type_float
967    },
968    .algebraic_properties =
969       0
970 },
971 {
972    .name = "fmax",
973    .num_inputs = 2,
974    .output_size = 0,
975    .output_type = nir_type_float,
976    .input_sizes = {
977       0, 0
978    },
979    .input_types = {
980       nir_type_float, nir_type_float
981    },
982    .algebraic_properties =
983       0
984 },
985 {
986    .name = "fmin",
987    .num_inputs = 2,
988    .output_size = 0,
989    .output_type = nir_type_float,
990    .input_sizes = {
991       0, 0
992    },
993    .input_types = {
994       nir_type_float, nir_type_float
995    },
996    .algebraic_properties =
997       0
998 },
999 {
1000    .name = "fmod",
1001    .num_inputs = 2,
1002    .output_size = 0,
1003    .output_type = nir_type_float,
1004    .input_sizes = {
1005       0, 0
1006    },
1007    .input_types = {
1008       nir_type_float, nir_type_float
1009    },
1010    .algebraic_properties =
1011       0
1012 },
1013 {
1014    .name = "fmov",
1015    .num_inputs = 1,
1016    .output_size = 0,
1017    .output_type = nir_type_float,
1018    .input_sizes = {
1019       0
1020    },
1021    .input_types = {
1022       nir_type_float
1023    },
1024    .algebraic_properties =
1025       0
1026 },
1027 {
1028    .name = "fmul",
1029    .num_inputs = 2,
1030    .output_size = 0,
1031    .output_type = nir_type_float,
1032    .input_sizes = {
1033       0, 0
1034    },
1035    .input_types = {
1036       nir_type_float, nir_type_float
1037    },
1038    .algebraic_properties =
1039       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1040 },
1041 {
1042    .name = "fne",
1043    .num_inputs = 2,
1044    .output_size = 0,
1045    .output_type = nir_type_bool32,
1046    .input_sizes = {
1047       0, 0
1048    },
1049    .input_types = {
1050       nir_type_float, nir_type_float
1051    },
1052    .algebraic_properties =
1053       NIR_OP_IS_COMMUTATIVE
1054 },
1055 {
1056    .name = "fneg",
1057    .num_inputs = 1,
1058    .output_size = 0,
1059    .output_type = nir_type_float,
1060    .input_sizes = {
1061       0
1062    },
1063    .input_types = {
1064       nir_type_float
1065    },
1066    .algebraic_properties =
1067       0
1068 },
1069 {
1070    .name = "fnoise1_1",
1071    .num_inputs = 1,
1072    .output_size = 1,
1073    .output_type = nir_type_float,
1074    .input_sizes = {
1075       1
1076    },
1077    .input_types = {
1078       nir_type_float
1079    },
1080    .algebraic_properties =
1081       0
1082 },
1083 {
1084    .name = "fnoise1_2",
1085    .num_inputs = 1,
1086    .output_size = 1,
1087    .output_type = nir_type_float,
1088    .input_sizes = {
1089       2
1090    },
1091    .input_types = {
1092       nir_type_float
1093    },
1094    .algebraic_properties =
1095       0
1096 },
1097 {
1098    .name = "fnoise1_3",
1099    .num_inputs = 1,
1100    .output_size = 1,
1101    .output_type = nir_type_float,
1102    .input_sizes = {
1103       3
1104    },
1105    .input_types = {
1106       nir_type_float
1107    },
1108    .algebraic_properties =
1109       0
1110 },
1111 {
1112    .name = "fnoise1_4",
1113    .num_inputs = 1,
1114    .output_size = 1,
1115    .output_type = nir_type_float,
1116    .input_sizes = {
1117       4
1118    },
1119    .input_types = {
1120       nir_type_float
1121    },
1122    .algebraic_properties =
1123       0
1124 },
1125 {
1126    .name = "fnoise2_1",
1127    .num_inputs = 1,
1128    .output_size = 2,
1129    .output_type = nir_type_float,
1130    .input_sizes = {
1131       1
1132    },
1133    .input_types = {
1134       nir_type_float
1135    },
1136    .algebraic_properties =
1137       0
1138 },
1139 {
1140    .name = "fnoise2_2",
1141    .num_inputs = 1,
1142    .output_size = 2,
1143    .output_type = nir_type_float,
1144    .input_sizes = {
1145       2
1146    },
1147    .input_types = {
1148       nir_type_float
1149    },
1150    .algebraic_properties =
1151       0
1152 },
1153 {
1154    .name = "fnoise2_3",
1155    .num_inputs = 1,
1156    .output_size = 2,
1157    .output_type = nir_type_float,
1158    .input_sizes = {
1159       3
1160    },
1161    .input_types = {
1162       nir_type_float
1163    },
1164    .algebraic_properties =
1165       0
1166 },
1167 {
1168    .name = "fnoise2_4",
1169    .num_inputs = 1,
1170    .output_size = 2,
1171    .output_type = nir_type_float,
1172    .input_sizes = {
1173       4
1174    },
1175    .input_types = {
1176       nir_type_float
1177    },
1178    .algebraic_properties =
1179       0
1180 },
1181 {
1182    .name = "fnoise3_1",
1183    .num_inputs = 1,
1184    .output_size = 3,
1185    .output_type = nir_type_float,
1186    .input_sizes = {
1187       1
1188    },
1189    .input_types = {
1190       nir_type_float
1191    },
1192    .algebraic_properties =
1193       0
1194 },
1195 {
1196    .name = "fnoise3_2",
1197    .num_inputs = 1,
1198    .output_size = 3,
1199    .output_type = nir_type_float,
1200    .input_sizes = {
1201       2
1202    },
1203    .input_types = {
1204       nir_type_float
1205    },
1206    .algebraic_properties =
1207       0
1208 },
1209 {
1210    .name = "fnoise3_3",
1211    .num_inputs = 1,
1212    .output_size = 3,
1213    .output_type = nir_type_float,
1214    .input_sizes = {
1215       3
1216    },
1217    .input_types = {
1218       nir_type_float
1219    },
1220    .algebraic_properties =
1221       0
1222 },
1223 {
1224    .name = "fnoise3_4",
1225    .num_inputs = 1,
1226    .output_size = 3,
1227    .output_type = nir_type_float,
1228    .input_sizes = {
1229       4
1230    },
1231    .input_types = {
1232       nir_type_float
1233    },
1234    .algebraic_properties =
1235       0
1236 },
1237 {
1238    .name = "fnoise4_1",
1239    .num_inputs = 1,
1240    .output_size = 4,
1241    .output_type = nir_type_float,
1242    .input_sizes = {
1243       1
1244    },
1245    .input_types = {
1246       nir_type_float
1247    },
1248    .algebraic_properties =
1249       0
1250 },
1251 {
1252    .name = "fnoise4_2",
1253    .num_inputs = 1,
1254    .output_size = 4,
1255    .output_type = nir_type_float,
1256    .input_sizes = {
1257       2
1258    },
1259    .input_types = {
1260       nir_type_float
1261    },
1262    .algebraic_properties =
1263       0
1264 },
1265 {
1266    .name = "fnoise4_3",
1267    .num_inputs = 1,
1268    .output_size = 4,
1269    .output_type = nir_type_float,
1270    .input_sizes = {
1271       3
1272    },
1273    .input_types = {
1274       nir_type_float
1275    },
1276    .algebraic_properties =
1277       0
1278 },
1279 {
1280    .name = "fnoise4_4",
1281    .num_inputs = 1,
1282    .output_size = 4,
1283    .output_type = nir_type_float,
1284    .input_sizes = {
1285       4
1286    },
1287    .input_types = {
1288       nir_type_float
1289    },
1290    .algebraic_properties =
1291       0
1292 },
1293 {
1294    .name = "fnot",
1295    .num_inputs = 1,
1296    .output_size = 0,
1297    .output_type = nir_type_float,
1298    .input_sizes = {
1299       0
1300    },
1301    .input_types = {
1302       nir_type_float
1303    },
1304    .algebraic_properties =
1305       0
1306 },
1307 {
1308    .name = "for",
1309    .num_inputs = 2,
1310    .output_size = 0,
1311    .output_type = nir_type_float32,
1312    .input_sizes = {
1313       0, 0
1314    },
1315    .input_types = {
1316       nir_type_float32, nir_type_float32
1317    },
1318    .algebraic_properties =
1319       NIR_OP_IS_COMMUTATIVE
1320 },
1321 {
1322    .name = "fpow",
1323    .num_inputs = 2,
1324    .output_size = 0,
1325    .output_type = nir_type_float,
1326    .input_sizes = {
1327       0, 0
1328    },
1329    .input_types = {
1330       nir_type_float, nir_type_float
1331    },
1332    .algebraic_properties =
1333       0
1334 },
1335 {
1336    .name = "fquantize2f16",
1337    .num_inputs = 1,
1338    .output_size = 0,
1339    .output_type = nir_type_float,
1340    .input_sizes = {
1341       0
1342    },
1343    .input_types = {
1344       nir_type_float
1345    },
1346    .algebraic_properties =
1347       0
1348 },
1349 {
1350    .name = "frcp",
1351    .num_inputs = 1,
1352    .output_size = 0,
1353    .output_type = nir_type_float,
1354    .input_sizes = {
1355       0
1356    },
1357    .input_types = {
1358       nir_type_float
1359    },
1360    .algebraic_properties =
1361       0
1362 },
1363 {
1364    .name = "frem",
1365    .num_inputs = 2,
1366    .output_size = 0,
1367    .output_type = nir_type_float,
1368    .input_sizes = {
1369       0, 0
1370    },
1371    .input_types = {
1372       nir_type_float, nir_type_float
1373    },
1374    .algebraic_properties =
1375       0
1376 },
1377 {
1378    .name = "fround_even",
1379    .num_inputs = 1,
1380    .output_size = 0,
1381    .output_type = nir_type_float,
1382    .input_sizes = {
1383       0
1384    },
1385    .input_types = {
1386       nir_type_float
1387    },
1388    .algebraic_properties =
1389       0
1390 },
1391 {
1392    .name = "frsq",
1393    .num_inputs = 1,
1394    .output_size = 0,
1395    .output_type = nir_type_float,
1396    .input_sizes = {
1397       0
1398    },
1399    .input_types = {
1400       nir_type_float
1401    },
1402    .algebraic_properties =
1403       0
1404 },
1405 {
1406    .name = "fsat",
1407    .num_inputs = 1,
1408    .output_size = 0,
1409    .output_type = nir_type_float,
1410    .input_sizes = {
1411       0
1412    },
1413    .input_types = {
1414       nir_type_float
1415    },
1416    .algebraic_properties =
1417       0
1418 },
1419 {
1420    .name = "fsign",
1421    .num_inputs = 1,
1422    .output_size = 0,
1423    .output_type = nir_type_float,
1424    .input_sizes = {
1425       0
1426    },
1427    .input_types = {
1428       nir_type_float
1429    },
1430    .algebraic_properties =
1431       0
1432 },
1433 {
1434    .name = "fsin",
1435    .num_inputs = 1,
1436    .output_size = 0,
1437    .output_type = nir_type_float,
1438    .input_sizes = {
1439       0
1440    },
1441    .input_types = {
1442       nir_type_float
1443    },
1444    .algebraic_properties =
1445       0
1446 },
1447 {
1448    .name = "fsqrt",
1449    .num_inputs = 1,
1450    .output_size = 0,
1451    .output_type = nir_type_float,
1452    .input_sizes = {
1453       0
1454    },
1455    .input_types = {
1456       nir_type_float
1457    },
1458    .algebraic_properties =
1459       0
1460 },
1461 {
1462    .name = "fsub",
1463    .num_inputs = 2,
1464    .output_size = 0,
1465    .output_type = nir_type_float,
1466    .input_sizes = {
1467       0, 0
1468    },
1469    .input_types = {
1470       nir_type_float, nir_type_float
1471    },
1472    .algebraic_properties =
1473       0
1474 },
1475 {
1476    .name = "ftrunc",
1477    .num_inputs = 1,
1478    .output_size = 0,
1479    .output_type = nir_type_float,
1480    .input_sizes = {
1481       0
1482    },
1483    .input_types = {
1484       nir_type_float
1485    },
1486    .algebraic_properties =
1487       0
1488 },
1489 {
1490    .name = "fxor",
1491    .num_inputs = 2,
1492    .output_size = 0,
1493    .output_type = nir_type_float32,
1494    .input_sizes = {
1495       0, 0
1496    },
1497    .input_types = {
1498       nir_type_float32, nir_type_float32
1499    },
1500    .algebraic_properties =
1501       NIR_OP_IS_COMMUTATIVE
1502 },
1503 {
1504    .name = "i2b",
1505    .num_inputs = 1,
1506    .output_size = 0,
1507    .output_type = nir_type_bool32,
1508    .input_sizes = {
1509       0
1510    },
1511    .input_types = {
1512       nir_type_int32
1513    },
1514    .algebraic_properties =
1515       0
1516 },
1517 {
1518    .name = "i2d",
1519    .num_inputs = 1,
1520    .output_size = 0,
1521    .output_type = nir_type_float64,
1522    .input_sizes = {
1523       0
1524    },
1525    .input_types = {
1526       nir_type_int32
1527    },
1528    .algebraic_properties =
1529       0
1530 },
1531 {
1532    .name = "i2f",
1533    .num_inputs = 1,
1534    .output_size = 0,
1535    .output_type = nir_type_float32,
1536    .input_sizes = {
1537       0
1538    },
1539    .input_types = {
1540       nir_type_int32
1541    },
1542    .algebraic_properties =
1543       0
1544 },
1545 {
1546    .name = "iabs",
1547    .num_inputs = 1,
1548    .output_size = 0,
1549    .output_type = nir_type_int,
1550    .input_sizes = {
1551       0
1552    },
1553    .input_types = {
1554       nir_type_int
1555    },
1556    .algebraic_properties =
1557       0
1558 },
1559 {
1560    .name = "iadd",
1561    .num_inputs = 2,
1562    .output_size = 0,
1563    .output_type = nir_type_int,
1564    .input_sizes = {
1565       0, 0
1566    },
1567    .input_types = {
1568       nir_type_int, nir_type_int
1569    },
1570    .algebraic_properties =
1571       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1572 },
1573 {
1574    .name = "iand",
1575    .num_inputs = 2,
1576    .output_size = 0,
1577    .output_type = nir_type_uint,
1578    .input_sizes = {
1579       0, 0
1580    },
1581    .input_types = {
1582       nir_type_uint, nir_type_uint
1583    },
1584    .algebraic_properties =
1585       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1586 },
1587 {
1588    .name = "ibfe",
1589    .num_inputs = 3,
1590    .output_size = 0,
1591    .output_type = nir_type_int32,
1592    .input_sizes = {
1593       0, 0, 0
1594    },
1595    .input_types = {
1596       nir_type_int32, nir_type_int32, nir_type_int32
1597    },
1598    .algebraic_properties =
1599       0
1600 },
1601 {
1602    .name = "ibitfield_extract",
1603    .num_inputs = 3,
1604    .output_size = 0,
1605    .output_type = nir_type_int32,
1606    .input_sizes = {
1607       0, 0, 0
1608    },
1609    .input_types = {
1610       nir_type_int32, nir_type_int32, nir_type_int32
1611    },
1612    .algebraic_properties =
1613       0
1614 },
1615 {
1616    .name = "idiv",
1617    .num_inputs = 2,
1618    .output_size = 0,
1619    .output_type = nir_type_int,
1620    .input_sizes = {
1621       0, 0
1622    },
1623    .input_types = {
1624       nir_type_int, nir_type_int
1625    },
1626    .algebraic_properties =
1627       0
1628 },
1629 {
1630    .name = "ieq",
1631    .num_inputs = 2,
1632    .output_size = 0,
1633    .output_type = nir_type_bool32,
1634    .input_sizes = {
1635       0, 0
1636    },
1637    .input_types = {
1638       nir_type_int, nir_type_int
1639    },
1640    .algebraic_properties =
1641       NIR_OP_IS_COMMUTATIVE
1642 },
1643 {
1644    .name = "ifind_msb",
1645    .num_inputs = 1,
1646    .output_size = 0,
1647    .output_type = nir_type_int32,
1648    .input_sizes = {
1649       0
1650    },
1651    .input_types = {
1652       nir_type_int32
1653    },
1654    .algebraic_properties =
1655       0
1656 },
1657 {
1658    .name = "ige",
1659    .num_inputs = 2,
1660    .output_size = 0,
1661    .output_type = nir_type_bool32,
1662    .input_sizes = {
1663       0, 0
1664    },
1665    .input_types = {
1666       nir_type_int, nir_type_int
1667    },
1668    .algebraic_properties =
1669       0
1670 },
1671 {
1672    .name = "ilt",
1673    .num_inputs = 2,
1674    .output_size = 0,
1675    .output_type = nir_type_bool32,
1676    .input_sizes = {
1677       0, 0
1678    },
1679    .input_types = {
1680       nir_type_int, nir_type_int
1681    },
1682    .algebraic_properties =
1683       0
1684 },
1685 {
1686    .name = "imax",
1687    .num_inputs = 2,
1688    .output_size = 0,
1689    .output_type = nir_type_int,
1690    .input_sizes = {
1691       0, 0
1692    },
1693    .input_types = {
1694       nir_type_int, nir_type_int
1695    },
1696    .algebraic_properties =
1697       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1698 },
1699 {
1700    .name = "imin",
1701    .num_inputs = 2,
1702    .output_size = 0,
1703    .output_type = nir_type_int,
1704    .input_sizes = {
1705       0, 0
1706    },
1707    .input_types = {
1708       nir_type_int, nir_type_int
1709    },
1710    .algebraic_properties =
1711       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1712 },
1713 {
1714    .name = "imod",
1715    .num_inputs = 2,
1716    .output_size = 0,
1717    .output_type = nir_type_int,
1718    .input_sizes = {
1719       0, 0
1720    },
1721    .input_types = {
1722       nir_type_int, nir_type_int
1723    },
1724    .algebraic_properties =
1725       0
1726 },
1727 {
1728    .name = "imov",
1729    .num_inputs = 1,
1730    .output_size = 0,
1731    .output_type = nir_type_int,
1732    .input_sizes = {
1733       0
1734    },
1735    .input_types = {
1736       nir_type_int
1737    },
1738    .algebraic_properties =
1739       0
1740 },
1741 {
1742    .name = "imul",
1743    .num_inputs = 2,
1744    .output_size = 0,
1745    .output_type = nir_type_int,
1746    .input_sizes = {
1747       0, 0
1748    },
1749    .input_types = {
1750       nir_type_int, nir_type_int
1751    },
1752    .algebraic_properties =
1753       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1754 },
1755 {
1756    .name = "imul_high",
1757    .num_inputs = 2,
1758    .output_size = 0,
1759    .output_type = nir_type_int32,
1760    .input_sizes = {
1761       0, 0
1762    },
1763    .input_types = {
1764       nir_type_int32, nir_type_int32
1765    },
1766    .algebraic_properties =
1767       NIR_OP_IS_COMMUTATIVE
1768 },
1769 {
1770    .name = "ine",
1771    .num_inputs = 2,
1772    .output_size = 0,
1773    .output_type = nir_type_bool32,
1774    .input_sizes = {
1775       0, 0
1776    },
1777    .input_types = {
1778       nir_type_int, nir_type_int
1779    },
1780    .algebraic_properties =
1781       NIR_OP_IS_COMMUTATIVE
1782 },
1783 {
1784    .name = "ineg",
1785    .num_inputs = 1,
1786    .output_size = 0,
1787    .output_type = nir_type_int,
1788    .input_sizes = {
1789       0
1790    },
1791    .input_types = {
1792       nir_type_int
1793    },
1794    .algebraic_properties =
1795       0
1796 },
1797 {
1798    .name = "inot",
1799    .num_inputs = 1,
1800    .output_size = 0,
1801    .output_type = nir_type_int,
1802    .input_sizes = {
1803       0
1804    },
1805    .input_types = {
1806       nir_type_int
1807    },
1808    .algebraic_properties =
1809       0
1810 },
1811 {
1812    .name = "ior",
1813    .num_inputs = 2,
1814    .output_size = 0,
1815    .output_type = nir_type_uint,
1816    .input_sizes = {
1817       0, 0
1818    },
1819    .input_types = {
1820       nir_type_uint, nir_type_uint
1821    },
1822    .algebraic_properties =
1823       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1824 },
1825 {
1826    .name = "irem",
1827    .num_inputs = 2,
1828    .output_size = 0,
1829    .output_type = nir_type_int,
1830    .input_sizes = {
1831       0, 0
1832    },
1833    .input_types = {
1834       nir_type_int, nir_type_int
1835    },
1836    .algebraic_properties =
1837       0
1838 },
1839 {
1840    .name = "ishl",
1841    .num_inputs = 2,
1842    .output_size = 0,
1843    .output_type = nir_type_int,
1844    .input_sizes = {
1845       0, 0
1846    },
1847    .input_types = {
1848       nir_type_int, nir_type_int
1849    },
1850    .algebraic_properties =
1851       0
1852 },
1853 {
1854    .name = "ishr",
1855    .num_inputs = 2,
1856    .output_size = 0,
1857    .output_type = nir_type_int,
1858    .input_sizes = {
1859       0, 0
1860    },
1861    .input_types = {
1862       nir_type_int, nir_type_int
1863    },
1864    .algebraic_properties =
1865       0
1866 },
1867 {
1868    .name = "isign",
1869    .num_inputs = 1,
1870    .output_size = 0,
1871    .output_type = nir_type_int,
1872    .input_sizes = {
1873       0
1874    },
1875    .input_types = {
1876       nir_type_int
1877    },
1878    .algebraic_properties =
1879       0
1880 },
1881 {
1882    .name = "isub",
1883    .num_inputs = 2,
1884    .output_size = 0,
1885    .output_type = nir_type_int,
1886    .input_sizes = {
1887       0, 0
1888    },
1889    .input_types = {
1890       nir_type_int, nir_type_int
1891    },
1892    .algebraic_properties =
1893       0
1894 },
1895 {
1896    .name = "ixor",
1897    .num_inputs = 2,
1898    .output_size = 0,
1899    .output_type = nir_type_uint,
1900    .input_sizes = {
1901       0, 0
1902    },
1903    .input_types = {
1904       nir_type_uint, nir_type_uint
1905    },
1906    .algebraic_properties =
1907       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1908 },
1909 {
1910    .name = "ldexp",
1911    .num_inputs = 2,
1912    .output_size = 0,
1913    .output_type = nir_type_float,
1914    .input_sizes = {
1915       0, 0
1916    },
1917    .input_types = {
1918       nir_type_float, nir_type_int32
1919    },
1920    .algebraic_properties =
1921       0
1922 },
1923 {
1924    .name = "pack_double_2x32",
1925    .num_inputs = 1,
1926    .output_size = 1,
1927    .output_type = nir_type_uint64,
1928    .input_sizes = {
1929       2
1930    },
1931    .input_types = {
1932       nir_type_uint32
1933    },
1934    .algebraic_properties =
1935       0
1936 },
1937 {
1938    .name = "pack_double_2x32_split",
1939    .num_inputs = 2,
1940    .output_size = 0,
1941    .output_type = nir_type_uint64,
1942    .input_sizes = {
1943       0, 0
1944    },
1945    .input_types = {
1946       nir_type_uint32, nir_type_uint32
1947    },
1948    .algebraic_properties =
1949       0
1950 },
1951 {
1952    .name = "pack_half_2x16",
1953    .num_inputs = 1,
1954    .output_size = 1,
1955    .output_type = nir_type_uint32,
1956    .input_sizes = {
1957       2
1958    },
1959    .input_types = {
1960       nir_type_float32
1961    },
1962    .algebraic_properties =
1963       0
1964 },
1965 {
1966    .name = "pack_half_2x16_split",
1967    .num_inputs = 2,
1968    .output_size = 1,
1969    .output_type = nir_type_uint32,
1970    .input_sizes = {
1971       1, 1
1972    },
1973    .input_types = {
1974       nir_type_float32, nir_type_float32
1975    },
1976    .algebraic_properties =
1977       0
1978 },
1979 {
1980    .name = "pack_snorm_2x16",
1981    .num_inputs = 1,
1982    .output_size = 1,
1983    .output_type = nir_type_uint32,
1984    .input_sizes = {
1985       2
1986    },
1987    .input_types = {
1988       nir_type_float32
1989    },
1990    .algebraic_properties =
1991       0
1992 },
1993 {
1994    .name = "pack_snorm_4x8",
1995    .num_inputs = 1,
1996    .output_size = 1,
1997    .output_type = nir_type_uint32,
1998    .input_sizes = {
1999       4
2000    },
2001    .input_types = {
2002       nir_type_float32
2003    },
2004    .algebraic_properties =
2005       0
2006 },
2007 {
2008    .name = "pack_unorm_2x16",
2009    .num_inputs = 1,
2010    .output_size = 1,
2011    .output_type = nir_type_uint32,
2012    .input_sizes = {
2013       2
2014    },
2015    .input_types = {
2016       nir_type_float32
2017    },
2018    .algebraic_properties =
2019       0
2020 },
2021 {
2022    .name = "pack_unorm_4x8",
2023    .num_inputs = 1,
2024    .output_size = 1,
2025    .output_type = nir_type_uint32,
2026    .input_sizes = {
2027       4
2028    },
2029    .input_types = {
2030       nir_type_float32
2031    },
2032    .algebraic_properties =
2033       0
2034 },
2035 {
2036    .name = "pack_uvec2_to_uint",
2037    .num_inputs = 1,
2038    .output_size = 1,
2039    .output_type = nir_type_uint32,
2040    .input_sizes = {
2041       2
2042    },
2043    .input_types = {
2044       nir_type_uint32
2045    },
2046    .algebraic_properties =
2047       0
2048 },
2049 {
2050    .name = "pack_uvec4_to_uint",
2051    .num_inputs = 1,
2052    .output_size = 1,
2053    .output_type = nir_type_uint32,
2054    .input_sizes = {
2055       4
2056    },
2057    .input_types = {
2058       nir_type_uint32
2059    },
2060    .algebraic_properties =
2061       0
2062 },
2063 {
2064    .name = "seq",
2065    .num_inputs = 2,
2066    .output_size = 0,
2067    .output_type = nir_type_float32,
2068    .input_sizes = {
2069       0, 0
2070    },
2071    .input_types = {
2072       nir_type_float32, nir_type_float32
2073    },
2074    .algebraic_properties =
2075       NIR_OP_IS_COMMUTATIVE
2076 },
2077 {
2078    .name = "sge",
2079    .num_inputs = 2,
2080    .output_size = 0,
2081    .output_type = nir_type_float32,
2082    .input_sizes = {
2083       0, 0
2084    },
2085    .input_types = {
2086       nir_type_float32, nir_type_float32
2087    },
2088    .algebraic_properties =
2089       0
2090 },
2091 {
2092    .name = "slt",
2093    .num_inputs = 2,
2094    .output_size = 0,
2095    .output_type = nir_type_float32,
2096    .input_sizes = {
2097       0, 0
2098    },
2099    .input_types = {
2100       nir_type_float32, nir_type_float32
2101    },
2102    .algebraic_properties =
2103       0
2104 },
2105 {
2106    .name = "sne",
2107    .num_inputs = 2,
2108    .output_size = 0,
2109    .output_type = nir_type_float32,
2110    .input_sizes = {
2111       0, 0
2112    },
2113    .input_types = {
2114       nir_type_float32, nir_type_float32
2115    },
2116    .algebraic_properties =
2117       NIR_OP_IS_COMMUTATIVE
2118 },
2119 {
2120    .name = "u2d",
2121    .num_inputs = 1,
2122    .output_size = 0,
2123    .output_type = nir_type_float64,
2124    .input_sizes = {
2125       0
2126    },
2127    .input_types = {
2128       nir_type_uint32
2129    },
2130    .algebraic_properties =
2131       0
2132 },
2133 {
2134    .name = "u2f",
2135    .num_inputs = 1,
2136    .output_size = 0,
2137    .output_type = nir_type_float32,
2138    .input_sizes = {
2139       0
2140    },
2141    .input_types = {
2142       nir_type_uint32
2143    },
2144    .algebraic_properties =
2145       0
2146 },
2147 {
2148    .name = "uadd_carry",
2149    .num_inputs = 2,
2150    .output_size = 0,
2151    .output_type = nir_type_uint,
2152    .input_sizes = {
2153       0, 0
2154    },
2155    .input_types = {
2156       nir_type_uint, nir_type_uint
2157    },
2158    .algebraic_properties =
2159       NIR_OP_IS_COMMUTATIVE
2160 },
2161 {
2162    .name = "ubfe",
2163    .num_inputs = 3,
2164    .output_size = 0,
2165    .output_type = nir_type_uint32,
2166    .input_sizes = {
2167       0, 0, 0
2168    },
2169    .input_types = {
2170       nir_type_uint32, nir_type_int32, nir_type_int32
2171    },
2172    .algebraic_properties =
2173       0
2174 },
2175 {
2176    .name = "ubitfield_extract",
2177    .num_inputs = 3,
2178    .output_size = 0,
2179    .output_type = nir_type_uint32,
2180    .input_sizes = {
2181       0, 0, 0
2182    },
2183    .input_types = {
2184       nir_type_uint32, nir_type_int32, nir_type_int32
2185    },
2186    .algebraic_properties =
2187       0
2188 },
2189 {
2190    .name = "udiv",
2191    .num_inputs = 2,
2192    .output_size = 0,
2193    .output_type = nir_type_uint,
2194    .input_sizes = {
2195       0, 0
2196    },
2197    .input_types = {
2198       nir_type_uint, nir_type_uint
2199    },
2200    .algebraic_properties =
2201       0
2202 },
2203 {
2204    .name = "ufind_msb",
2205    .num_inputs = 1,
2206    .output_size = 0,
2207    .output_type = nir_type_int32,
2208    .input_sizes = {
2209       0
2210    },
2211    .input_types = {
2212       nir_type_uint32
2213    },
2214    .algebraic_properties =
2215       0
2216 },
2217 {
2218    .name = "uge",
2219    .num_inputs = 2,
2220    .output_size = 0,
2221    .output_type = nir_type_bool32,
2222    .input_sizes = {
2223       0, 0
2224    },
2225    .input_types = {
2226       nir_type_uint, nir_type_uint
2227    },
2228    .algebraic_properties =
2229       0
2230 },
2231 {
2232    .name = "ult",
2233    .num_inputs = 2,
2234    .output_size = 0,
2235    .output_type = nir_type_bool32,
2236    .input_sizes = {
2237       0, 0
2238    },
2239    .input_types = {
2240       nir_type_uint, nir_type_uint
2241    },
2242    .algebraic_properties =
2243       0
2244 },
2245 {
2246    .name = "umax",
2247    .num_inputs = 2,
2248    .output_size = 0,
2249    .output_type = nir_type_uint,
2250    .input_sizes = {
2251       0, 0
2252    },
2253    .input_types = {
2254       nir_type_uint, nir_type_uint
2255    },
2256    .algebraic_properties =
2257       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2258 },
2259 {
2260    .name = "umax_4x8",
2261    .num_inputs = 2,
2262    .output_size = 0,
2263    .output_type = nir_type_int32,
2264    .input_sizes = {
2265       0, 0
2266    },
2267    .input_types = {
2268       nir_type_int32, nir_type_int32
2269    },
2270    .algebraic_properties =
2271       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2272 },
2273 {
2274    .name = "umin",
2275    .num_inputs = 2,
2276    .output_size = 0,
2277    .output_type = nir_type_uint,
2278    .input_sizes = {
2279       0, 0
2280    },
2281    .input_types = {
2282       nir_type_uint, nir_type_uint
2283    },
2284    .algebraic_properties =
2285       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2286 },
2287 {
2288    .name = "umin_4x8",
2289    .num_inputs = 2,
2290    .output_size = 0,
2291    .output_type = nir_type_int32,
2292    .input_sizes = {
2293       0, 0
2294    },
2295    .input_types = {
2296       nir_type_int32, nir_type_int32
2297    },
2298    .algebraic_properties =
2299       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2300 },
2301 {
2302    .name = "umod",
2303    .num_inputs = 2,
2304    .output_size = 0,
2305    .output_type = nir_type_uint,
2306    .input_sizes = {
2307       0, 0
2308    },
2309    .input_types = {
2310       nir_type_uint, nir_type_uint
2311    },
2312    .algebraic_properties =
2313       0
2314 },
2315 {
2316    .name = "umul_high",
2317    .num_inputs = 2,
2318    .output_size = 0,
2319    .output_type = nir_type_uint32,
2320    .input_sizes = {
2321       0, 0
2322    },
2323    .input_types = {
2324       nir_type_uint32, nir_type_uint32
2325    },
2326    .algebraic_properties =
2327       NIR_OP_IS_COMMUTATIVE
2328 },
2329 {
2330    .name = "umul_unorm_4x8",
2331    .num_inputs = 2,
2332    .output_size = 0,
2333    .output_type = nir_type_int32,
2334    .input_sizes = {
2335       0, 0
2336    },
2337    .input_types = {
2338       nir_type_int32, nir_type_int32
2339    },
2340    .algebraic_properties =
2341       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2342 },
2343 {
2344    .name = "unpack_double_2x32",
2345    .num_inputs = 1,
2346    .output_size = 2,
2347    .output_type = nir_type_uint32,
2348    .input_sizes = {
2349       1
2350    },
2351    .input_types = {
2352       nir_type_uint64
2353    },
2354    .algebraic_properties =
2355       0
2356 },
2357 {
2358    .name = "unpack_double_2x32_split_x",
2359    .num_inputs = 1,
2360    .output_size = 0,
2361    .output_type = nir_type_uint32,
2362    .input_sizes = {
2363       0
2364    },
2365    .input_types = {
2366       nir_type_uint64
2367    },
2368    .algebraic_properties =
2369       0
2370 },
2371 {
2372    .name = "unpack_double_2x32_split_y",
2373    .num_inputs = 1,
2374    .output_size = 0,
2375    .output_type = nir_type_uint32,
2376    .input_sizes = {
2377       0
2378    },
2379    .input_types = {
2380       nir_type_uint64
2381    },
2382    .algebraic_properties =
2383       0
2384 },
2385 {
2386    .name = "unpack_half_2x16",
2387    .num_inputs = 1,
2388    .output_size = 2,
2389    .output_type = nir_type_float32,
2390    .input_sizes = {
2391       1
2392    },
2393    .input_types = {
2394       nir_type_uint32
2395    },
2396    .algebraic_properties =
2397       0
2398 },
2399 {
2400    .name = "unpack_half_2x16_split_x",
2401    .num_inputs = 1,
2402    .output_size = 1,
2403    .output_type = nir_type_float32,
2404    .input_sizes = {
2405       1
2406    },
2407    .input_types = {
2408       nir_type_uint32
2409    },
2410    .algebraic_properties =
2411       0
2412 },
2413 {
2414    .name = "unpack_half_2x16_split_y",
2415    .num_inputs = 1,
2416    .output_size = 1,
2417    .output_type = nir_type_float32,
2418    .input_sizes = {
2419       1
2420    },
2421    .input_types = {
2422       nir_type_uint32
2423    },
2424    .algebraic_properties =
2425       0
2426 },
2427 {
2428    .name = "unpack_snorm_2x16",
2429    .num_inputs = 1,
2430    .output_size = 2,
2431    .output_type = nir_type_float32,
2432    .input_sizes = {
2433       1
2434    },
2435    .input_types = {
2436       nir_type_uint32
2437    },
2438    .algebraic_properties =
2439       0
2440 },
2441 {
2442    .name = "unpack_snorm_4x8",
2443    .num_inputs = 1,
2444    .output_size = 4,
2445    .output_type = nir_type_float32,
2446    .input_sizes = {
2447       1
2448    },
2449    .input_types = {
2450       nir_type_uint32
2451    },
2452    .algebraic_properties =
2453       0
2454 },
2455 {
2456    .name = "unpack_unorm_2x16",
2457    .num_inputs = 1,
2458    .output_size = 2,
2459    .output_type = nir_type_float32,
2460    .input_sizes = {
2461       1
2462    },
2463    .input_types = {
2464       nir_type_uint32
2465    },
2466    .algebraic_properties =
2467       0
2468 },
2469 {
2470    .name = "unpack_unorm_4x8",
2471    .num_inputs = 1,
2472    .output_size = 4,
2473    .output_type = nir_type_float32,
2474    .input_sizes = {
2475       1
2476    },
2477    .input_types = {
2478       nir_type_uint32
2479    },
2480    .algebraic_properties =
2481       0
2482 },
2483 {
2484    .name = "usadd_4x8",
2485    .num_inputs = 2,
2486    .output_size = 0,
2487    .output_type = nir_type_int32,
2488    .input_sizes = {
2489       0, 0
2490    },
2491    .input_types = {
2492       nir_type_int32, nir_type_int32
2493    },
2494    .algebraic_properties =
2495       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2496 },
2497 {
2498    .name = "ushr",
2499    .num_inputs = 2,
2500    .output_size = 0,
2501    .output_type = nir_type_uint,
2502    .input_sizes = {
2503       0, 0
2504    },
2505    .input_types = {
2506       nir_type_uint, nir_type_uint
2507    },
2508    .algebraic_properties =
2509       0
2510 },
2511 {
2512    .name = "ussub_4x8",
2513    .num_inputs = 2,
2514    .output_size = 0,
2515    .output_type = nir_type_int32,
2516    .input_sizes = {
2517       0, 0
2518    },
2519    .input_types = {
2520       nir_type_int32, nir_type_int32
2521    },
2522    .algebraic_properties =
2523       0
2524 },
2525 {
2526    .name = "usub_borrow",
2527    .num_inputs = 2,
2528    .output_size = 0,
2529    .output_type = nir_type_uint,
2530    .input_sizes = {
2531       0, 0
2532    },
2533    .input_types = {
2534       nir_type_uint, nir_type_uint
2535    },
2536    .algebraic_properties =
2537       0
2538 },
2539 {
2540    .name = "vec2",
2541    .num_inputs = 2,
2542    .output_size = 2,
2543    .output_type = nir_type_uint,
2544    .input_sizes = {
2545       1, 1
2546    },
2547    .input_types = {
2548       nir_type_uint, nir_type_uint
2549    },
2550    .algebraic_properties =
2551       0
2552 },
2553 {
2554    .name = "vec3",
2555    .num_inputs = 3,
2556    .output_size = 3,
2557    .output_type = nir_type_uint,
2558    .input_sizes = {
2559       1, 1, 1
2560    },
2561    .input_types = {
2562       nir_type_uint, nir_type_uint, nir_type_uint
2563    },
2564    .algebraic_properties =
2565       0
2566 },
2567 {
2568    .name = "vec4",
2569    .num_inputs = 4,
2570    .output_size = 4,
2571    .output_type = nir_type_uint,
2572    .input_sizes = {
2573       1, 1, 1, 1
2574    },
2575    .input_types = {
2576       nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint
2577    },
2578    .algebraic_properties =
2579       0
2580 },
2581 };
2582 
2583