X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=include%2Fopcode%2Frx.h;h=95b94b68b6773a9f54ef5e31180c050c3dee595e;hb=9e790a80160676e7fd3fb8be6cf3c1c77d9ded81;hp=76f2035c8b08482e82ceaa48d32140d783a6cab7;hpb=4b95cf5c0c75d6efc1b2f96af72317aecca079f1;p=deliverable%2Fbinutils-gdb.git diff --git a/include/opcode/rx.h b/include/opcode/rx.h index 76f2035c8b..95b94b68b6 100644 --- a/include/opcode/rx.h +++ b/include/opcode/rx.h @@ -1,5 +1,5 @@ /* Opcode decoder for the Renesas RX - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2020 Free Software Foundation, Inc. Written by DJ Delorie This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. @@ -23,6 +23,10 @@ analyzer, and the disassembler. Given an opcode data source, it decodes the next opcode into the following structures. */ +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { RX_AnySize = 0, @@ -34,6 +38,9 @@ typedef enum RX_SWord, RX_3Byte, RX_Long, + RX_Double, + RX_Bad_Size, + RX_MAX_SIZE } RX_Size; typedef enum @@ -42,11 +49,17 @@ typedef enum RX_Operand_Immediate, /* #addend */ RX_Operand_Register, /* Rn */ RX_Operand_Indirect, /* [Rn + addend] */ + RX_Operand_Zero_Indirect,/* [Rn] */ RX_Operand_Postinc, /* [Rn+] */ RX_Operand_Predec, /* [-Rn] */ RX_Operand_Condition, /* eq, gtu, etc */ RX_Operand_Flag, /* [UIOSZC] */ RX_Operand_TwoReg, /* [Rn + scale*R2] */ + RX_Operand_DoubleReg, /* DRn */ + RX_Operand_DoubleRegH,/* DRHn */ + RX_Operand_DoubleRegL,/* DRLn */ + RX_Operand_DoubleCReg,/* DCRxx */ + RX_Operand_DoubleCond,/* UN/EQ/LE/LT */ } RX_Operand_Type; typedef enum @@ -97,6 +110,10 @@ typedef enum RXO_nop, RXO_nop2, RXO_nop3, + RXO_nop4, + RXO_nop5, + RXO_nop6, + RXO_nop7, RXO_scmpu, RXO_smovu, @@ -150,6 +167,51 @@ typedef enum RXO_wait, RXO_sccnd, /* d = cond(s) ? 1 : 0 */ + + RXO_fsqrt, + RXO_ftou, + RXO_utof, + RXO_movco, + RXO_movli, + RXO_emaca, + RXO_emsba, + RXO_emula, + RXO_maclh, + RXO_msbhi, + RXO_msblh, + RXO_msblo, + RXO_mullh, + RXO_mvfacgu, + RXO_mvtacgu, + RXO_racl, + RXO_rdacl, + RXO_rdacw, + + RXO_bfmov, + RXO_bfmovz, + RXO_rstr, + RXO_save, + RXO_dmov, + RXO_dpopm, + RXO_dpushm, + RXO_mvfdc, + RXO_mvfdr, + RXO_mvtdc, + RXO_dabs, + RXO_dadd, + RXO_dcmp, + RXO_ddiv, + RXO_dmul, + RXO_dneg, + RXO_dround, + RXO_dsqrt, + RXO_dsub, + RXO_dtoi, + RXO_dtof, + RXO_dtou, + RXO_ftod, + RXO_itod, + RXO_utod } RX_Opcode_ID; /* Condition bitpatterns, as registers. */ @@ -212,3 +274,7 @@ typedef struct registers. 32..47 are condition codes. */ int rx_decode_opcode (unsigned long, RX_Opcode_Decoded *, int (*)(void *), void *); + +#ifdef __cplusplus +} +#endif