Home | History | Annotate | Download | only in nir
      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