X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fopcode%2Fd10v.h;h=baa7be54f2383287914b199f9d565bd7ed72c0e1;hb=2571583aed598dd3f9651b53434e5f177a0e3cf7;hp=4b74c9862d447d4ff9bcf7cf537a877604774fc8;hpb=5b64ad42d36e6d487e1f7287d37fbc243a178e72;p=external%2Fbinutils.git diff --git a/include/opcode/d10v.h b/include/opcode/d10v.h index 4b74c98..baa7be5 100644 --- a/include/opcode/d10v.h +++ b/include/opcode/d10v.h @@ -1,26 +1,31 @@ /* d10v.h -- Header file for D10V opcode table - Copyright 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996-2017 Free Software Foundation, Inc. Written by Martin Hunt (hunt@cygnus.com), Cygnus Support -This file is part of GDB, GAS, and the GNU binutils. + This file is part of GDB, GAS, and the GNU binutils. -GDB, GAS, and the GNU binutils are free software; you can redistribute -them and/or modify them under the terms of the GNU General Public -License as published by the Free Software Foundation; either version -1, or (at your option) any later version. + GDB, GAS, and the GNU binutils are free software; you can redistribute + them and/or modify them under the terms of the GNU General Public + License as published by the Free Software Foundation; either version 3, + or (at your option) any later version. -GDB, GAS, and the GNU binutils are distributed in the hope that they -will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -the GNU General Public License for more details. + GDB, GAS, and the GNU binutils are distributed in the hope that they + will be useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See + the GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this file; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this file; see the file COPYING3. If not, write to the Free + Software Foundation, 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ #ifndef D10V_H #define D10V_H +#ifdef __cplusplus +extern "C" { +#endif + /* Format Specifier */ #define FM00 0 #define FM01 0x40000000 @@ -78,6 +83,7 @@ struct d10v_opcode #define WF0 128 /* modifies f0 */ #define WCAR 256 /* write Carry */ #define BRANCH 512 /* branch, no link */ +#define ALONE 1024 /* short but pack with a NOP if on asm line alone */ /* the opcode */ long opcode; @@ -176,6 +182,18 @@ extern const struct d10v_operand d10v_operands[]; /* general purpose register */ #define OPERAND_GPR (0x40000) +/* special imm3 values with range restricted to -2 <= imm3 <= 3 */ +/* needed for rac/rachi */ +#define RESTRICTED_NUM3 (0x80000) + +/* Pre-decrement is only supported for SP. */ +#define OPERAND_SP (0x100000) + +/* Post-decrement is not supported for SP. Like OPERAND_EVEN, and + unlike OPERAND_SP, this flag doesn't prevent the instruction from + matching, it only fails validation later on. */ +#define OPERAND_NOSP (0x200000) + /* Structure to hold information about predefined registers. */ struct pd_reg { @@ -185,10 +203,14 @@ struct pd_reg }; extern const struct pd_reg d10v_predefined_registers[]; -int d10v_reg_name_cnt(); +int d10v_reg_name_cnt (void); /* an expressionS only has one register type, so we fake it */ /* by setting high bits to indicate type */ #define REGISTER_MASK 0xFF +#ifdef __cplusplus +} +#endif + #endif /* D10V_H */