/* 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_amul, nir_op_b16all_fequal16, nir_op_b16all_fequal2, nir_op_b16all_fequal3, nir_op_b16all_fequal4, nir_op_b16all_fequal8, nir_op_b16all_iequal16, nir_op_b16all_iequal2, nir_op_b16all_iequal3, nir_op_b16all_iequal4, nir_op_b16all_iequal8, nir_op_b16any_fnequal16, nir_op_b16any_fnequal2, nir_op_b16any_fnequal3, nir_op_b16any_fnequal4, nir_op_b16any_fnequal8, nir_op_b16any_inequal16, nir_op_b16any_inequal2, nir_op_b16any_inequal3, nir_op_b16any_inequal4, nir_op_b16any_inequal8, nir_op_b16csel, nir_op_b2b1, nir_op_b2b16, nir_op_b2b32, nir_op_b2b8, nir_op_b2f16, nir_op_b2f32, nir_op_b2f64, nir_op_b2i1, nir_op_b2i16, nir_op_b2i32, nir_op_b2i64, nir_op_b2i8, nir_op_b32all_fequal16, nir_op_b32all_fequal2, nir_op_b32all_fequal3, nir_op_b32all_fequal4, nir_op_b32all_fequal8, nir_op_b32all_iequal16, nir_op_b32all_iequal2, nir_op_b32all_iequal3, nir_op_b32all_iequal4, nir_op_b32all_iequal8, nir_op_b32any_fnequal16, nir_op_b32any_fnequal2, nir_op_b32any_fnequal3, nir_op_b32any_fnequal4, nir_op_b32any_fnequal8, nir_op_b32any_inequal16, nir_op_b32any_inequal2, nir_op_b32any_inequal3, nir_op_b32any_inequal4, nir_op_b32any_inequal8, nir_op_b32csel, nir_op_b8all_fequal16, nir_op_b8all_fequal2, nir_op_b8all_fequal3, nir_op_b8all_fequal4, nir_op_b8all_fequal8, nir_op_b8all_iequal16, nir_op_b8all_iequal2, nir_op_b8all_iequal3, nir_op_b8all_iequal4, nir_op_b8all_iequal8, nir_op_b8any_fnequal16, nir_op_b8any_fnequal2, nir_op_b8any_fnequal3, nir_op_b8any_fnequal4, nir_op_b8any_fnequal8, nir_op_b8any_inequal16, nir_op_b8any_inequal2, nir_op_b8any_inequal3, nir_op_b8any_inequal4, nir_op_b8any_inequal8, nir_op_b8csel, nir_op_ball_fequal16, nir_op_ball_fequal2, nir_op_ball_fequal3, nir_op_ball_fequal4, nir_op_ball_fequal8, nir_op_ball_iequal16, nir_op_ball_iequal2, nir_op_ball_iequal3, nir_op_ball_iequal4, nir_op_ball_iequal8, nir_op_bany_fnequal16, nir_op_bany_fnequal2, nir_op_bany_fnequal3, nir_op_bany_fnequal4, nir_op_bany_fnequal8, nir_op_bany_inequal16, nir_op_bany_inequal2, nir_op_bany_inequal3, nir_op_bany_inequal4, nir_op_bany_inequal8, nir_op_bcsel, nir_op_bfi, nir_op_bfm, nir_op_bit_count, nir_op_bitfield_insert, nir_op_bitfield_reverse, nir_op_bitfield_select, nir_op_cube_face_coord, nir_op_cube_face_index, nir_op_extract_i16, nir_op_extract_i8, nir_op_extract_u16, nir_op_extract_u8, nir_op_f2b1, nir_op_f2b16, nir_op_f2b32, nir_op_f2b8, nir_op_f2f16, nir_op_f2f16_rtne, nir_op_f2f16_rtz, nir_op_f2f32, nir_op_f2f64, nir_op_f2fmp, nir_op_f2i1, nir_op_f2i16, nir_op_f2i32, nir_op_f2i64, nir_op_f2i8, nir_op_f2imp, nir_op_f2u1, nir_op_f2u16, nir_op_f2u32, nir_op_f2u64, nir_op_f2u8, nir_op_f2ump, nir_op_fabs, nir_op_fadd, nir_op_fall_equal16, nir_op_fall_equal2, nir_op_fall_equal3, nir_op_fall_equal4, nir_op_fall_equal8, nir_op_fany_nequal16, nir_op_fany_nequal2, nir_op_fany_nequal3, nir_op_fany_nequal4, nir_op_fany_nequal8, nir_op_fceil, nir_op_fclamp_pos, 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_fdot16, nir_op_fdot16_replicated, nir_op_fdot2, nir_op_fdot2_replicated, nir_op_fdot3, nir_op_fdot3_replicated, nir_op_fdot4, nir_op_fdot4_replicated, nir_op_fdot8, nir_op_fdot8_replicated, nir_op_fdph, nir_op_fdph_replicated, nir_op_feq, nir_op_feq16, nir_op_feq32, nir_op_feq8, nir_op_fexp2, nir_op_ffloor, nir_op_ffma, nir_op_ffract, nir_op_fge, nir_op_fge16, nir_op_fge32, nir_op_fge8, nir_op_find_lsb, nir_op_fisfinite, nir_op_fisnormal, nir_op_flog2, nir_op_flrp, nir_op_flt, nir_op_flt16, nir_op_flt32, nir_op_flt8, nir_op_fmax, nir_op_fmin, nir_op_fmod, nir_op_fmul, nir_op_fneg, nir_op_fneu, nir_op_fneu16, nir_op_fneu32, nir_op_fneu8, nir_op_fpow, nir_op_fquantize2f16, nir_op_frcp, nir_op_frem, nir_op_frexp_exp, nir_op_frexp_sig, nir_op_fround_even, nir_op_frsq, nir_op_fsat, nir_op_fsat_signed, nir_op_fsign, nir_op_fsin, nir_op_fsqrt, nir_op_fsub, nir_op_fsum2, nir_op_fsum3, nir_op_fsum4, nir_op_ftrunc, nir_op_i2b1, nir_op_i2b16, nir_op_i2b32, nir_op_i2b8, nir_op_i2f16, nir_op_i2f32, nir_op_i2f64, nir_op_i2fmp, nir_op_i2i1, nir_op_i2i16, nir_op_i2i32, nir_op_i2i64, nir_op_i2i8, nir_op_i2imp, nir_op_iabs, nir_op_iadd, nir_op_iadd_sat, nir_op_iand, nir_op_ibfe, nir_op_ibitfield_extract, nir_op_idiv, nir_op_ieq, nir_op_ieq16, nir_op_ieq32, nir_op_ieq8, nir_op_ifind_msb, nir_op_ige, nir_op_ige16, nir_op_ige32, nir_op_ige8, nir_op_ihadd, nir_op_ilt, nir_op_ilt16, nir_op_ilt32, nir_op_ilt8, nir_op_imad24_ir3, nir_op_imadsh_mix16, nir_op_imax, nir_op_imin, nir_op_imod, nir_op_imul, nir_op_imul24, nir_op_imul_2x32_64, nir_op_imul_32x16, nir_op_imul_high, nir_op_ine, nir_op_ine16, nir_op_ine32, nir_op_ine8, nir_op_ineg, nir_op_inot, nir_op_ior, nir_op_irem, nir_op_irhadd, nir_op_ishl, nir_op_ishr, nir_op_isign, nir_op_isub, nir_op_isub_sat, nir_op_ixor, nir_op_ldexp, nir_op_mov, nir_op_pack_32_2x16, nir_op_pack_32_2x16_split, nir_op_pack_32_4x8, nir_op_pack_64_2x32, nir_op_pack_64_2x32_split, nir_op_pack_64_4x16, 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_u2f16, nir_op_u2f32, nir_op_u2f64, nir_op_u2fmp, nir_op_u2u1, nir_op_u2u16, nir_op_u2u32, nir_op_u2u64, nir_op_u2u8, nir_op_uabs_isub, nir_op_uabs_usub, nir_op_uadd_carry, nir_op_uadd_sat, nir_op_ubfe, nir_op_ubitfield_extract, nir_op_uclz, nir_op_udiv, nir_op_ufind_msb, nir_op_uge, nir_op_uge16, nir_op_uge32, nir_op_uge8, nir_op_uhadd, nir_op_ult, nir_op_ult16, nir_op_ult32, nir_op_ult8, nir_op_umad24, nir_op_umax, nir_op_umax_4x8, nir_op_umin, nir_op_umin_4x8, nir_op_umod, nir_op_umul24, nir_op_umul_2x32_64, nir_op_umul_32x16, nir_op_umul_high, nir_op_umul_low, nir_op_umul_unorm_4x8, nir_op_unpack_32_2x16, nir_op_unpack_32_2x16_split_x, nir_op_unpack_32_2x16_split_y, nir_op_unpack_32_4x8, nir_op_unpack_64_2x32, nir_op_unpack_64_2x32_split_x, nir_op_unpack_64_2x32_split_y, nir_op_unpack_64_4x16, nir_op_unpack_half_2x16, nir_op_unpack_half_2x16_flush_to_zero, nir_op_unpack_half_2x16_split_x, nir_op_unpack_half_2x16_split_x_flush_to_zero, nir_op_unpack_half_2x16_split_y, nir_op_unpack_half_2x16_split_y_flush_to_zero, nir_op_unpack_snorm_2x16, nir_op_unpack_snorm_4x8, nir_op_unpack_unorm_2x16, nir_op_unpack_unorm_4x8, nir_op_urhadd, nir_op_urol, nir_op_uror, nir_op_usadd_4x8, nir_op_ushr, nir_op_ussub_4x8, nir_op_usub_borrow, nir_op_usub_sat, nir_op_vec16, nir_op_vec2, nir_op_vec3, nir_op_vec4, nir_op_vec8, nir_last_opcode = nir_op_vec8, nir_num_opcodes = nir_last_opcode + 1 } nir_op; #endif /* _NIR_OPCODES_ */