diff options
author | cvs2svn <> | 2010-05-26 09:16:32 +0400 |
---|---|---|
committer | cvs2svn <> | 2010-05-26 09:16:32 +0400 |
commit | a5e7091958b7142c348a339c1a832d1b7b25cdb8 (patch) | |
tree | f8b4d6c6568fe96e0ae0ef50dfffc86a68fc3495 /include/opcode/rx.h | |
parent | 3b5354fd3bd55d5a4598f845e846e1c7f34c65d9 (diff) |
This commit was manufactured by cvs2svn to create tag 'cgen-cgen-snapshot-20100601
snapshot-20100601'.
Sprout from gdb_7_1-branch 2010-02-18 10:56:28 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'gdb_7_1-branch'.'
Cherrypick from master 2010-05-26 05:16:31 UTC Dave Korn <dave.korn.cygwin@gmail.com> 'Merge from gcc:':
ChangeLog
Makefile.def
Makefile.in
config.guess
config.sub
configure
configure.ac
Delete:
djunpack.bat
include/COPYING
include/COPYING3
include/ChangeLog
include/ChangeLog-9103
include/MAINTAINERS
include/alloca-conf.h
include/ansidecl.h
include/aout/ChangeLog
include/aout/adobe.h
include/aout/aout64.h
include/aout/ar.h
include/aout/dynix3.h
include/aout/encap.h
include/aout/host.h
include/aout/hp.h
include/aout/hp300hpux.h
include/aout/hppa.h
include/aout/ranlib.h
include/aout/reloc.h
include/aout/stab.def
include/aout/stab_gnu.h
include/aout/sun4.h
include/bfdlink.h
include/binary-io.h
include/bout.h
include/cgen/ChangeLog
include/cgen/basic-modes.h
include/cgen/basic-ops.h
include/cgen/bitset.h
include/coff/ChangeLog
include/coff/ChangeLog-9103
include/coff/alpha.h
include/coff/apollo.h
include/coff/arm.h
include/coff/aux-coff.h
include/coff/ecoff.h
include/coff/external.h
include/coff/go32exe.h
include/coff/h8300.h
include/coff/h8500.h
include/coff/i386.h
include/coff/i860.h
include/coff/i960.h
include/coff/ia64.h
include/coff/internal.h
include/coff/m68k.h
include/coff/m88k.h
include/coff/maxq.h
include/coff/mcore.h
include/coff/mips.h
include/coff/mipspe.h
include/coff/or32.h
include/coff/pe.h
include/coff/powerpc.h
include/coff/rs6000.h
include/coff/rs6k64.h
include/coff/sh.h
include/coff/sparc.h
include/coff/sym.h
include/coff/symconst.h
include/coff/ti.h
include/coff/tic30.h
include/coff/tic4x.h
include/coff/tic54x.h
include/coff/tic80.h
include/coff/w65.h
include/coff/we32k.h
include/coff/x86_64.h
include/coff/xcoff.h
include/coff/z80.h
include/coff/z8k.h
include/demangle.h
include/dis-asm.h
include/dwarf2.h
include/dyn-string.h
include/elf/ChangeLog
include/elf/ChangeLog-9103
include/elf/alpha.h
include/elf/arc.h
include/elf/arm.h
include/elf/avr.h
include/elf/bfin.h
include/elf/common.h
include/elf/cr16.h
include/elf/cr16c.h
include/elf/cris.h
include/elf/crx.h
include/elf/d10v.h
include/elf/d30v.h
include/elf/dlx.h
include/elf/dwarf.h
include/elf/external.h
include/elf/fr30.h
include/elf/frv.h
include/elf/h8.h
include/elf/hppa.h
include/elf/i370.h
include/elf/i386.h
include/elf/i860.h
include/elf/i960.h
include/elf/ia64.h
include/elf/internal.h
include/elf/ip2k.h
include/elf/iq2000.h
include/elf/lm32.h
include/elf/m32c.h
include/elf/m32r.h
include/elf/m68hc11.h
include/elf/m68k.h
include/elf/mcore.h
include/elf/mep.h
include/elf/microblaze.h
include/elf/mips.h
include/elf/mmix.h
include/elf/mn10200.h
include/elf/mn10300.h
include/elf/moxie.h
include/elf/msp430.h
include/elf/mt.h
include/elf/openrisc.h
include/elf/or32.h
include/elf/pj.h
include/elf/ppc.h
include/elf/ppc64.h
include/elf/reloc-macros.h
include/elf/rx.h
include/elf/s390.h
include/elf/score.h
include/elf/sh.h
include/elf/sparc.h
include/elf/spu.h
include/elf/v850.h
include/elf/vax.h
include/elf/vxworks.h
include/elf/x86-64.h
include/elf/xc16x.h
include/elf/xstormy16.h
include/elf/xtensa.h
include/fibheap.h
include/filenames.h
include/floatformat.h
include/fnmatch.h
include/fopen-bin.h
include/fopen-same.h
include/fopen-vms.h
include/gdb/ChangeLog
include/gdb/callback.h
include/gdb/fileio.h
include/gdb/remote-sim.h
include/gdb/signals.h
include/gdb/sim-arm.h
include/gdb/sim-cr16.h
include/gdb/sim-d10v.h
include/gdb/sim-frv.h
include/gdb/sim-h8300.h
include/gdb/sim-lm32.h
include/gdb/sim-m32c.h
include/gdb/sim-ppc.h
include/gdb/sim-rx.h
include/gdb/sim-sh.h
include/gdbm.h
include/getopt.h
include/hashtab.h
include/hp-symtab.h
include/ieee.h
include/libiberty.h
include/lto-symtab.h
include/md5.h
include/nlm/ChangeLog
include/nlm/alpha-ext.h
include/nlm/common.h
include/nlm/external.h
include/nlm/i386-ext.h
include/nlm/internal.h
include/nlm/ppc-ext.h
include/nlm/sparc32-ext.h
include/oasys.h
include/objalloc.h
include/obstack.h
include/opcode/ChangeLog
include/opcode/ChangeLog-9103
include/opcode/alpha.h
include/opcode/arc.h
include/opcode/arm.h
include/opcode/avr.h
include/opcode/bfin.h
include/opcode/cgen.h
include/opcode/convex.h
include/opcode/cr16.h
include/opcode/cris.h
include/opcode/crx.h
include/opcode/d10v.h
include/opcode/d30v.h
include/opcode/dlx.h
include/opcode/h8300.h
include/opcode/hppa.h
include/opcode/i370.h
include/opcode/i386.h
include/opcode/i860.h
include/opcode/i960.h
include/opcode/ia64.h
include/opcode/m68hc11.h
include/opcode/m68k.h
include/opcode/m88k.h
include/opcode/maxq.h
include/opcode/mips.h
include/opcode/mmix.h
include/opcode/mn10200.h
include/opcode/mn10300.h
include/opcode/moxie.h
include/opcode/msp430.h
include/opcode/np1.h
include/opcode/ns32k.h
include/opcode/or32.h
include/opcode/pdp11.h
include/opcode/pj.h
include/opcode/pn.h
include/opcode/ppc.h
include/opcode/pyr.h
include/opcode/rx.h
include/opcode/s390.h
include/opcode/score-datadep.h
include/opcode/score-inst.h
include/opcode/sparc.h
include/opcode/spu-insns.h
include/opcode/spu.h
include/opcode/tahoe.h
include/opcode/tic30.h
include/opcode/tic4x.h
include/opcode/tic54x.h
include/opcode/tic80.h
include/opcode/v850.h
include/opcode/vax.h
include/os9k.h
include/partition.h
include/plugin-api.h
include/progress.h
include/safe-ctype.h
include/sha1.h
include/sort.h
include/splay-tree.h
include/symcat.h
include/vms/ChangeLog
include/vms/dmt.h
include/vms/dst.h
include/vms/eeom.h
include/vms/egps.h
include/vms/egsd.h
include/vms/egst.h
include/vms/egsy.h
include/vms/eiaf.h
include/vms/eicp.h
include/vms/eiha.h
include/vms/eihd.h
include/vms/eihi.h
include/vms/eihs.h
include/vms/eihvn.h
include/vms/eisd.h
include/vms/emh.h
include/vms/eobjrec.h
include/vms/esdf.h
include/vms/esrf.h
include/vms/etir.h
include/vms/shl.h
include/xregex.h
include/xregex2.h
include/xtensa-config.h
include/xtensa-isa-internal.h
include/xtensa-isa.h
texinfo/texinfo.tex
Diffstat (limited to 'include/opcode/rx.h')
-rw-r--r-- | include/opcode/rx.h | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/include/opcode/rx.h b/include/opcode/rx.h deleted file mode 100644 index a1e6c45c7..000000000 --- a/include/opcode/rx.h +++ /dev/null @@ -1,215 +0,0 @@ -/* Opcode decoder for the Renesas RX - Copyright 2008, 2009 - Free Software Foundation, Inc. - Written by DJ Delorie <dj@redhat.com> - - This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it 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 program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA - 02110-1301, USA. */ - -/* The RX decoder in libopcodes is used by the simulator, gdb's - analyzer, and the disassembler. Given an opcode data source, - it decodes the next opcode into the following structures. */ - -typedef enum -{ - RX_AnySize = 0, - RX_Byte, /* undefined extension */ - RX_UByte, - RX_SByte, - RX_Word, /* undefined extension */ - RX_UWord, - RX_SWord, - RX_3Byte, - RX_Long, -} RX_Size; - -typedef enum -{ - RX_Operand_None, - RX_Operand_Immediate, /* #addend */ - RX_Operand_Register, /* Rn */ - RX_Operand_Indirect, /* [Rn + addend] */ - RX_Operand_Postinc, /* [Rn+] */ - RX_Operand_Predec, /* [-Rn] */ - RX_Operand_Condition, /* eq, gtu, etc */ - RX_Operand_Flag, /* [UIOSZC] */ -} RX_Operand_Type; - -typedef enum -{ - RXO_unknown, - RXO_mov, /* d = s (signed) */ - RXO_movbi, /* d = [s,s2] (signed) */ - RXO_movbir, /* [s,s2] = d (signed) */ - RXO_pushm, /* s..s2 */ - RXO_popm, /* s..s2 */ - RXO_pusha, /* &s */ - RXO_xchg, /* s <-> d */ - RXO_stcc, /* d = s if cond(s2) */ - RXO_rtsd, /* rtsd, 1=imm, 2-0 = reg if reg type */ - - /* These are all either d OP= s or, if s2 is set, d = s OP s2. Note - that d may be "None". */ - RXO_and, - RXO_or, - RXO_xor, - RXO_add, - RXO_sub, - RXO_mul, - RXO_div, - RXO_divu, - RXO_shll, - RXO_shar, - RXO_shlr, - - RXO_adc, /* d = d + s + carry */ - RXO_sbb, /* d = d - s - ~carry */ - RXO_abs, /* d = |s| */ - RXO_max, /* d = max(d,s) */ - RXO_min, /* d = min(d,s) */ - RXO_emul, /* d:64 = d:32 * s */ - RXO_emulu, /* d:64 = d:32 * s (unsigned) */ - RXO_ediv, /* d:64 / s; d = quot, d+1 = rem */ - RXO_edivu, /* d:64 / s; d = quot, d+1 = rem */ - - RXO_rolc, /* d <<= 1 through carry */ - RXO_rorc, /* d >>= 1 through carry*/ - RXO_rotl, /* d <<= #s without carry */ - RXO_rotr, /* d >>= #s without carry*/ - RXO_revw, /* d = revw(s) */ - RXO_revl, /* d = revl(s) */ - RXO_branch, /* pc = d if cond(s) */ - RXO_branchrel,/* pc += d if cond(s) */ - RXO_jsr, /* pc = d */ - RXO_jsrrel, /* pc += d */ - RXO_rts, - RXO_nop, - - RXO_scmpu, - RXO_smovu, - RXO_smovb, - RXO_suntil, - RXO_swhile, - RXO_smovf, - RXO_sstr, - - RXO_rmpa, - RXO_mulhi, - RXO_mullo, - RXO_machi, - RXO_maclo, - RXO_mvtachi, - RXO_mvtaclo, - RXO_mvfachi, - RXO_mvfacmi, - RXO_mvfaclo, - RXO_racw, - - RXO_sat, /* sat(d) */ - RXO_satr, - - RXO_fadd, /* d op= s */ - RXO_fcmp, - RXO_fsub, - RXO_ftoi, - RXO_fmul, - RXO_fdiv, - RXO_round, - RXO_itof, - - RXO_bset, /* d |= (1<<s) */ - RXO_bclr, /* d &= ~(1<<s) */ - RXO_btst, /* s & (1<<s2) */ - RXO_bnot, /* d ^= (1<<s) */ - RXO_bmcc, /* d<s> = cond(s2) */ - - RXO_clrpsw, /* flag index in d */ - RXO_setpsw, /* flag index in d */ - RXO_mvtipl, /* new IPL in s */ - - RXO_rtfi, - RXO_rte, - RXO_rtd, /* undocumented */ - RXO_brk, - RXO_dbt, /* undocumented */ - RXO_int, /* vector id in s */ - RXO_stop, - RXO_wait, - - RXO_sccnd, /* d = cond(s) ? 1 : 0 */ -} RX_Opcode_ID; - -/* Condition bitpatterns, as registers. */ -#define RXC_eq 0 -#define RXC_z 0 -#define RXC_ne 1 -#define RXC_nz 1 -#define RXC_c 2 -#define RXC_nc 3 -#define RXC_gtu 4 -#define RXC_leu 5 -#define RXC_pz 6 -#define RXC_n 7 -#define RXC_ge 8 -#define RXC_lt 9 -#define RXC_gt 10 -#define RXC_le 11 -#define RXC_o 12 -#define RXC_no 13 -#define RXC_always 14 -#define RXC_never 15 - -typedef struct -{ - RX_Operand_Type type; - int reg; - int addend; - RX_Size size; -} RX_Opcode_Operand; - -typedef struct -{ - RX_Opcode_ID id; - int n_bytes; - int prefix; - char * syntax; - RX_Size size; - /* By convention, these are destination, source1, source2. */ - RX_Opcode_Operand op[3]; - - /* The logic here is: - newflags = (oldflags & ~(int)flags_0) | flags_1 | (op_flags & flags_s) - Only the O, S, Z, and C flags are affected. */ - char flags_0; /* This also clears out flags-to-be-set. */ - char flags_1; - char flags_s; -} RX_Opcode_Decoded; - -/* Within the syntax, %c-style format specifiers are as follows: - - %% = '%' character - %0 = operand[0] (destination) - %1 = operand[1] (source) - %2 = operand[2] (2nd source) - %s = operation size (b/w/l) - %SN = operand size [N] (N=0,1,2) - %aN = op[N] as an address (N=0,1,2) - - Register numbers 0..15 are general registers. 16..31 are control - registers. 32..47 are condition codes. */ - -int rx_decode_opcode (unsigned long, RX_Opcode_Decoded *, int (*)(void *), void *); |