[BACK]Return to aarch64-dis.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / gpl3 / binutils / dist / opcodes

Annotation of src/external/gpl3/binutils/dist/opcodes/aarch64-dis.h, Revision 1.1.1.1.4.2

1.1.1.1.4.2! yamt        1: /* aarch64-dis.h -- Header file for aarch64-dis.c and aarch64-dis-2.c.
        !             2:    Copyright 2012  Free Software Foundation, Inc.
        !             3:    Contributed by ARM Ltd.
        !             4:
        !             5:    This file is part of the GNU opcodes library.
        !             6:
        !             7:    This library is free software; you can redistribute it and/or modify
        !             8:    it under the terms of the GNU General Public License as published by
        !             9:    the Free Software Foundation; either version 3, or (at your option)
        !            10:    any later version.
        !            11:
        !            12:    It is distributed in the hope that it will be useful, but WITHOUT
        !            13:    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
        !            14:    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
        !            15:    License for more details.
        !            16:
        !            17:    You should have received a copy of the GNU General Public License
        !            18:    along with this program; see the file COPYING3. If not,
        !            19:    see <http://www.gnu.org/licenses/>.  */
        !            20:
        !            21: #ifndef OPCODES_AARCH64_DIS_H
        !            22: #define OPCODES_AARCH64_DIS_H
        !            23: #include "bfd_stdint.h"
        !            24: #include "aarch64-opc.h"
        !            25:
        !            26: /* Lookup opcode WORD in the opcode table.
        !            27:
        !            28:    In the case of multiple aarch64_opcode candidates, one of them will be
        !            29:    returned; for other candidate(s), call aarch64_find_next_opcode to
        !            30:    obtain.  Note that aarch64_find_next_opcode finds the next
        !            31:    aarch64_opcode candidate in a way as if all related aarch64_opcode
        !            32:    entries were in a single-link list.
        !            33:
        !            34:    N.B. all alias opcodes are ignored here.  */
        !            35:
        !            36: const aarch64_opcode* aarch64_opcode_lookup (uint32_t);
        !            37: const aarch64_opcode* aarch64_find_next_opcode (const aarch64_opcode *);
        !            38:
        !            39: /* Given OPCODE, return its alias, e.g. given UBFM, return LSL.
        !            40:
        !            41:    In the case of multiple alias candidates, the one of the highest priority
        !            42:    (or one of several aliases of the same highest priority) will be
        !            43:    returned; for the other candidate(s), call aarch64_find_next_alias_opcode
        !            44:    to obtain.  Note that aarch64_find_next_alias_opcode finds the next
        !            45:    alias candidate in a way as if all related aliases were in a single-link
        !            46:    list with priority from the highest to the least.  */
        !            47:
        !            48: const aarch64_opcode* aarch64_find_alias_opcode (const aarch64_opcode *);
        !            49: const aarch64_opcode* aarch64_find_next_alias_opcode (const aarch64_opcode *);
        !            50:
        !            51: /* Switch-table-based high-level operand extractor.  */
        !            52:
        !            53: int aarch64_extract_operand (const aarch64_operand *, aarch64_opnd_info *,
        !            54:                             const aarch64_insn, const aarch64_inst *);
        !            55:
        !            56: /* Operand extractors.  */
        !            57:
        !            58: #define AARCH64_DECL_OPD_EXTRACTOR(x)  \
        !            59:   int aarch64_##x (const aarch64_operand *, aarch64_opnd_info *, \
        !            60:                   const aarch64_insn, const aarch64_inst *)
        !            61:
        !            62: AARCH64_DECL_OPD_EXTRACTOR (ext_regno);
        !            63: AARCH64_DECL_OPD_EXTRACTOR (ext_regrt_sysins);
        !            64: AARCH64_DECL_OPD_EXTRACTOR (ext_reglane);
        !            65: AARCH64_DECL_OPD_EXTRACTOR (ext_reglist);
        !            66: AARCH64_DECL_OPD_EXTRACTOR (ext_ldst_reglist);
        !            67: AARCH64_DECL_OPD_EXTRACTOR (ext_ldst_reglist_r);
        !            68: AARCH64_DECL_OPD_EXTRACTOR (ext_ldst_elemlist);
        !            69: AARCH64_DECL_OPD_EXTRACTOR (ext_advsimd_imm_shift);
        !            70: AARCH64_DECL_OPD_EXTRACTOR (ext_shll_imm);
        !            71: AARCH64_DECL_OPD_EXTRACTOR (ext_imm);
        !            72: AARCH64_DECL_OPD_EXTRACTOR (ext_imm_half);
        !            73: AARCH64_DECL_OPD_EXTRACTOR (ext_advsimd_imm_modified);
        !            74: AARCH64_DECL_OPD_EXTRACTOR (ext_fbits);
        !            75: AARCH64_DECL_OPD_EXTRACTOR (ext_aimm);
        !            76: AARCH64_DECL_OPD_EXTRACTOR (ext_limm);
        !            77: AARCH64_DECL_OPD_EXTRACTOR (ext_ft);
        !            78: AARCH64_DECL_OPD_EXTRACTOR (ext_addr_simple);
        !            79: AARCH64_DECL_OPD_EXTRACTOR (ext_addr_regoff);
        !            80: AARCH64_DECL_OPD_EXTRACTOR (ext_addr_simm);
        !            81: AARCH64_DECL_OPD_EXTRACTOR (ext_addr_uimm12);
        !            82: AARCH64_DECL_OPD_EXTRACTOR (ext_simd_addr_post);
        !            83: AARCH64_DECL_OPD_EXTRACTOR (ext_cond);
        !            84: AARCH64_DECL_OPD_EXTRACTOR (ext_sysreg);
        !            85: AARCH64_DECL_OPD_EXTRACTOR (ext_pstatefield);
        !            86: AARCH64_DECL_OPD_EXTRACTOR (ext_sysins_op);
        !            87: AARCH64_DECL_OPD_EXTRACTOR (ext_barrier);
        !            88: AARCH64_DECL_OPD_EXTRACTOR (ext_prfop);
        !            89: AARCH64_DECL_OPD_EXTRACTOR (ext_reg_extended);
        !            90: AARCH64_DECL_OPD_EXTRACTOR (ext_reg_shifted);
        !            91:
        !            92: #undef AARCH64_DECL_OPD_EXTRACTOR
        !            93:
        !            94: #endif /* OPCODES_AARCH64_DIS_H */

CVSweb <webmaster@jp.NetBSD.org>