Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /* Copyright (C) 2014 Connor Abbott
  2.  *
  3.  * Permission is hereby granted, free of charge, to any person obtaining a
  4.  * copy of this software and associated documentation files (the "Software"),
  5.  * to deal in the Software without restriction, including without limitation
  6.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  7.  * and/or sell copies of the Software, and to permit persons to whom the
  8.  * Software is furnished to do so, subject to the following conditions:
  9.  *
  10.  * The above copyright notice and this permission notice (including the next
  11.  * paragraph) shall be included in all copies or substantial portions of the
  12.  * Software.
  13.  *
  14.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  17.  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18.  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  19.  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  20.  * IN THE SOFTWARE.
  21.  *
  22.  * Authors:
  23.  *    Connor Abbott (cwabbott0@gmail.com)
  24.  */
  25.  
  26. #ifndef _NIR_OPCODES_
  27. #define _NIR_OPCODES_
  28.  
  29.  
  30.  
  31. typedef enum {
  32.    nir_op_b2f,
  33.    nir_op_b2i,
  34.    nir_op_ball2,
  35.    nir_op_ball3,
  36.    nir_op_ball4,
  37.    nir_op_ball_fequal2,
  38.    nir_op_ball_fequal3,
  39.    nir_op_ball_fequal4,
  40.    nir_op_ball_iequal2,
  41.    nir_op_ball_iequal3,
  42.    nir_op_ball_iequal4,
  43.    nir_op_bany2,
  44.    nir_op_bany3,
  45.    nir_op_bany4,
  46.    nir_op_bany_fnequal2,
  47.    nir_op_bany_fnequal3,
  48.    nir_op_bany_fnequal4,
  49.    nir_op_bany_inequal2,
  50.    nir_op_bany_inequal3,
  51.    nir_op_bany_inequal4,
  52.    nir_op_bcsel,
  53.    nir_op_bfi,
  54.    nir_op_bfm,
  55.    nir_op_bit_count,
  56.    nir_op_bitfield_insert,
  57.    nir_op_bitfield_reverse,
  58.    nir_op_f2b,
  59.    nir_op_f2i,
  60.    nir_op_f2u,
  61.    nir_op_fabs,
  62.    nir_op_fadd,
  63.    nir_op_fall2,
  64.    nir_op_fall3,
  65.    nir_op_fall4,
  66.    nir_op_fall_equal2,
  67.    nir_op_fall_equal3,
  68.    nir_op_fall_equal4,
  69.    nir_op_fand,
  70.    nir_op_fany2,
  71.    nir_op_fany3,
  72.    nir_op_fany4,
  73.    nir_op_fany_nequal2,
  74.    nir_op_fany_nequal3,
  75.    nir_op_fany_nequal4,
  76.    nir_op_fceil,
  77.    nir_op_fcos,
  78.    nir_op_fcsel,
  79.    nir_op_fddx,
  80.    nir_op_fddx_coarse,
  81.    nir_op_fddx_fine,
  82.    nir_op_fddy,
  83.    nir_op_fddy_coarse,
  84.    nir_op_fddy_fine,
  85.    nir_op_fdiv,
  86.    nir_op_fdot2,
  87.    nir_op_fdot3,
  88.    nir_op_fdot4,
  89.    nir_op_feq,
  90.    nir_op_fexp2,
  91.    nir_op_ffloor,
  92.    nir_op_ffma,
  93.    nir_op_ffract,
  94.    nir_op_fge,
  95.    nir_op_find_lsb,
  96.    nir_op_flog2,
  97.    nir_op_flrp,
  98.    nir_op_flt,
  99.    nir_op_fmax,
  100.    nir_op_fmin,
  101.    nir_op_fmod,
  102.    nir_op_fmov,
  103.    nir_op_fmul,
  104.    nir_op_fne,
  105.    nir_op_fneg,
  106.    nir_op_fnoise1_1,
  107.    nir_op_fnoise1_2,
  108.    nir_op_fnoise1_3,
  109.    nir_op_fnoise1_4,
  110.    nir_op_fnoise2_1,
  111.    nir_op_fnoise2_2,
  112.    nir_op_fnoise2_3,
  113.    nir_op_fnoise2_4,
  114.    nir_op_fnoise3_1,
  115.    nir_op_fnoise3_2,
  116.    nir_op_fnoise3_3,
  117.    nir_op_fnoise3_4,
  118.    nir_op_fnoise4_1,
  119.    nir_op_fnoise4_2,
  120.    nir_op_fnoise4_3,
  121.    nir_op_fnoise4_4,
  122.    nir_op_fnot,
  123.    nir_op_for,
  124.    nir_op_fpow,
  125.    nir_op_frcp,
  126.    nir_op_fround_even,
  127.    nir_op_frsq,
  128.    nir_op_fsat,
  129.    nir_op_fsign,
  130.    nir_op_fsin,
  131.    nir_op_fsqrt,
  132.    nir_op_fsub,
  133.    nir_op_ftrunc,
  134.    nir_op_fxor,
  135.    nir_op_i2b,
  136.    nir_op_i2f,
  137.    nir_op_iabs,
  138.    nir_op_iadd,
  139.    nir_op_iand,
  140.    nir_op_ibitfield_extract,
  141.    nir_op_idiv,
  142.    nir_op_ieq,
  143.    nir_op_ifind_msb,
  144.    nir_op_ige,
  145.    nir_op_ilt,
  146.    nir_op_imax,
  147.    nir_op_imin,
  148.    nir_op_imov,
  149.    nir_op_imul,
  150.    nir_op_imul_high,
  151.    nir_op_ine,
  152.    nir_op_ineg,
  153.    nir_op_inot,
  154.    nir_op_ior,
  155.    nir_op_ishl,
  156.    nir_op_ishr,
  157.    nir_op_isign,
  158.    nir_op_isub,
  159.    nir_op_ixor,
  160.    nir_op_ldexp,
  161.    nir_op_pack_half_2x16,
  162.    nir_op_pack_half_2x16_split,
  163.    nir_op_pack_snorm_2x16,
  164.    nir_op_pack_snorm_4x8,
  165.    nir_op_pack_unorm_2x16,
  166.    nir_op_pack_unorm_4x8,
  167.    nir_op_seq,
  168.    nir_op_sge,
  169.    nir_op_slt,
  170.    nir_op_sne,
  171.    nir_op_u2f,
  172.    nir_op_uadd_carry,
  173.    nir_op_ubitfield_extract,
  174.    nir_op_udiv,
  175.    nir_op_ufind_msb,
  176.    nir_op_uge,
  177.    nir_op_ult,
  178.    nir_op_umax,
  179.    nir_op_umin,
  180.    nir_op_umod,
  181.    nir_op_umul_high,
  182.    nir_op_unpack_half_2x16,
  183.    nir_op_unpack_half_2x16_split_x,
  184.    nir_op_unpack_half_2x16_split_y,
  185.    nir_op_unpack_snorm_2x16,
  186.    nir_op_unpack_snorm_4x8,
  187.    nir_op_unpack_unorm_2x16,
  188.    nir_op_unpack_unorm_4x8,
  189.    nir_op_ushr,
  190.    nir_op_usub_borrow,
  191.    nir_op_vec2,
  192.    nir_op_vec3,
  193.    nir_op_vec4,
  194.    nir_last_opcode = nir_op_vec4,
  195.    nir_num_opcodes = nir_last_opcode + 1
  196. } nir_op;
  197.  
  198. #endif /* _NIR_OPCODES_ */
  199.