Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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_float,
  10.    .input_sizes = {
  11.       0
  12.    },
  13.    .input_types = {
  14.       nir_type_bool
  15.    },
  16.    .algebraic_properties =
  17.       0
  18. },
  19. {
  20.    .name = "b2i",
  21.    .num_inputs = 1,
  22.    .output_size = 0,
  23.    .output_type = nir_type_int,
  24.    .input_sizes = {
  25.       0
  26.    },
  27.    .input_types = {
  28.       nir_type_bool
  29.    },
  30.    .algebraic_properties =
  31.       0
  32. },
  33. {
  34.    .name = "ball2",
  35.    .num_inputs = 1,
  36.    .output_size = 1,
  37.    .output_type = nir_type_bool,
  38.    .input_sizes = {
  39.       2
  40.    },
  41.    .input_types = {
  42.       nir_type_bool
  43.    },
  44.    .algebraic_properties =
  45.       0
  46. },
  47. {
  48.    .name = "ball3",
  49.    .num_inputs = 1,
  50.    .output_size = 1,
  51.    .output_type = nir_type_bool,
  52.    .input_sizes = {
  53.       3
  54.    },
  55.    .input_types = {
  56.       nir_type_bool
  57.    },
  58.    .algebraic_properties =
  59.       0
  60. },
  61. {
  62.    .name = "ball4",
  63.    .num_inputs = 1,
  64.    .output_size = 1,
  65.    .output_type = nir_type_bool,
  66.    .input_sizes = {
  67.       4
  68.    },
  69.    .input_types = {
  70.       nir_type_bool
  71.    },
  72.    .algebraic_properties =
  73.       0
  74. },
  75. {
  76.    .name = "ball_fequal2",
  77.    .num_inputs = 2,
  78.    .output_size = 1,
  79.    .output_type = nir_type_bool,
  80.    .input_sizes = {
  81.       2, 2
  82.    },
  83.    .input_types = {
  84.       nir_type_float, nir_type_float
  85.    },
  86.    .algebraic_properties =
  87.       NIR_OP_IS_COMMUTATIVE
  88. },
  89. {
  90.    .name = "ball_fequal3",
  91.    .num_inputs = 2,
  92.    .output_size = 1,
  93.    .output_type = nir_type_bool,
  94.    .input_sizes = {
  95.       3, 3
  96.    },
  97.    .input_types = {
  98.       nir_type_float, nir_type_float
  99.    },
  100.    .algebraic_properties =
  101.       NIR_OP_IS_COMMUTATIVE
  102. },
  103. {
  104.    .name = "ball_fequal4",
  105.    .num_inputs = 2,
  106.    .output_size = 1,
  107.    .output_type = nir_type_bool,
  108.    .input_sizes = {
  109.       4, 4
  110.    },
  111.    .input_types = {
  112.       nir_type_float, nir_type_float
  113.    },
  114.    .algebraic_properties =
  115.       NIR_OP_IS_COMMUTATIVE
  116. },
  117. {
  118.    .name = "ball_iequal2",
  119.    .num_inputs = 2,
  120.    .output_size = 1,
  121.    .output_type = nir_type_bool,
  122.    .input_sizes = {
  123.       2, 2
  124.    },
  125.    .input_types = {
  126.       nir_type_int, nir_type_int
  127.    },
  128.    .algebraic_properties =
  129.       NIR_OP_IS_COMMUTATIVE
  130. },
  131. {
  132.    .name = "ball_iequal3",
  133.    .num_inputs = 2,
  134.    .output_size = 1,
  135.    .output_type = nir_type_bool,
  136.    .input_sizes = {
  137.       3, 3
  138.    },
  139.    .input_types = {
  140.       nir_type_int, nir_type_int
  141.    },
  142.    .algebraic_properties =
  143.       NIR_OP_IS_COMMUTATIVE
  144. },
  145. {
  146.    .name = "ball_iequal4",
  147.    .num_inputs = 2,
  148.    .output_size = 1,
  149.    .output_type = nir_type_bool,
  150.    .input_sizes = {
  151.       4, 4
  152.    },
  153.    .input_types = {
  154.       nir_type_int, nir_type_int
  155.    },
  156.    .algebraic_properties =
  157.       NIR_OP_IS_COMMUTATIVE
  158. },
  159. {
  160.    .name = "bany2",
  161.    .num_inputs = 1,
  162.    .output_size = 1,
  163.    .output_type = nir_type_bool,
  164.    .input_sizes = {
  165.       2
  166.    },
  167.    .input_types = {
  168.       nir_type_bool
  169.    },
  170.    .algebraic_properties =
  171.       0
  172. },
  173. {
  174.    .name = "bany3",
  175.    .num_inputs = 1,
  176.    .output_size = 1,
  177.    .output_type = nir_type_bool,
  178.    .input_sizes = {
  179.       3
  180.    },
  181.    .input_types = {
  182.       nir_type_bool
  183.    },
  184.    .algebraic_properties =
  185.       0
  186. },
  187. {
  188.    .name = "bany4",
  189.    .num_inputs = 1,
  190.    .output_size = 1,
  191.    .output_type = nir_type_bool,
  192.    .input_sizes = {
  193.       4
  194.    },
  195.    .input_types = {
  196.       nir_type_bool
  197.    },
  198.    .algebraic_properties =
  199.       0
  200. },
  201. {
  202.    .name = "bany_fnequal2",
  203.    .num_inputs = 2,
  204.    .output_size = 1,
  205.    .output_type = nir_type_bool,
  206.    .input_sizes = {
  207.       2, 2
  208.    },
  209.    .input_types = {
  210.       nir_type_float, nir_type_float
  211.    },
  212.    .algebraic_properties =
  213.       NIR_OP_IS_COMMUTATIVE
  214. },
  215. {
  216.    .name = "bany_fnequal3",
  217.    .num_inputs = 2,
  218.    .output_size = 1,
  219.    .output_type = nir_type_bool,
  220.    .input_sizes = {
  221.       3, 3
  222.    },
  223.    .input_types = {
  224.       nir_type_float, nir_type_float
  225.    },
  226.    .algebraic_properties =
  227.       NIR_OP_IS_COMMUTATIVE
  228. },
  229. {
  230.    .name = "bany_fnequal4",
  231.    .num_inputs = 2,
  232.    .output_size = 1,
  233.    .output_type = nir_type_bool,
  234.    .input_sizes = {
  235.       4, 4
  236.    },
  237.    .input_types = {
  238.       nir_type_float, nir_type_float
  239.    },
  240.    .algebraic_properties =
  241.       NIR_OP_IS_COMMUTATIVE
  242. },
  243. {
  244.    .name = "bany_inequal2",
  245.    .num_inputs = 2,
  246.    .output_size = 1,
  247.    .output_type = nir_type_bool,
  248.    .input_sizes = {
  249.       2, 2
  250.    },
  251.    .input_types = {
  252.       nir_type_int, nir_type_int
  253.    },
  254.    .algebraic_properties =
  255.       NIR_OP_IS_COMMUTATIVE
  256. },
  257. {
  258.    .name = "bany_inequal3",
  259.    .num_inputs = 2,
  260.    .output_size = 1,
  261.    .output_type = nir_type_bool,
  262.    .input_sizes = {
  263.       3, 3
  264.    },
  265.    .input_types = {
  266.       nir_type_int, nir_type_int
  267.    },
  268.    .algebraic_properties =
  269.       NIR_OP_IS_COMMUTATIVE
  270. },
  271. {
  272.    .name = "bany_inequal4",
  273.    .num_inputs = 2,
  274.    .output_size = 1,
  275.    .output_type = nir_type_bool,
  276.    .input_sizes = {
  277.       4, 4
  278.    },
  279.    .input_types = {
  280.       nir_type_int, nir_type_int
  281.    },
  282.    .algebraic_properties =
  283.       NIR_OP_IS_COMMUTATIVE
  284. },
  285. {
  286.    .name = "bcsel",
  287.    .num_inputs = 3,
  288.    .output_size = 0,
  289.    .output_type = nir_type_unsigned,
  290.    .input_sizes = {
  291.       0, 0, 0
  292.    },
  293.    .input_types = {
  294.       nir_type_bool, nir_type_unsigned, nir_type_unsigned
  295.    },
  296.    .algebraic_properties =
  297.       0
  298. },
  299. {
  300.    .name = "bfi",
  301.    .num_inputs = 3,
  302.    .output_size = 0,
  303.    .output_type = nir_type_unsigned,
  304.    .input_sizes = {
  305.       0, 0, 0
  306.    },
  307.    .input_types = {
  308.       nir_type_unsigned, nir_type_unsigned, nir_type_unsigned
  309.    },
  310.    .algebraic_properties =
  311.       0
  312. },
  313. {
  314.    .name = "bfm",
  315.    .num_inputs = 2,
  316.    .output_size = 0,
  317.    .output_type = nir_type_unsigned,
  318.    .input_sizes = {
  319.       0, 0
  320.    },
  321.    .input_types = {
  322.       nir_type_int, nir_type_int
  323.    },
  324.    .algebraic_properties =
  325.       0
  326. },
  327. {
  328.    .name = "bit_count",
  329.    .num_inputs = 1,
  330.    .output_size = 0,
  331.    .output_type = nir_type_unsigned,
  332.    .input_sizes = {
  333.       0
  334.    },
  335.    .input_types = {
  336.       nir_type_unsigned
  337.    },
  338.    .algebraic_properties =
  339.       0
  340. },
  341. {
  342.    .name = "bitfield_insert",
  343.    .num_inputs = 4,
  344.    .output_size = 0,
  345.    .output_type = nir_type_unsigned,
  346.    .input_sizes = {
  347.       0, 0, 1, 1
  348.    },
  349.    .input_types = {
  350.       nir_type_unsigned, nir_type_unsigned, nir_type_int, nir_type_int
  351.    },
  352.    .algebraic_properties =
  353.       0
  354. },
  355. {
  356.    .name = "bitfield_reverse",
  357.    .num_inputs = 1,
  358.    .output_size = 0,
  359.    .output_type = nir_type_unsigned,
  360.    .input_sizes = {
  361.       0
  362.    },
  363.    .input_types = {
  364.       nir_type_unsigned
  365.    },
  366.    .algebraic_properties =
  367.       0
  368. },
  369. {
  370.    .name = "f2b",
  371.    .num_inputs = 1,
  372.    .output_size = 0,
  373.    .output_type = nir_type_bool,
  374.    .input_sizes = {
  375.       0
  376.    },
  377.    .input_types = {
  378.       nir_type_float
  379.    },
  380.    .algebraic_properties =
  381.       0
  382. },
  383. {
  384.    .name = "f2i",
  385.    .num_inputs = 1,
  386.    .output_size = 0,
  387.    .output_type = nir_type_int,
  388.    .input_sizes = {
  389.       0
  390.    },
  391.    .input_types = {
  392.       nir_type_float
  393.    },
  394.    .algebraic_properties =
  395.       0
  396. },
  397. {
  398.    .name = "f2u",
  399.    .num_inputs = 1,
  400.    .output_size = 0,
  401.    .output_type = nir_type_unsigned,
  402.    .input_sizes = {
  403.       0
  404.    },
  405.    .input_types = {
  406.       nir_type_float
  407.    },
  408.    .algebraic_properties =
  409.       0
  410. },
  411. {
  412.    .name = "fabs",
  413.    .num_inputs = 1,
  414.    .output_size = 0,
  415.    .output_type = nir_type_float,
  416.    .input_sizes = {
  417.       0
  418.    },
  419.    .input_types = {
  420.       nir_type_float
  421.    },
  422.    .algebraic_properties =
  423.       0
  424. },
  425. {
  426.    .name = "fadd",
  427.    .num_inputs = 2,
  428.    .output_size = 0,
  429.    .output_type = nir_type_float,
  430.    .input_sizes = {
  431.       0, 0
  432.    },
  433.    .input_types = {
  434.       nir_type_float, nir_type_float
  435.    },
  436.    .algebraic_properties =
  437.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  438. },
  439. {
  440.    .name = "fall2",
  441.    .num_inputs = 1,
  442.    .output_size = 1,
  443.    .output_type = nir_type_float,
  444.    .input_sizes = {
  445.       2
  446.    },
  447.    .input_types = {
  448.       nir_type_float
  449.    },
  450.    .algebraic_properties =
  451.       0
  452. },
  453. {
  454.    .name = "fall3",
  455.    .num_inputs = 1,
  456.    .output_size = 1,
  457.    .output_type = nir_type_float,
  458.    .input_sizes = {
  459.       3
  460.    },
  461.    .input_types = {
  462.       nir_type_float
  463.    },
  464.    .algebraic_properties =
  465.       0
  466. },
  467. {
  468.    .name = "fall4",
  469.    .num_inputs = 1,
  470.    .output_size = 1,
  471.    .output_type = nir_type_float,
  472.    .input_sizes = {
  473.       4
  474.    },
  475.    .input_types = {
  476.       nir_type_float
  477.    },
  478.    .algebraic_properties =
  479.       0
  480. },
  481. {
  482.    .name = "fall_equal2",
  483.    .num_inputs = 2,
  484.    .output_size = 1,
  485.    .output_type = nir_type_float,
  486.    .input_sizes = {
  487.       2, 2
  488.    },
  489.    .input_types = {
  490.       nir_type_float, nir_type_float
  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_float,
  500.    .input_sizes = {
  501.       3, 3
  502.    },
  503.    .input_types = {
  504.       nir_type_float, nir_type_float
  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_float,
  514.    .input_sizes = {
  515.       4, 4
  516.    },
  517.    .input_types = {
  518.       nir_type_float, nir_type_float
  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_float,
  528.    .input_sizes = {
  529.       0, 0
  530.    },
  531.    .input_types = {
  532.       nir_type_float, nir_type_float
  533.    },
  534.    .algebraic_properties =
  535.       NIR_OP_IS_COMMUTATIVE
  536. },
  537. {
  538.    .name = "fany2",
  539.    .num_inputs = 1,
  540.    .output_size = 1,
  541.    .output_type = nir_type_float,
  542.    .input_sizes = {
  543.       2
  544.    },
  545.    .input_types = {
  546.       nir_type_float
  547.    },
  548.    .algebraic_properties =
  549.       0
  550. },
  551. {
  552.    .name = "fany3",
  553.    .num_inputs = 1,
  554.    .output_size = 1,
  555.    .output_type = nir_type_float,
  556.    .input_sizes = {
  557.       3
  558.    },
  559.    .input_types = {
  560.       nir_type_float
  561.    },
  562.    .algebraic_properties =
  563.       0
  564. },
  565. {
  566.    .name = "fany4",
  567.    .num_inputs = 1,
  568.    .output_size = 1,
  569.    .output_type = nir_type_float,
  570.    .input_sizes = {
  571.       4
  572.    },
  573.    .input_types = {
  574.       nir_type_float
  575.    },
  576.    .algebraic_properties =
  577.       0
  578. },
  579. {
  580.    .name = "fany_nequal2",
  581.    .num_inputs = 2,
  582.    .output_size = 1,
  583.    .output_type = nir_type_float,
  584.    .input_sizes = {
  585.       2, 2
  586.    },
  587.    .input_types = {
  588.       nir_type_float, nir_type_float
  589.    },
  590.    .algebraic_properties =
  591.       NIR_OP_IS_COMMUTATIVE
  592. },
  593. {
  594.    .name = "fany_nequal3",
  595.    .num_inputs = 2,
  596.    .output_size = 1,
  597.    .output_type = nir_type_float,
  598.    .input_sizes = {
  599.       3, 3
  600.    },
  601.    .input_types = {
  602.       nir_type_float, nir_type_float
  603.    },
  604.    .algebraic_properties =
  605.       NIR_OP_IS_COMMUTATIVE
  606. },
  607. {
  608.    .name = "fany_nequal4",
  609.    .num_inputs = 2,
  610.    .output_size = 1,
  611.    .output_type = nir_type_float,
  612.    .input_sizes = {
  613.       4, 4
  614.    },
  615.    .input_types = {
  616.       nir_type_float, nir_type_float
  617.    },
  618.    .algebraic_properties =
  619.       NIR_OP_IS_COMMUTATIVE
  620. },
  621. {
  622.    .name = "fceil",
  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 = "fcos",
  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 = "fcsel",
  651.    .num_inputs = 3,
  652.    .output_size = 0,
  653.    .output_type = nir_type_float,
  654.    .input_sizes = {
  655.       0, 0, 0
  656.    },
  657.    .input_types = {
  658.       nir_type_float, nir_type_float, nir_type_float
  659.    },
  660.    .algebraic_properties =
  661.       0
  662. },
  663. {
  664.    .name = "fddx",
  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 = "fddx_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 = "fddx_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 = "fddy",
  707.    .num_inputs = 1,
  708.    .output_size = 0,
  709.    .output_type = nir_type_float,
  710.    .input_sizes = {
  711.       0
  712.    },
  713.    .input_types = {
  714.       nir_type_float
  715.    },
  716.    .algebraic_properties =
  717.       0
  718. },
  719. {
  720.    .name = "fddy_coarse",
  721.    .num_inputs = 1,
  722.    .output_size = 0,
  723.    .output_type = nir_type_float,
  724.    .input_sizes = {
  725.       0
  726.    },
  727.    .input_types = {
  728.       nir_type_float
  729.    },
  730.    .algebraic_properties =
  731.       0
  732. },
  733. {
  734.    .name = "fddy_fine",
  735.    .num_inputs = 1,
  736.    .output_size = 0,
  737.    .output_type = nir_type_float,
  738.    .input_sizes = {
  739.       0
  740.    },
  741.    .input_types = {
  742.       nir_type_float
  743.    },
  744.    .algebraic_properties =
  745.       0
  746. },
  747. {
  748.    .name = "fdiv",
  749.    .num_inputs = 2,
  750.    .output_size = 0,
  751.    .output_type = nir_type_float,
  752.    .input_sizes = {
  753.       0, 0
  754.    },
  755.    .input_types = {
  756.       nir_type_float, nir_type_float
  757.    },
  758.    .algebraic_properties =
  759.       0
  760. },
  761. {
  762.    .name = "fdot2",
  763.    .num_inputs = 2,
  764.    .output_size = 1,
  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 = "fdot3",
  777.    .num_inputs = 2,
  778.    .output_size = 1,
  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 = "fdot4",
  791.    .num_inputs = 2,
  792.    .output_size = 1,
  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 = "feq",
  805.    .num_inputs = 2,
  806.    .output_size = 0,
  807.    .output_type = nir_type_bool,
  808.    .input_sizes = {
  809.       0, 0
  810.    },
  811.    .input_types = {
  812.       nir_type_float, nir_type_float
  813.    },
  814.    .algebraic_properties =
  815.       NIR_OP_IS_COMMUTATIVE
  816. },
  817. {
  818.    .name = "fexp2",
  819.    .num_inputs = 1,
  820.    .output_size = 0,
  821.    .output_type = nir_type_float,
  822.    .input_sizes = {
  823.       0
  824.    },
  825.    .input_types = {
  826.       nir_type_float
  827.    },
  828.    .algebraic_properties =
  829.       0
  830. },
  831. {
  832.    .name = "ffloor",
  833.    .num_inputs = 1,
  834.    .output_size = 0,
  835.    .output_type = nir_type_float,
  836.    .input_sizes = {
  837.       0
  838.    },
  839.    .input_types = {
  840.       nir_type_float
  841.    },
  842.    .algebraic_properties =
  843.       0
  844. },
  845. {
  846.    .name = "ffma",
  847.    .num_inputs = 3,
  848.    .output_size = 0,
  849.    .output_type = nir_type_float,
  850.    .input_sizes = {
  851.       0, 0, 0
  852.    },
  853.    .input_types = {
  854.       nir_type_float, nir_type_float, nir_type_float
  855.    },
  856.    .algebraic_properties =
  857.       0
  858. },
  859. {
  860.    .name = "ffract",
  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 = "fge",
  875.    .num_inputs = 2,
  876.    .output_size = 0,
  877.    .output_type = nir_type_bool,
  878.    .input_sizes = {
  879.       0, 0
  880.    },
  881.    .input_types = {
  882.       nir_type_float, nir_type_float
  883.    },
  884.    .algebraic_properties =
  885.       0
  886. },
  887. {
  888.    .name = "find_lsb",
  889.    .num_inputs = 1,
  890.    .output_size = 0,
  891.    .output_type = nir_type_int,
  892.    .input_sizes = {
  893.       0
  894.    },
  895.    .input_types = {
  896.       nir_type_int
  897.    },
  898.    .algebraic_properties =
  899.       0
  900. },
  901. {
  902.    .name = "flog2",
  903.    .num_inputs = 1,
  904.    .output_size = 0,
  905.    .output_type = nir_type_float,
  906.    .input_sizes = {
  907.       0
  908.    },
  909.    .input_types = {
  910.       nir_type_float
  911.    },
  912.    .algebraic_properties =
  913.       0
  914. },
  915. {
  916.    .name = "flrp",
  917.    .num_inputs = 3,
  918.    .output_size = 0,
  919.    .output_type = nir_type_float,
  920.    .input_sizes = {
  921.       0, 0, 0
  922.    },
  923.    .input_types = {
  924.       nir_type_float, nir_type_float, nir_type_float
  925.    },
  926.    .algebraic_properties =
  927.       0
  928. },
  929. {
  930.    .name = "flt",
  931.    .num_inputs = 2,
  932.    .output_size = 0,
  933.    .output_type = nir_type_bool,
  934.    .input_sizes = {
  935.       0, 0
  936.    },
  937.    .input_types = {
  938.       nir_type_float, nir_type_float
  939.    },
  940.    .algebraic_properties =
  941.       0
  942. },
  943. {
  944.    .name = "fmax",
  945.    .num_inputs = 2,
  946.    .output_size = 0,
  947.    .output_type = nir_type_float,
  948.    .input_sizes = {
  949.       0, 0
  950.    },
  951.    .input_types = {
  952.       nir_type_float, nir_type_float
  953.    },
  954.    .algebraic_properties =
  955.       0
  956. },
  957. {
  958.    .name = "fmin",
  959.    .num_inputs = 2,
  960.    .output_size = 0,
  961.    .output_type = nir_type_float,
  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 = "fmod",
  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 = "fmov",
  987.    .num_inputs = 1,
  988.    .output_size = 0,
  989.    .output_type = nir_type_float,
  990.    .input_sizes = {
  991.       0
  992.    },
  993.    .input_types = {
  994.       nir_type_float
  995.    },
  996.    .algebraic_properties =
  997.       0
  998. },
  999. {
  1000.    .name = "fmul",
  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.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  1012. },
  1013. {
  1014.    .name = "fne",
  1015.    .num_inputs = 2,
  1016.    .output_size = 0,
  1017.    .output_type = nir_type_bool,
  1018.    .input_sizes = {
  1019.       0, 0
  1020.    },
  1021.    .input_types = {
  1022.       nir_type_float, nir_type_float
  1023.    },
  1024.    .algebraic_properties =
  1025.       NIR_OP_IS_COMMUTATIVE
  1026. },
  1027. {
  1028.    .name = "fneg",
  1029.    .num_inputs = 1,
  1030.    .output_size = 0,
  1031.    .output_type = nir_type_float,
  1032.    .input_sizes = {
  1033.       0
  1034.    },
  1035.    .input_types = {
  1036.       nir_type_float
  1037.    },
  1038.    .algebraic_properties =
  1039.       0
  1040. },
  1041. {
  1042.    .name = "fnoise1_1",
  1043.    .num_inputs = 1,
  1044.    .output_size = 1,
  1045.    .output_type = nir_type_float,
  1046.    .input_sizes = {
  1047.       1
  1048.    },
  1049.    .input_types = {
  1050.       nir_type_float
  1051.    },
  1052.    .algebraic_properties =
  1053.       0
  1054. },
  1055. {
  1056.    .name = "fnoise1_2",
  1057.    .num_inputs = 1,
  1058.    .output_size = 1,
  1059.    .output_type = nir_type_float,
  1060.    .input_sizes = {
  1061.       2
  1062.    },
  1063.    .input_types = {
  1064.       nir_type_float
  1065.    },
  1066.    .algebraic_properties =
  1067.       0
  1068. },
  1069. {
  1070.    .name = "fnoise1_3",
  1071.    .num_inputs = 1,
  1072.    .output_size = 1,
  1073.    .output_type = nir_type_float,
  1074.    .input_sizes = {
  1075.       3
  1076.    },
  1077.    .input_types = {
  1078.       nir_type_float
  1079.    },
  1080.    .algebraic_properties =
  1081.       0
  1082. },
  1083. {
  1084.    .name = "fnoise1_4",
  1085.    .num_inputs = 1,
  1086.    .output_size = 1,
  1087.    .output_type = nir_type_float,
  1088.    .input_sizes = {
  1089.       4
  1090.    },
  1091.    .input_types = {
  1092.       nir_type_float
  1093.    },
  1094.    .algebraic_properties =
  1095.       0
  1096. },
  1097. {
  1098.    .name = "fnoise2_1",
  1099.    .num_inputs = 1,
  1100.    .output_size = 2,
  1101.    .output_type = nir_type_float,
  1102.    .input_sizes = {
  1103.       1
  1104.    },
  1105.    .input_types = {
  1106.       nir_type_float
  1107.    },
  1108.    .algebraic_properties =
  1109.       0
  1110. },
  1111. {
  1112.    .name = "fnoise2_2",
  1113.    .num_inputs = 1,
  1114.    .output_size = 2,
  1115.    .output_type = nir_type_float,
  1116.    .input_sizes = {
  1117.       2
  1118.    },
  1119.    .input_types = {
  1120.       nir_type_float
  1121.    },
  1122.    .algebraic_properties =
  1123.       0
  1124. },
  1125. {
  1126.    .name = "fnoise2_3",
  1127.    .num_inputs = 1,
  1128.    .output_size = 2,
  1129.    .output_type = nir_type_float,
  1130.    .input_sizes = {
  1131.       3
  1132.    },
  1133.    .input_types = {
  1134.       nir_type_float
  1135.    },
  1136.    .algebraic_properties =
  1137.       0
  1138. },
  1139. {
  1140.    .name = "fnoise2_4",
  1141.    .num_inputs = 1,
  1142.    .output_size = 2,
  1143.    .output_type = nir_type_float,
  1144.    .input_sizes = {
  1145.       4
  1146.    },
  1147.    .input_types = {
  1148.       nir_type_float
  1149.    },
  1150.    .algebraic_properties =
  1151.       0
  1152. },
  1153. {
  1154.    .name = "fnoise3_1",
  1155.    .num_inputs = 1,
  1156.    .output_size = 3,
  1157.    .output_type = nir_type_float,
  1158.    .input_sizes = {
  1159.       1
  1160.    },
  1161.    .input_types = {
  1162.       nir_type_float
  1163.    },
  1164.    .algebraic_properties =
  1165.       0
  1166. },
  1167. {
  1168.    .name = "fnoise3_2",
  1169.    .num_inputs = 1,
  1170.    .output_size = 3,
  1171.    .output_type = nir_type_float,
  1172.    .input_sizes = {
  1173.       2
  1174.    },
  1175.    .input_types = {
  1176.       nir_type_float
  1177.    },
  1178.    .algebraic_properties =
  1179.       0
  1180. },
  1181. {
  1182.    .name = "fnoise3_3",
  1183.    .num_inputs = 1,
  1184.    .output_size = 3,
  1185.    .output_type = nir_type_float,
  1186.    .input_sizes = {
  1187.       3
  1188.    },
  1189.    .input_types = {
  1190.       nir_type_float
  1191.    },
  1192.    .algebraic_properties =
  1193.       0
  1194. },
  1195. {
  1196.    .name = "fnoise3_4",
  1197.    .num_inputs = 1,
  1198.    .output_size = 3,
  1199.    .output_type = nir_type_float,
  1200.    .input_sizes = {
  1201.       4
  1202.    },
  1203.    .input_types = {
  1204.       nir_type_float
  1205.    },
  1206.    .algebraic_properties =
  1207.       0
  1208. },
  1209. {
  1210.    .name = "fnoise4_1",
  1211.    .num_inputs = 1,
  1212.    .output_size = 4,
  1213.    .output_type = nir_type_float,
  1214.    .input_sizes = {
  1215.       1
  1216.    },
  1217.    .input_types = {
  1218.       nir_type_float
  1219.    },
  1220.    .algebraic_properties =
  1221.       0
  1222. },
  1223. {
  1224.    .name = "fnoise4_2",
  1225.    .num_inputs = 1,
  1226.    .output_size = 4,
  1227.    .output_type = nir_type_float,
  1228.    .input_sizes = {
  1229.       2
  1230.    },
  1231.    .input_types = {
  1232.       nir_type_float
  1233.    },
  1234.    .algebraic_properties =
  1235.       0
  1236. },
  1237. {
  1238.    .name = "fnoise4_3",
  1239.    .num_inputs = 1,
  1240.    .output_size = 4,
  1241.    .output_type = nir_type_float,
  1242.    .input_sizes = {
  1243.       3
  1244.    },
  1245.    .input_types = {
  1246.       nir_type_float
  1247.    },
  1248.    .algebraic_properties =
  1249.       0
  1250. },
  1251. {
  1252.    .name = "fnoise4_4",
  1253.    .num_inputs = 1,
  1254.    .output_size = 4,
  1255.    .output_type = nir_type_float,
  1256.    .input_sizes = {
  1257.       4
  1258.    },
  1259.    .input_types = {
  1260.       nir_type_float
  1261.    },
  1262.    .algebraic_properties =
  1263.       0
  1264. },
  1265. {
  1266.    .name = "fnot",
  1267.    .num_inputs = 1,
  1268.    .output_size = 0,
  1269.    .output_type = nir_type_float,
  1270.    .input_sizes = {
  1271.       0
  1272.    },
  1273.    .input_types = {
  1274.       nir_type_float
  1275.    },
  1276.    .algebraic_properties =
  1277.       0
  1278. },
  1279. {
  1280.    .name = "for",
  1281.    .num_inputs = 2,
  1282.    .output_size = 0,
  1283.    .output_type = nir_type_float,
  1284.    .input_sizes = {
  1285.       0, 0
  1286.    },
  1287.    .input_types = {
  1288.       nir_type_float, nir_type_float
  1289.    },
  1290.    .algebraic_properties =
  1291.       NIR_OP_IS_COMMUTATIVE
  1292. },
  1293. {
  1294.    .name = "fpow",
  1295.    .num_inputs = 2,
  1296.    .output_size = 0,
  1297.    .output_type = nir_type_float,
  1298.    .input_sizes = {
  1299.       0, 0
  1300.    },
  1301.    .input_types = {
  1302.       nir_type_float, nir_type_float
  1303.    },
  1304.    .algebraic_properties =
  1305.       0
  1306. },
  1307. {
  1308.    .name = "frcp",
  1309.    .num_inputs = 1,
  1310.    .output_size = 0,
  1311.    .output_type = nir_type_float,
  1312.    .input_sizes = {
  1313.       0
  1314.    },
  1315.    .input_types = {
  1316.       nir_type_float
  1317.    },
  1318.    .algebraic_properties =
  1319.       0
  1320. },
  1321. {
  1322.    .name = "fround_even",
  1323.    .num_inputs = 1,
  1324.    .output_size = 0,
  1325.    .output_type = nir_type_float,
  1326.    .input_sizes = {
  1327.       0
  1328.    },
  1329.    .input_types = {
  1330.       nir_type_float
  1331.    },
  1332.    .algebraic_properties =
  1333.       0
  1334. },
  1335. {
  1336.    .name = "frsq",
  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 = "fsat",
  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 = "fsign",
  1365.    .num_inputs = 1,
  1366.    .output_size = 0,
  1367.    .output_type = nir_type_float,
  1368.    .input_sizes = {
  1369.       0
  1370.    },
  1371.    .input_types = {
  1372.       nir_type_float
  1373.    },
  1374.    .algebraic_properties =
  1375.       0
  1376. },
  1377. {
  1378.    .name = "fsin",
  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 = "fsqrt",
  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 = "fsub",
  1407.    .num_inputs = 2,
  1408.    .output_size = 0,
  1409.    .output_type = nir_type_float,
  1410.    .input_sizes = {
  1411.       0, 0
  1412.    },
  1413.    .input_types = {
  1414.       nir_type_float, nir_type_float
  1415.    },
  1416.    .algebraic_properties =
  1417.       0
  1418. },
  1419. {
  1420.    .name = "ftrunc",
  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 = "fxor",
  1435.    .num_inputs = 2,
  1436.    .output_size = 0,
  1437.    .output_type = nir_type_float,
  1438.    .input_sizes = {
  1439.       0, 0
  1440.    },
  1441.    .input_types = {
  1442.       nir_type_float, nir_type_float
  1443.    },
  1444.    .algebraic_properties =
  1445.       NIR_OP_IS_COMMUTATIVE
  1446. },
  1447. {
  1448.    .name = "i2b",
  1449.    .num_inputs = 1,
  1450.    .output_size = 0,
  1451.    .output_type = nir_type_bool,
  1452.    .input_sizes = {
  1453.       0
  1454.    },
  1455.    .input_types = {
  1456.       nir_type_int
  1457.    },
  1458.    .algebraic_properties =
  1459.       0
  1460. },
  1461. {
  1462.    .name = "i2f",
  1463.    .num_inputs = 1,
  1464.    .output_size = 0,
  1465.    .output_type = nir_type_float,
  1466.    .input_sizes = {
  1467.       0
  1468.    },
  1469.    .input_types = {
  1470.       nir_type_int
  1471.    },
  1472.    .algebraic_properties =
  1473.       0
  1474. },
  1475. {
  1476.    .name = "iabs",
  1477.    .num_inputs = 1,
  1478.    .output_size = 0,
  1479.    .output_type = nir_type_int,
  1480.    .input_sizes = {
  1481.       0
  1482.    },
  1483.    .input_types = {
  1484.       nir_type_int
  1485.    },
  1486.    .algebraic_properties =
  1487.       0
  1488. },
  1489. {
  1490.    .name = "iadd",
  1491.    .num_inputs = 2,
  1492.    .output_size = 0,
  1493.    .output_type = nir_type_int,
  1494.    .input_sizes = {
  1495.       0, 0
  1496.    },
  1497.    .input_types = {
  1498.       nir_type_int, nir_type_int
  1499.    },
  1500.    .algebraic_properties =
  1501.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  1502. },
  1503. {
  1504.    .name = "iand",
  1505.    .num_inputs = 2,
  1506.    .output_size = 0,
  1507.    .output_type = nir_type_unsigned,
  1508.    .input_sizes = {
  1509.       0, 0
  1510.    },
  1511.    .input_types = {
  1512.       nir_type_unsigned, nir_type_unsigned
  1513.    },
  1514.    .algebraic_properties =
  1515.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  1516. },
  1517. {
  1518.    .name = "ibitfield_extract",
  1519.    .num_inputs = 3,
  1520.    .output_size = 0,
  1521.    .output_type = nir_type_int,
  1522.    .input_sizes = {
  1523.       0, 1, 1
  1524.    },
  1525.    .input_types = {
  1526.       nir_type_int, nir_type_int, nir_type_int
  1527.    },
  1528.    .algebraic_properties =
  1529.       0
  1530. },
  1531. {
  1532.    .name = "idiv",
  1533.    .num_inputs = 2,
  1534.    .output_size = 0,
  1535.    .output_type = nir_type_int,
  1536.    .input_sizes = {
  1537.       0, 0
  1538.    },
  1539.    .input_types = {
  1540.       nir_type_int, nir_type_int
  1541.    },
  1542.    .algebraic_properties =
  1543.       0
  1544. },
  1545. {
  1546.    .name = "ieq",
  1547.    .num_inputs = 2,
  1548.    .output_size = 0,
  1549.    .output_type = nir_type_bool,
  1550.    .input_sizes = {
  1551.       0, 0
  1552.    },
  1553.    .input_types = {
  1554.       nir_type_int, nir_type_int
  1555.    },
  1556.    .algebraic_properties =
  1557.       NIR_OP_IS_COMMUTATIVE
  1558. },
  1559. {
  1560.    .name = "ifind_msb",
  1561.    .num_inputs = 1,
  1562.    .output_size = 0,
  1563.    .output_type = nir_type_int,
  1564.    .input_sizes = {
  1565.       0
  1566.    },
  1567.    .input_types = {
  1568.       nir_type_int
  1569.    },
  1570.    .algebraic_properties =
  1571.       0
  1572. },
  1573. {
  1574.    .name = "ige",
  1575.    .num_inputs = 2,
  1576.    .output_size = 0,
  1577.    .output_type = nir_type_bool,
  1578.    .input_sizes = {
  1579.       0, 0
  1580.    },
  1581.    .input_types = {
  1582.       nir_type_int, nir_type_int
  1583.    },
  1584.    .algebraic_properties =
  1585.       0
  1586. },
  1587. {
  1588.    .name = "ilt",
  1589.    .num_inputs = 2,
  1590.    .output_size = 0,
  1591.    .output_type = nir_type_bool,
  1592.    .input_sizes = {
  1593.       0, 0
  1594.    },
  1595.    .input_types = {
  1596.       nir_type_int, nir_type_int
  1597.    },
  1598.    .algebraic_properties =
  1599.       0
  1600. },
  1601. {
  1602.    .name = "imax",
  1603.    .num_inputs = 2,
  1604.    .output_size = 0,
  1605.    .output_type = nir_type_int,
  1606.    .input_sizes = {
  1607.       0, 0
  1608.    },
  1609.    .input_types = {
  1610.       nir_type_int, nir_type_int
  1611.    },
  1612.    .algebraic_properties =
  1613.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  1614. },
  1615. {
  1616.    .name = "imin",
  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.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  1628. },
  1629. {
  1630.    .name = "imov",
  1631.    .num_inputs = 1,
  1632.    .output_size = 0,
  1633.    .output_type = nir_type_int,
  1634.    .input_sizes = {
  1635.       0
  1636.    },
  1637.    .input_types = {
  1638.       nir_type_int
  1639.    },
  1640.    .algebraic_properties =
  1641.       0
  1642. },
  1643. {
  1644.    .name = "imul",
  1645.    .num_inputs = 2,
  1646.    .output_size = 0,
  1647.    .output_type = nir_type_int,
  1648.    .input_sizes = {
  1649.       0, 0
  1650.    },
  1651.    .input_types = {
  1652.       nir_type_int, nir_type_int
  1653.    },
  1654.    .algebraic_properties =
  1655.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  1656. },
  1657. {
  1658.    .name = "imul_high",
  1659.    .num_inputs = 2,
  1660.    .output_size = 0,
  1661.    .output_type = nir_type_int,
  1662.    .input_sizes = {
  1663.       0, 0
  1664.    },
  1665.    .input_types = {
  1666.       nir_type_int, nir_type_int
  1667.    },
  1668.    .algebraic_properties =
  1669.       NIR_OP_IS_COMMUTATIVE
  1670. },
  1671. {
  1672.    .name = "ine",
  1673.    .num_inputs = 2,
  1674.    .output_size = 0,
  1675.    .output_type = nir_type_bool,
  1676.    .input_sizes = {
  1677.       0, 0
  1678.    },
  1679.    .input_types = {
  1680.       nir_type_int, nir_type_int
  1681.    },
  1682.    .algebraic_properties =
  1683.       NIR_OP_IS_COMMUTATIVE
  1684. },
  1685. {
  1686.    .name = "ineg",
  1687.    .num_inputs = 1,
  1688.    .output_size = 0,
  1689.    .output_type = nir_type_int,
  1690.    .input_sizes = {
  1691.       0
  1692.    },
  1693.    .input_types = {
  1694.       nir_type_int
  1695.    },
  1696.    .algebraic_properties =
  1697.       0
  1698. },
  1699. {
  1700.    .name = "inot",
  1701.    .num_inputs = 1,
  1702.    .output_size = 0,
  1703.    .output_type = nir_type_int,
  1704.    .input_sizes = {
  1705.       0
  1706.    },
  1707.    .input_types = {
  1708.       nir_type_int
  1709.    },
  1710.    .algebraic_properties =
  1711.       0
  1712. },
  1713. {
  1714.    .name = "ior",
  1715.    .num_inputs = 2,
  1716.    .output_size = 0,
  1717.    .output_type = nir_type_unsigned,
  1718.    .input_sizes = {
  1719.       0, 0
  1720.    },
  1721.    .input_types = {
  1722.       nir_type_unsigned, nir_type_unsigned
  1723.    },
  1724.    .algebraic_properties =
  1725.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  1726. },
  1727. {
  1728.    .name = "ishl",
  1729.    .num_inputs = 2,
  1730.    .output_size = 0,
  1731.    .output_type = nir_type_int,
  1732.    .input_sizes = {
  1733.       0, 0
  1734.    },
  1735.    .input_types = {
  1736.       nir_type_int, nir_type_int
  1737.    },
  1738.    .algebraic_properties =
  1739.       0
  1740. },
  1741. {
  1742.    .name = "ishr",
  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.       0
  1754. },
  1755. {
  1756.    .name = "isign",
  1757.    .num_inputs = 1,
  1758.    .output_size = 0,
  1759.    .output_type = nir_type_int,
  1760.    .input_sizes = {
  1761.       0
  1762.    },
  1763.    .input_types = {
  1764.       nir_type_int
  1765.    },
  1766.    .algebraic_properties =
  1767.       0
  1768. },
  1769. {
  1770.    .name = "isub",
  1771.    .num_inputs = 2,
  1772.    .output_size = 0,
  1773.    .output_type = nir_type_int,
  1774.    .input_sizes = {
  1775.       0, 0
  1776.    },
  1777.    .input_types = {
  1778.       nir_type_int, nir_type_int
  1779.    },
  1780.    .algebraic_properties =
  1781.       0
  1782. },
  1783. {
  1784.    .name = "ixor",
  1785.    .num_inputs = 2,
  1786.    .output_size = 0,
  1787.    .output_type = nir_type_unsigned,
  1788.    .input_sizes = {
  1789.       0, 0
  1790.    },
  1791.    .input_types = {
  1792.       nir_type_unsigned, nir_type_unsigned
  1793.    },
  1794.    .algebraic_properties =
  1795.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  1796. },
  1797. {
  1798.    .name = "ldexp",
  1799.    .num_inputs = 2,
  1800.    .output_size = 0,
  1801.    .output_type = nir_type_float,
  1802.    .input_sizes = {
  1803.       0, 0
  1804.    },
  1805.    .input_types = {
  1806.       nir_type_float, nir_type_int
  1807.    },
  1808.    .algebraic_properties =
  1809.       0
  1810. },
  1811. {
  1812.    .name = "pack_half_2x16",
  1813.    .num_inputs = 1,
  1814.    .output_size = 1,
  1815.    .output_type = nir_type_unsigned,
  1816.    .input_sizes = {
  1817.       2
  1818.    },
  1819.    .input_types = {
  1820.       nir_type_float
  1821.    },
  1822.    .algebraic_properties =
  1823.       0
  1824. },
  1825. {
  1826.    .name = "pack_half_2x16_split",
  1827.    .num_inputs = 2,
  1828.    .output_size = 1,
  1829.    .output_type = nir_type_unsigned,
  1830.    .input_sizes = {
  1831.       1, 1
  1832.    },
  1833.    .input_types = {
  1834.       nir_type_float, nir_type_float
  1835.    },
  1836.    .algebraic_properties =
  1837.       0
  1838. },
  1839. {
  1840.    .name = "pack_snorm_2x16",
  1841.    .num_inputs = 1,
  1842.    .output_size = 1,
  1843.    .output_type = nir_type_unsigned,
  1844.    .input_sizes = {
  1845.       2
  1846.    },
  1847.    .input_types = {
  1848.       nir_type_float
  1849.    },
  1850.    .algebraic_properties =
  1851.       0
  1852. },
  1853. {
  1854.    .name = "pack_snorm_4x8",
  1855.    .num_inputs = 1,
  1856.    .output_size = 1,
  1857.    .output_type = nir_type_unsigned,
  1858.    .input_sizes = {
  1859.       4
  1860.    },
  1861.    .input_types = {
  1862.       nir_type_float
  1863.    },
  1864.    .algebraic_properties =
  1865.       0
  1866. },
  1867. {
  1868.    .name = "pack_unorm_2x16",
  1869.    .num_inputs = 1,
  1870.    .output_size = 1,
  1871.    .output_type = nir_type_unsigned,
  1872.    .input_sizes = {
  1873.       2
  1874.    },
  1875.    .input_types = {
  1876.       nir_type_float
  1877.    },
  1878.    .algebraic_properties =
  1879.       0
  1880. },
  1881. {
  1882.    .name = "pack_unorm_4x8",
  1883.    .num_inputs = 1,
  1884.    .output_size = 1,
  1885.    .output_type = nir_type_unsigned,
  1886.    .input_sizes = {
  1887.       4
  1888.    },
  1889.    .input_types = {
  1890.       nir_type_float
  1891.    },
  1892.    .algebraic_properties =
  1893.       0
  1894. },
  1895. {
  1896.    .name = "seq",
  1897.    .num_inputs = 2,
  1898.    .output_size = 0,
  1899.    .output_type = nir_type_float,
  1900.    .input_sizes = {
  1901.       0, 0
  1902.    },
  1903.    .input_types = {
  1904.       nir_type_float, nir_type_float
  1905.    },
  1906.    .algebraic_properties =
  1907.       NIR_OP_IS_COMMUTATIVE
  1908. },
  1909. {
  1910.    .name = "sge",
  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_float
  1919.    },
  1920.    .algebraic_properties =
  1921.       0
  1922. },
  1923. {
  1924.    .name = "slt",
  1925.    .num_inputs = 2,
  1926.    .output_size = 0,
  1927.    .output_type = nir_type_float,
  1928.    .input_sizes = {
  1929.       0, 0
  1930.    },
  1931.    .input_types = {
  1932.       nir_type_float, nir_type_float
  1933.    },
  1934.    .algebraic_properties =
  1935.       0
  1936. },
  1937. {
  1938.    .name = "sne",
  1939.    .num_inputs = 2,
  1940.    .output_size = 0,
  1941.    .output_type = nir_type_float,
  1942.    .input_sizes = {
  1943.       0, 0
  1944.    },
  1945.    .input_types = {
  1946.       nir_type_float, nir_type_float
  1947.    },
  1948.    .algebraic_properties =
  1949.       NIR_OP_IS_COMMUTATIVE
  1950. },
  1951. {
  1952.    .name = "u2f",
  1953.    .num_inputs = 1,
  1954.    .output_size = 0,
  1955.    .output_type = nir_type_float,
  1956.    .input_sizes = {
  1957.       0
  1958.    },
  1959.    .input_types = {
  1960.       nir_type_unsigned
  1961.    },
  1962.    .algebraic_properties =
  1963.       0
  1964. },
  1965. {
  1966.    .name = "uadd_carry",
  1967.    .num_inputs = 2,
  1968.    .output_size = 0,
  1969.    .output_type = nir_type_bool,
  1970.    .input_sizes = {
  1971.       0, 0
  1972.    },
  1973.    .input_types = {
  1974.       nir_type_unsigned, nir_type_unsigned
  1975.    },
  1976.    .algebraic_properties =
  1977.       NIR_OP_IS_COMMUTATIVE
  1978. },
  1979. {
  1980.    .name = "ubitfield_extract",
  1981.    .num_inputs = 3,
  1982.    .output_size = 0,
  1983.    .output_type = nir_type_unsigned,
  1984.    .input_sizes = {
  1985.       0, 1, 1
  1986.    },
  1987.    .input_types = {
  1988.       nir_type_unsigned, nir_type_int, nir_type_int
  1989.    },
  1990.    .algebraic_properties =
  1991.       0
  1992. },
  1993. {
  1994.    .name = "udiv",
  1995.    .num_inputs = 2,
  1996.    .output_size = 0,
  1997.    .output_type = nir_type_unsigned,
  1998.    .input_sizes = {
  1999.       0, 0
  2000.    },
  2001.    .input_types = {
  2002.       nir_type_unsigned, nir_type_unsigned
  2003.    },
  2004.    .algebraic_properties =
  2005.       0
  2006. },
  2007. {
  2008.    .name = "ufind_msb",
  2009.    .num_inputs = 1,
  2010.    .output_size = 0,
  2011.    .output_type = nir_type_int,
  2012.    .input_sizes = {
  2013.       0
  2014.    },
  2015.    .input_types = {
  2016.       nir_type_unsigned
  2017.    },
  2018.    .algebraic_properties =
  2019.       0
  2020. },
  2021. {
  2022.    .name = "uge",
  2023.    .num_inputs = 2,
  2024.    .output_size = 0,
  2025.    .output_type = nir_type_bool,
  2026.    .input_sizes = {
  2027.       0, 0
  2028.    },
  2029.    .input_types = {
  2030.       nir_type_unsigned, nir_type_unsigned
  2031.    },
  2032.    .algebraic_properties =
  2033.       0
  2034. },
  2035. {
  2036.    .name = "ult",
  2037.    .num_inputs = 2,
  2038.    .output_size = 0,
  2039.    .output_type = nir_type_bool,
  2040.    .input_sizes = {
  2041.       0, 0
  2042.    },
  2043.    .input_types = {
  2044.       nir_type_unsigned, nir_type_unsigned
  2045.    },
  2046.    .algebraic_properties =
  2047.       0
  2048. },
  2049. {
  2050.    .name = "umax",
  2051.    .num_inputs = 2,
  2052.    .output_size = 0,
  2053.    .output_type = nir_type_unsigned,
  2054.    .input_sizes = {
  2055.       0, 0
  2056.    },
  2057.    .input_types = {
  2058.       nir_type_unsigned, nir_type_unsigned
  2059.    },
  2060.    .algebraic_properties =
  2061.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  2062. },
  2063. {
  2064.    .name = "umin",
  2065.    .num_inputs = 2,
  2066.    .output_size = 0,
  2067.    .output_type = nir_type_unsigned,
  2068.    .input_sizes = {
  2069.       0, 0
  2070.    },
  2071.    .input_types = {
  2072.       nir_type_unsigned, nir_type_unsigned
  2073.    },
  2074.    .algebraic_properties =
  2075.       NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
  2076. },
  2077. {
  2078.    .name = "umod",
  2079.    .num_inputs = 2,
  2080.    .output_size = 0,
  2081.    .output_type = nir_type_unsigned,
  2082.    .input_sizes = {
  2083.       0, 0
  2084.    },
  2085.    .input_types = {
  2086.       nir_type_unsigned, nir_type_unsigned
  2087.    },
  2088.    .algebraic_properties =
  2089.       0
  2090. },
  2091. {
  2092.    .name = "umul_high",
  2093.    .num_inputs = 2,
  2094.    .output_size = 0,
  2095.    .output_type = nir_type_unsigned,
  2096.    .input_sizes = {
  2097.       0, 0
  2098.    },
  2099.    .input_types = {
  2100.       nir_type_unsigned, nir_type_unsigned
  2101.    },
  2102.    .algebraic_properties =
  2103.       NIR_OP_IS_COMMUTATIVE
  2104. },
  2105. {
  2106.    .name = "unpack_half_2x16",
  2107.    .num_inputs = 1,
  2108.    .output_size = 2,
  2109.    .output_type = nir_type_float,
  2110.    .input_sizes = {
  2111.       1
  2112.    },
  2113.    .input_types = {
  2114.       nir_type_unsigned
  2115.    },
  2116.    .algebraic_properties =
  2117.       0
  2118. },
  2119. {
  2120.    .name = "unpack_half_2x16_split_x",
  2121.    .num_inputs = 1,
  2122.    .output_size = 1,
  2123.    .output_type = nir_type_float,
  2124.    .input_sizes = {
  2125.       1
  2126.    },
  2127.    .input_types = {
  2128.       nir_type_unsigned
  2129.    },
  2130.    .algebraic_properties =
  2131.       0
  2132. },
  2133. {
  2134.    .name = "unpack_half_2x16_split_y",
  2135.    .num_inputs = 1,
  2136.    .output_size = 1,
  2137.    .output_type = nir_type_float,
  2138.    .input_sizes = {
  2139.       1
  2140.    },
  2141.    .input_types = {
  2142.       nir_type_unsigned
  2143.    },
  2144.    .algebraic_properties =
  2145.       0
  2146. },
  2147. {
  2148.    .name = "unpack_snorm_2x16",
  2149.    .num_inputs = 1,
  2150.    .output_size = 2,
  2151.    .output_type = nir_type_float,
  2152.    .input_sizes = {
  2153.       1
  2154.    },
  2155.    .input_types = {
  2156.       nir_type_unsigned
  2157.    },
  2158.    .algebraic_properties =
  2159.       0
  2160. },
  2161. {
  2162.    .name = "unpack_snorm_4x8",
  2163.    .num_inputs = 1,
  2164.    .output_size = 4,
  2165.    .output_type = nir_type_float,
  2166.    .input_sizes = {
  2167.       1
  2168.    },
  2169.    .input_types = {
  2170.       nir_type_unsigned
  2171.    },
  2172.    .algebraic_properties =
  2173.       0
  2174. },
  2175. {
  2176.    .name = "unpack_unorm_2x16",
  2177.    .num_inputs = 1,
  2178.    .output_size = 2,
  2179.    .output_type = nir_type_float,
  2180.    .input_sizes = {
  2181.       1
  2182.    },
  2183.    .input_types = {
  2184.       nir_type_unsigned
  2185.    },
  2186.    .algebraic_properties =
  2187.       0
  2188. },
  2189. {
  2190.    .name = "unpack_unorm_4x8",
  2191.    .num_inputs = 1,
  2192.    .output_size = 4,
  2193.    .output_type = nir_type_float,
  2194.    .input_sizes = {
  2195.       1
  2196.    },
  2197.    .input_types = {
  2198.       nir_type_unsigned
  2199.    },
  2200.    .algebraic_properties =
  2201.       0
  2202. },
  2203. {
  2204.    .name = "ushr",
  2205.    .num_inputs = 2,
  2206.    .output_size = 0,
  2207.    .output_type = nir_type_unsigned,
  2208.    .input_sizes = {
  2209.       0, 0
  2210.    },
  2211.    .input_types = {
  2212.       nir_type_unsigned, nir_type_unsigned
  2213.    },
  2214.    .algebraic_properties =
  2215.       0
  2216. },
  2217. {
  2218.    .name = "usub_borrow",
  2219.    .num_inputs = 2,
  2220.    .output_size = 0,
  2221.    .output_type = nir_type_bool,
  2222.    .input_sizes = {
  2223.       0, 0
  2224.    },
  2225.    .input_types = {
  2226.       nir_type_unsigned, nir_type_unsigned
  2227.    },
  2228.    .algebraic_properties =
  2229.       0
  2230. },
  2231. {
  2232.    .name = "vec2",
  2233.    .num_inputs = 2,
  2234.    .output_size = 2,
  2235.    .output_type = nir_type_unsigned,
  2236.    .input_sizes = {
  2237.       1, 1
  2238.    },
  2239.    .input_types = {
  2240.       nir_type_unsigned, nir_type_unsigned
  2241.    },
  2242.    .algebraic_properties =
  2243.       0
  2244. },
  2245. {
  2246.    .name = "vec3",
  2247.    .num_inputs = 3,
  2248.    .output_size = 3,
  2249.    .output_type = nir_type_unsigned,
  2250.    .input_sizes = {
  2251.       1, 1, 1
  2252.    },
  2253.    .input_types = {
  2254.       nir_type_unsigned, nir_type_unsigned, nir_type_unsigned
  2255.    },
  2256.    .algebraic_properties =
  2257.       0
  2258. },
  2259. {
  2260.    .name = "vec4",
  2261.    .num_inputs = 4,
  2262.    .output_size = 4,
  2263.    .output_type = nir_type_unsigned,
  2264.    .input_sizes = {
  2265.       1, 1, 1, 1
  2266.    },
  2267.    .input_types = {
  2268.       nir_type_unsigned, nir_type_unsigned, nir_type_unsigned, nir_type_unsigned
  2269.    },
  2270.    .algebraic_properties =
  2271.       0
  2272. },
  2273. };
  2274.  
  2275.