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 | ef393a8fad976074a2c1e4581adcb644cba20988 (patch) | |
tree | f2879adab20f84d39c03f62a1b666e8e374ecd28 | |
parent | 25b14d6c005594fff45348714ae15c7d5d9ca56a (diff) | |
download | newlib-ef393a8fad976074a2c1e4581adcb644cba20988.zip newlib-ef393a8fad976074a2c1e4581adcb644cba20988.tar.gz newlib-ef393a8fad976074a2c1e4581adcb644cba20988.tar.bz2 |
* 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.
-rw-r--r-- | include/opcode/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/cgen.h | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 8ab1f70..a027c8d 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,8 @@ +2001-07-11 Frank Ch. Eigler <fche@redhat.com> + + * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field. + (cgen_cpu_desc): Ditto. + 2001-07-07 Ben Elliston <bje@redhat.com> * m88k.h: Clean up and reformat. Remove unused code. diff --git a/include/opcode/cgen.h b/include/opcode/cgen.h index c13c4d9..c01b5c2 100644 --- a/include/opcode/cgen.h +++ b/include/opcode/cgen.h @@ -199,6 +199,8 @@ typedef struct { const char *bfd_name; /* one of enum mach_attr */ int num; + /* parameter from mach->cpu */ + unsigned int insn_chunk_bitsize; } CGEN_MACH; /* Parse result (also extraction result). @@ -1166,6 +1168,10 @@ typedef struct cgen_cpu_desc lazily fetch the data from there. */ unsigned int word_bitsize; + /* Instruction chunk size (in bits), for purposes of endianness + conversion. */ + unsigned int insn_chunk_bitsize; + /* Indicator if sizes are unknown. This is used by default_insn_bitsize,base_insn_bitsize if there is a difference between the selected isa's. */ |