| /* Copyright (C) 2014 Connor Abbott |
| * |
| * Permission is hereby granted, free of charge, to any person obtaining a |
| * copy of this software and associated documentation files (the "Software"), |
| * to deal in the Software without restriction, including without limitation |
| * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| * and/or sell copies of the Software, and to permit persons to whom the |
| * Software is furnished to do so, subject to the following conditions: |
| * |
| * The above copyright notice and this permission notice (including the next |
| * paragraph) shall be included in all copies or substantial portions of the |
| * Software. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
| * IN THE SOFTWARE. |
| * |
| * Authors: |
| * Connor Abbott (cwabbott0@gmail.com) |
| */ |
| |
| #ifndef _NIR_OPCODES_ |
| #define _NIR_OPCODES_ |
| |
| |
| |
| typedef enum { |
| nir_op_b2f, |
| nir_op_b2i, |
| nir_op_ball_fequal2, |
| nir_op_ball_fequal3, |
| nir_op_ball_fequal4, |
| nir_op_ball_iequal2, |
| nir_op_ball_iequal3, |
| nir_op_ball_iequal4, |
| nir_op_bany_fnequal2, |
| nir_op_bany_fnequal3, |
| nir_op_bany_fnequal4, |
| nir_op_bany_inequal2, |
| nir_op_bany_inequal3, |
| nir_op_bany_inequal4, |
| nir_op_bcsel, |
| nir_op_bfi, |
| nir_op_bfm, |
| nir_op_bit_count, |
| nir_op_bitfield_insert, |
| nir_op_bitfield_reverse, |
| nir_op_d2b, |
| nir_op_d2f, |
| nir_op_d2i, |
| nir_op_d2u, |
| nir_op_extract_i16, |
| nir_op_extract_i8, |
| nir_op_extract_u16, |
| nir_op_extract_u8, |
| nir_op_f2b, |
| nir_op_f2d, |
| nir_op_f2i, |
| nir_op_f2u, |
| nir_op_fabs, |
| nir_op_fadd, |
| nir_op_fall_equal2, |
| nir_op_fall_equal3, |
| nir_op_fall_equal4, |
| nir_op_fand, |
| nir_op_fany_nequal2, |
| nir_op_fany_nequal3, |
| nir_op_fany_nequal4, |
| nir_op_fceil, |
| nir_op_fcos, |
| nir_op_fcsel, |
| nir_op_fddx, |
| nir_op_fddx_coarse, |
| nir_op_fddx_fine, |
| nir_op_fddy, |
| nir_op_fddy_coarse, |
| nir_op_fddy_fine, |
| nir_op_fdiv, |
| nir_op_fdot2, |
| nir_op_fdot3, |
| nir_op_fdot4, |
| nir_op_fdot_replicated2, |
| nir_op_fdot_replicated3, |
| nir_op_fdot_replicated4, |
| nir_op_fdph, |
| nir_op_fdph_replicated, |
| nir_op_feq, |
| nir_op_fexp2, |
| nir_op_ffloor, |
| nir_op_ffma, |
| nir_op_ffract, |
| nir_op_fge, |
| nir_op_find_lsb, |
| nir_op_flog2, |
| nir_op_flrp, |
| nir_op_flt, |
| nir_op_fmax, |
| nir_op_fmin, |
| nir_op_fmod, |
| nir_op_fmov, |
| nir_op_fmul, |
| nir_op_fne, |
| nir_op_fneg, |
| nir_op_fnoise1_1, |
| nir_op_fnoise1_2, |
| nir_op_fnoise1_3, |
| nir_op_fnoise1_4, |
| nir_op_fnoise2_1, |
| nir_op_fnoise2_2, |
| nir_op_fnoise2_3, |
| nir_op_fnoise2_4, |
| nir_op_fnoise3_1, |
| nir_op_fnoise3_2, |
| nir_op_fnoise3_3, |
| nir_op_fnoise3_4, |
| nir_op_fnoise4_1, |
| nir_op_fnoise4_2, |
| nir_op_fnoise4_3, |
| nir_op_fnoise4_4, |
| nir_op_fnot, |
| nir_op_for, |
| nir_op_fpow, |
| nir_op_fquantize2f16, |
| nir_op_frcp, |
| nir_op_frem, |
| nir_op_fround_even, |
| nir_op_frsq, |
| nir_op_fsat, |
| nir_op_fsign, |
| nir_op_fsin, |
| nir_op_fsqrt, |
| nir_op_fsub, |
| nir_op_ftrunc, |
| nir_op_fxor, |
| nir_op_i2b, |
| nir_op_i2d, |
| nir_op_i2f, |
| nir_op_iabs, |
| nir_op_iadd, |
| nir_op_iand, |
| nir_op_ibfe, |
| nir_op_ibitfield_extract, |
| nir_op_idiv, |
| nir_op_ieq, |
| nir_op_ifind_msb, |
| nir_op_ige, |
| nir_op_ilt, |
| nir_op_imax, |
| nir_op_imin, |
| nir_op_imod, |
| nir_op_imov, |
| nir_op_imul, |
| nir_op_imul_high, |
| nir_op_ine, |
| nir_op_ineg, |
| nir_op_inot, |
| nir_op_ior, |
| nir_op_irem, |
| nir_op_ishl, |
| nir_op_ishr, |
| nir_op_isign, |
| nir_op_isub, |
| nir_op_ixor, |
| nir_op_ldexp, |
| nir_op_pack_double_2x32, |
| nir_op_pack_double_2x32_split, |
| nir_op_pack_half_2x16, |
| nir_op_pack_half_2x16_split, |
| nir_op_pack_snorm_2x16, |
| nir_op_pack_snorm_4x8, |
| nir_op_pack_unorm_2x16, |
| nir_op_pack_unorm_4x8, |
| nir_op_pack_uvec2_to_uint, |
| nir_op_pack_uvec4_to_uint, |
| nir_op_seq, |
| nir_op_sge, |
| nir_op_slt, |
| nir_op_sne, |
| nir_op_u2d, |
| nir_op_u2f, |
| nir_op_uadd_carry, |
| nir_op_ubfe, |
| nir_op_ubitfield_extract, |
| nir_op_udiv, |
| nir_op_ufind_msb, |
| nir_op_uge, |
| nir_op_ult, |
| nir_op_umax, |
| nir_op_umax_4x8, |
| nir_op_umin, |
| nir_op_umin_4x8, |
| nir_op_umod, |
| nir_op_umul_high, |
| nir_op_umul_unorm_4x8, |
| nir_op_unpack_double_2x32, |
| nir_op_unpack_double_2x32_split_x, |
| nir_op_unpack_double_2x32_split_y, |
| nir_op_unpack_half_2x16, |
| nir_op_unpack_half_2x16_split_x, |
| nir_op_unpack_half_2x16_split_y, |
| nir_op_unpack_snorm_2x16, |
| nir_op_unpack_snorm_4x8, |
| nir_op_unpack_unorm_2x16, |
| nir_op_unpack_unorm_4x8, |
| nir_op_usadd_4x8, |
| nir_op_ushr, |
| nir_op_ussub_4x8, |
| nir_op_usub_borrow, |
| nir_op_vec2, |
| nir_op_vec3, |
| nir_op_vec4, |
| nir_last_opcode = nir_op_vec4, |
| nir_num_opcodes = nir_last_opcode + 1 |
| } nir_op; |
| |
| #endif /* _NIR_OPCODES_ */ |