diff options
author | Frank Ch. Eigler <fche@redhat.com> | 2001-07-12 02:32:25 +0000 |
---|---|---|
committer | Frank Ch. Eigler <fche@redhat.com> | 2001-07-12 02:32:25 +0000 |
commit | 81f6038f98bd3ca48651c22779ffe6231d0873a0 (patch) | |
tree | b0b00e86933a62418f03d1de98982df853161f80 /opcodes/cgen-dis.in | |
parent | 3bbfbb92b3cf687215142bcd8dfe720cf9cdc6b0 (diff) | |
download | binutils-81f6038f98bd3ca48651c22779ffe6231d0873a0.tar.gz binutils-81f6038f98bd3ca48651c22779ffe6231d0873a0.tar.bz2 binutils-81f6038f98bd3ca48651c22779ffe6231d0873a0.zip |
* some support for funny-endian 16/32-bit insn sets
[cgen/ChangeLog]
2001-07-11 Frank Ch. Eigler <fche@redhat.com>
* desc-cpu.scm (-gen-mach-table-defns): Emit fourth field: the
mach->cpu insn-chunk-bitsize.
(-gen-cpu-open): In @arch@_cgen_rebuild_tables, process above new
field toward CGEN_CPU_TABLE->insn_chunk_bitsize.
* mach.scm (<cpu>): New field insn-chunk-bitsize.
(-cpu-parse, -cpu-read): Parse/initialize it.
* doc/rtl.texi (define-cpu): Document it.
[opcodes/ChangeLog]
2001-07-11 Frank Ch. Eigler <fche@redhat.com>
* cgen-dis.in (print_insn): Use cgen_get_insn_value instead of
bfd_get_bits.
* cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect
non-zero CGEN_CPU_DESC->insn_chunk_bitsize.
[include/opcode/ChangeLog]
2001-07-11 Frank Ch. Eigler <fche@redhat.com>
* cgen.h (CGEN_MACH): Add insn_chunk_bitsize field.
(cgen_cpu_desc): Ditto.
Diffstat (limited to 'opcodes/cgen-dis.in')
-rw-r--r-- | opcodes/cgen-dis.in | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/opcodes/cgen-dis.in b/opcodes/cgen-dis.in index b2372fd56d7..2c4ce7feed9 100644 --- a/opcodes/cgen-dis.in +++ b/opcodes/cgen-dis.in @@ -229,12 +229,12 @@ print_insn (cd, pc, info, buf, buflen) char *buf; int buflen; { - unsigned long insn_value; + CGEN_INSN_INT insn_value; const CGEN_INSN_LIST *insn_list; CGEN_EXTRACT_INFO ex_info; /* Extract base part of instruction, just in case CGEN_DIS_* uses it. */ - insn_value = bfd_get_bits (buf, buflen * 8, info->endian == BFD_ENDIAN_BIG); + insn_value = cgen_get_insn_value (cd, buf, buflen * 8); /* Fill in ex_info fields like read_insn would. Don't actually call read_insn, since the incoming buffer is already read (and possibly |