Blame opcodes/aarch64-asm.h

Packit Service 706eca
/* aarch64-asm.h -- Header file for aarch64-asm.c and aarch64-asm-2.c.
Packit Service 706eca
   Copyright (C) 2012-2018 Free Software Foundation, Inc.
Packit Service 706eca
   Contributed by ARM Ltd.
Packit Service 706eca
Packit Service 706eca
   This file is part of the GNU opcodes library.
Packit Service 706eca
Packit Service 706eca
   This library is free software; you can redistribute it and/or modify
Packit Service 706eca
   it under the terms of the GNU General Public License as published by
Packit Service 706eca
   the Free Software Foundation; either version 3, or (at your option)
Packit Service 706eca
   any later version.
Packit Service 706eca
Packit Service 706eca
   It is distributed in the hope that it will be useful, but WITHOUT
Packit Service 706eca
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
Packit Service 706eca
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
Packit Service 706eca
   License for more details.
Packit Service 706eca
Packit Service 706eca
   You should have received a copy of the GNU General Public License
Packit Service 706eca
   along with this program; see the file COPYING3. If not,
Packit Service 706eca
   see <http://www.gnu.org/licenses/>.  */
Packit Service 706eca
Packit Service 706eca
#ifndef OPCODES_AARCH64_ASM_H
Packit Service 706eca
#define OPCODES_AARCH64_ASM_H
Packit Service 706eca
Packit Service 706eca
#include "aarch64-opc.h"
Packit Service 706eca
Packit Service 706eca
/* Given OPCODE, return the opcode entry that OPCODE aliases to, e.g.
Packit Service 706eca
   given LSL, return UBFM.  */
Packit Service 706eca
Packit Service 706eca
const aarch64_opcode* aarch64_find_real_opcode (const aarch64_opcode *);
Packit Service 706eca
Packit Service 706eca
/* Switch-table-based high-level operand inserter.  */
Packit Service 706eca
Packit Service 706eca
bfd_boolean aarch64_insert_operand (const aarch64_operand *,
Packit Service 706eca
				    const aarch64_opnd_info *, aarch64_insn *,
Packit Service 706eca
				    const aarch64_inst *,
Packit Service 706eca
				    aarch64_operand_error *);
Packit Service 706eca
Packit Service 706eca
/* Operand inserters.  */
Packit Service 706eca
Packit Service 706eca
#define AARCH64_DECL_OPD_INSERTER(x)	\
Packit Service 706eca
  bfd_boolean aarch64_##x (const aarch64_operand *, const aarch64_opnd_info *, \
Packit Service 706eca
			   aarch64_insn *, const aarch64_inst *, \
Packit Service 706eca
			   aarch64_operand_error *)
Packit Service 706eca
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_regno);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_reglane);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_reglist);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_ldst_reglist);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_ldst_reglist_r);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_ldst_elemlist);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_advsimd_imm_shift);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_imm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_imm_half);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_advsimd_imm_modified);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_fpimm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_fbits);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_aimm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_limm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_inv_limm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_ft);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_addr_simple);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_addr_offset);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_addr_regoff);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_addr_simm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_addr_simm10);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_addr_uimm12);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_simd_addr_post);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_cond);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sysreg);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_pstatefield);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sysins_op);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_barrier);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_hint);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_prfop);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_reg_extended);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_reg_shifted);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_ri_s4);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_ri_s4xvl);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_ri_s6xvl);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_ri_s9xvl);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_ri_u6);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_rr_lsl);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_rz_xtw);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_zi_u5);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_zz_lsl);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_zz_sxtw);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_addr_zz_uxtw);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_aimm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_asimm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_float_half_one);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_float_half_two);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_float_zero_one);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_index);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_limm_mov);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_quad_index);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_reglist);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_scale);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_shlimm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_sve_shrimm);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_imm_rotate1);
Packit Service 706eca
AARCH64_DECL_OPD_INSERTER (ins_imm_rotate2);
Packit Service 706eca
Packit Service 706eca
#undef AARCH64_DECL_OPD_INSERTER
Packit Service 706eca
Packit Service 706eca
#endif /* OPCODES_AARCH64_ASM_H */