Commit graph

481 commits

Author SHA1 Message Date
Matthew Green
9fa87a061b [gas/testsuite/ChangeLog]
* gas/ppc/booke.s (rfci, wrtee, wrteei, mfdcrx, mfdcr, mtdcrx,
	mtdcr, msync, dcba, mbar): New BookE tests.
	* gas/ppc/booke.d: Update for new BookE tests.

[opcodes/ChangeLog]
	* ppc-opc.c (MO): New macro for MO field of mbar instruction.
	(powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx, mfdcr,
	mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions.
2001-10-14 01:19:09 +00:00
Nick Clifton
37111cc728 Use safe-ctype.h not ctype.h 2001-10-13 09:38:04 +00:00
Matthew Green
418c174284 [gas/ChangeLog]
* config/tc-ppc.c (md_parse_option): New -m7410, -m7450 and -m7455
	flags, equivalent to -m7400.  New -maltivec to enable AltiVec
	instructions.  New -mbook64 and -mbooke/-mbooke32 flags to enable
	64-bit and 32-bit BookE support, respectively.  Change -m403 and
	-m405 to set PPC403 option.
	(md_show_usage): Adjust for new options.
	* doc/all.texi: Set PPC.
	* doc/as.texinfo: Add PPC support and pull in c-ppc.texi.
	* doc/c-ppc.texi: New file.
	* doc/Makefile.am (CPU_DOCS): Add c-ppc.texi.
	* doc/Makefile.in: Regenerate.

[gas/testsuite/ChangeLog]
	* gas/ppc/booke.s: New test for Motorola BookE.
	* gas/ppc/booke.d: New file.
	* gas/ppc/ppc.exp: Test booke.s.

[include/opcode/ChangeLog]
	* ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_403): New opcode flags for
	BookE and PowerPC403 instructions.

[opcodes/ChangeLog]
	* ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New
	instruction field instruction/extraction functions for new BookE
	DE form instructions.
	(CT): New macro for CT field in an X form instruction.
	(DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form
	instructions.
	(PPC64): Don't include PPC_OPCODE_PPC.
	(403): New opcode macro for PPC403 processors.
	(BOOKE): New opcode macro for BookE processors.
	(bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions.
	(bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise.
	(dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise.
	(stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise.
	(mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise.
	(subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise.
	(subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise.
	(addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise.
	(lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise.
	(stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise.
	(tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise.
	(lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise.
	(stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise.
	(lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise.

	* ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look
	for a disassembler option of `booke', `booke32' or `booke64' to enable
	BookE support in the disassembler.
2001-10-13 01:59:09 +00:00
John Healy
6e9a3f4d03 2001-10-12 John Healy <jhealy@redhat.com>
* cgen-dis.in (print_insn): Use min (cd->base_insn_bitsize, buflen*8)
        for the length when extracting the base part of the insn.
2001-10-12 18:28:57 +00:00
Nick Clifton
f3a55c17eb work around locale problems for case insensitivity 2001-10-10 09:13:05 +00:00
Nick Clifton
a5d2034ac0 fix z8k assembly and disassembly 2001-10-09 17:25:58 +00:00
Nick Clifton
ddb682659b fix encoding & decoding of DSP single data transfer instructions 2001-10-09 12:25:22 +00:00
Nick Clifton
0e2ee3ca05 Fix compile time warnings in cgen-generated files 2001-10-09 08:54:58 +00:00
Aldy Hernandez
b1ee46c5af * opcodess/arm-opc.h (arm_opcodes): Add cirrus insns.
* opcodes/arm-dis.c (print_insn_arm): Add 'I' case.
2001-10-08 18:50:37 +00:00
Alan Modra
fcd8210c95 Regenerate configure to include the gettext.m4 change. Update
opcodes/po/POTFILES.in
2001-10-03 13:46:35 +00:00
Alan Modra
7997656ad8 * Makefile.am (Makefile): Depend on bfd/configure.in
Run "make dep-am"
	* Makefile.in: Regenerate.
2001-10-02 06:03:15 +00:00
John Healy
545ae5014f 2001-09-30 John Healy <jhealy@redhat.com>
* cgen-ibld.in (insert_1): Switched bfd_get_bits and bfd_set_bits
        calls to cgen_get_insn_value and cgen_put_insn_value calls.
        (extract_1): Switched bfd_get_bits call to cgen_get_insn_value call.
2001-09-30 20:06:37 +00:00
Hans-Peter Nilsson
8737c3eaee * Makefile.am: Update dependencies with "make dep-am".
* Makefile.in: Regenerate.
2001-09-30 18:54:18 +00:00
Alan Modra
86caa542b1 * arc-dis.c: Formatting fixes.
(my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
2001-09-26 01:54:07 +00:00
Alan Modra
2ca0d95257 * arc-dis.c: Don't include <ctype.h>.
* openrisc-desc.c: Likewise.
	* openrisc-ibld.c: Likewise.
2001-09-21 12:36:56 +00:00
Nick Clifton
2c8721ecf3 oops - forgot to check for clean 64 bit build - fix compile time warning 2001-09-20 15:33:41 +00:00
Nick Clifton
fc05c67f12 Fix compile time warnings 2001-09-20 15:28:25 +00:00
Nick Clifton
d5b2f4d67c Fix compile time warning messages 2001-09-19 17:40:28 +00:00
H.J. Lu
3882b01078 Locale changes from Bruno Haible <haible@clisp.cons.org>. 2001-09-19 05:33:36 +00:00
Nick Clifton
b6849f55b9 s390 assembler improvements and testsuite 2001-09-18 15:41:33 +00:00
Nick Clifton
2613489e4e Fix VXA mask bits 2001-09-14 10:52:26 +00:00
Alan Modra
8227b51f45 * i386-dis.c (grps): Don't print the implicit al/ax/eax register
for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns.
2001-09-04 01:58:07 +00:00
Eric Christopher
0823fbcae4 2001-08-31 Eric Christopher <echristo@redhat.com>
Jason Eckhardt    <jle@redhat.com>

	* mips-dis.c: Add support for bfd_mach_mipsisa32 and
	bfd_mach_mipsisa64. Remove bfd_mach_mips32, bfd_mach_mips32_4k,
	bfd_mach_mips64.
2001-08-31 21:15:00 +00:00
Andreas Jaeger
5bd67f350d * tic54x-opc.c: Add default initializers to avoid warnings.
* arc-opc.c: Include "sysdep.h" to get stdio.h as include file.
	* arc-ext.c: Likewise.
2001-08-31 20:05:24 +00:00
Andreas Jaeger
b849bb4223 * m68hc11-dis.c: Add missing prototypes.
(forgotten in last checkin)
2001-08-28 16:27:55 +00:00
Matthew Green
0152a4c679 * ppc-opc.c (icbt): Order correctly. 2001-08-28 05:47:29 +00:00
Alan Modra
6ba045b129 * ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
(LS): Define.
	(insert_ds): Complain if not a multiple of 4.
	(XSYNC): Define.
	(XSYNC_MASK): Define.
	(powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
	"slbmfee".  Modify "sync" to use XSYNC_MASK and LS.
2001-08-27 10:27:48 +00:00
Andreas Jaeger
5b3fabc955 * h8500-opc.h: Add default initializers to h8500_table to shut up
GCC warnings.
2001-08-26 14:04:42 +00:00
Andreas Jaeger
d83c654853 For include/opcode:
* d30v.h: Fix declaration of reg_name_cnt.

	* d10v.h: Fix declaration of d10v_reg_name_cnt.

	* arc.h: Add prototypes from opcodes/arc-opc.c.

For opcodes:
	* tic54x-dis.c: Add unused attributes where needed.

	* z8k-dis.c (output_instr): Add unused attribute.

	* h8300-dis.c: Add missing prototypes.
	(bfd_h8_disassemble): Make static.

	* cris-dis.c: Add missing prototype.
	* h8500-dis.c: Likewise.
	* m68hc11-dis.c: Likewise.
	* pj-dis.c: Likewise.
	* tic54x-dis.c: Likewise.
	* v850-dis.c: Likewise.
	* vax-dis.c: Likewise.
	* w65-dis.c: Likewise.
	* z8k-dis.c: Likewise.

	* d10v-dis.c: Add missing prototype.
	(dis_long): Remove unused variable.
	(dis_2_short): Likewise.

	* sh-dis.c: Add missing prototypes.
	* v850-opc.c: Likewise.
	Add unused attributes where needed.

	* ns32k-dis.c: Add missing prototypes.
	(bit_extract_simple): Remove unused variable.
2001-08-26 11:47:39 +00:00
Andreas Jaeger
355d475e91 * opcodes/s390-opc.c: Add "low or high" and "not low or high"
branch instructions for gcc 3.0.
	* opcodes/s390-opc.txt: Likewise.
2001-08-23 06:38:56 +00:00
Andreas Jaeger
279a96ca39 * mips-dis.c: Add missing prototypes.
* a29k-dis.c: Likewise.
	* arc-dis.c: Likewise.
	* ia64-opc.c: Likewise.
2001-08-21 08:51:12 +00:00
Andreas Jaeger
7fa108a4d5 * i960-dis.c: Add parameters for prototypes
(ctrl): Add unused attributes.
	(cobr): Likewise.
	(put_abs): Likewise.

	* mips-dis.c: Add missing prototypes.
	* a29k-dis.c: Likewise.
	* arc-dis.c: Likewise.
	* ia64-opc.c: Likewise.

	* s390-dis.c: Add missing prototypes.
	(init_disasm): Remove unused attribute since the parameter is
	used.
2001-08-21 08:42:28 +00:00
Thiemo Seufer
99c14723f3 Add support for MIPS R1[02]000 performance counter opcodes. 2001-08-16 19:24:33 +00:00
Jonathan Larmour
2cd8959083 * mips-opc.c: R3900s can support all branch likely INSN_MACROs where
the corresponding non-likely insn is in MIPS I.
2001-08-16 19:10:49 +00:00
Kazu Hirata
7f6621cdd7 * mcore-dis.c: Fix formatting.
* mips-dis.c: Likewise.
	* pj-dis.c: Likewise.
	* z8k-dis.c: Likewise.
2001-08-13 08:09:58 +00:00
Richard Henderson
fc7bc88384 * cgen-ibld.in (extract_normal): Match type of VALUE and MASK
to *VALUEP.  Regenerate all cgen files.
2001-08-12 20:16:29 +00:00
Richard Sandiford
d98bb281e8 * mips-dis.c (print_insn_mips): Remove OPCODE_IS_MEMBER's gp32
argument.
	* mips-opc.c (G6): Undefine.
	(mips_builtin_opcodes): Remove gp32 entry for "move".  Add macro
	as the first "move" alternative.
2001-08-10 16:22:08 +00:00
Andreas Jaeger
0218d1e4c2 * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
to build warnings.
	* configure: Regenerate.
2001-08-10 10:56:47 +00:00
Alan Modra
11b37b7b84 Revert 2001-08-08 changes. 2001-08-10 01:34:47 +00:00
Alan Modra
badaf34c72 * dis-buf.c (generic_strcat_address): Add missing prototype.
#if 0 the functions as it is unused.
2001-08-09 14:52:56 +00:00
Alan Modra
0f1bac05bb * ppc.h (struct powerpc_operand): New field `reloc'.
* ppc-opc.c: Include "bfd.h".
	(powerpc_operands): Add new field for reloc type.
2001-08-08 13:19:36 +00:00
Thiemo Seufer
21d34b1c68 * mips-dis.c (print_insn_arg): Don't use software integer registers
for coprocessor registers.
	(_print_insn_mips): Get distinction between old ABI and new ABI right.
2001-08-07 12:36:13 +00:00
Nick Clifton
28bab82b5a Cleanups for z8k target 2001-08-01 15:39:17 +00:00
Kazu Hirata
6608db5792 * i386-dis.c: Fix formatting. 2001-07-29 05:00:14 +00:00
Alan Modra
d708bcbabb * i386-dis.c: Change formatting conventions for architecture
i386:intel to better match the format of various intel i386
	assemblers, like nasm, tasm or masm.
2001-07-28 07:13:34 +00:00
Kazu Hirata
2dcee5388a * d10v-dis.c: Fix formatting.
* d30v-dis.c: Likewise.
2001-07-25 01:42:14 +00:00
Alan Modra
8a5cc6beb1 Update dependencies with "make dep-am". 2001-07-24 10:02:00 +00:00
Kazu Hirata
33822a8e75 * alpha-dis.c: Fix formatting.
* cris-dis.c: Likewise.
	* m10300-dis.c: Likewise.
	* tic54x-dis.c: Likewise.
2001-07-24 04:10:19 +00:00
Kazu Hirata
ec22bddae2 * m68k-dis.c: Fix formatting.
* pj-dis.c: Likewise.
	* z8k-dis.c: Likewise.
2001-07-24 00:48:04 +00:00
Kazu Hirata
44f2a95d95 * s390-dis.c: Fix formatting. 2001-07-23 13:41:14 +00:00
Chris Demetriou
209fd66729 2001-07-21 Chris Demetriou <cgd@broadcom.com>
* mips-opc.c (mips_builtin_opcodes): Sort c.le.s and c.lt.s
      into the rest of the surrounding definitions.
2001-07-21 20:46:51 +00:00
Alan Modra
bcb5558b05 * i386-dis.c (grps): Print l or w suffix, and require mem modrm
for lgdt, lidt, sgdt, sidt.
2001-07-18 13:33:12 +00:00
Phil Blundell
4053649742 2001-07-13 Philip Blundell <philb@gnu.org>
* arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
2001-07-16 19:04:31 +00:00
Jeff Johnston
23969580f6 2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
* cgen-asm.in: Include "xregex.h" always to enable the libiberty
        regex support.
        (@arch@_cgen_build_insn_regex): New routine from Graydon.
        (@arch@_cgen_assemble_insn): Add Graydon's code to use regex
        to verify if it is worth parsing the insn as insn "x".  Also update
        error message when insn is not a recognized format of the insn vs
        when the insn is completely unrecognized.
2001-07-12 21:26:42 +00:00
Frank Ch. Eigler
81f6038f98 * 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.
2001-07-12 02:32:25 +00:00
Andreas Jaeger
7081ff0445 2001-07-09 Andreas Jaeger <aj@suse.de>, Karsten Keil <kkeil@suse.de>
* i386-dis.c (set_op): Handle 64 bit and 32 bit mode.
	(OP_J): Use bfd_vma for mask to work properly with 64 bits.
	(op_address,op_riprel): Use bfd_vma to handle 64 bits.
2001-07-09 14:22:11 +00:00
Ben Elliston
4a3264e6a1 2001-07-05 Ben Elliston <bje@redhat.com>
* Makefile.am (CPUDIR): Define.
	(stamp-m32r): Update dependencies.
	(stamp-fr30): Ditto.
	(stamp-openrisc): Ditto.
	* Makefile.in: Regenerate.
2001-07-05 13:12:23 +00:00
Nick Clifton
2dd46b8b52 Fix encoding of clf instruction 2001-07-03 18:37:39 +00:00
Geoffrey Keating
17f0ac8499 * cgen-ibld.in (insert_normal): Support CGEN_IFLD_SIGN_OPT. 2001-07-01 02:48:46 +00:00
Geoffrey Keating
5e91c3b431 * cgen-asm.c (cgen_parse_keyword): Allow any first character.
* cgen-opc.c (cgen_keyword_add): Ignore special first
	character when building nonalpha_chars field.
2001-06-29 00:09:16 +00:00
Ben Elliston
62d964d839 2001-06-24 Ben Elliston <bje@redhat.com>
* m88k-dis.c: Format to conform to GNU coding standards.
2001-06-24 01:04:16 +00:00
Andreas Jaeger
7f32bebcaa * disassemble.c (disassembler_usage): Add unused attribute. 2001-06-23 16:07:06 +00:00
Eric Christopher
564e8ad940 2001-06-22 Eric Christopher <echristo@redhat.com>
* mips-opc.c: Move prefx to start of the table.
2001-06-22 21:10:01 +00:00
Nick Clifton
fe1f01309f Fix over-optimisation of ST instruction. 2001-06-22 08:55:05 +00:00
Nick Clifton
80febfb656 Add wdebug instruction 2001-06-22 08:21:14 +00:00
Aldy Hernandez
cb87eaaf22 2001-06-15 Aldy Hernandez <aldyh@redhat.com>
* m10300-opc.c (mn10300_opcodes): Change opcode for AM33 subc.
2001-06-16 16:00:46 +00:00
Geoffrey Keating
3e89004774 Index: opcodes/ChangeLog
2001-06-13  Geoffrey Keating  <geoffk@redhat.com>

	* cgen-asm.c (cgen_parse_keyword): When looking for the
	boundaries of a keyword, allow any special characters
	that are actually in one of the allowed keyword.
	* cgen-opc.c (cgen_keyword_add): Add any special characters
	to the nonalpha_chars field.

Index: cgen/ChangeLog
2001-06-13  Geoffrey Keating  <geoffk@redhat.com>

	* desc.scm (<keyword> 'gen-defn): Add extra zero into
	CGEN_KEYWORD_ENTRY initializers.

Index: include/opcode/ChangeLog
2001-06-13  Geoffrey Keating  <geoffk@redhat.com>

	* cgen.h (cgen_keyword): Add nonalpha_chars field.
2001-06-14 20:38:42 +00:00
Nick Clifton
6fc1282450 Add lgh instruction. 2001-06-12 11:50:53 +00:00
Alan Modra
6439fc285d Merge insn decode tables, and generally tidy. 2001-06-11 13:25:07 +00:00
Alan Modra
5dd0794dca Branch hints for Pentium4 as insn modifiers, and some minor tweaks
to formatting.
2001-06-10 14:07:12 +00:00
Alexandre Oliva
bda22bbf15 * sh-opc.h (sh_table): Don't use empty initializers. 2001-06-09 22:42:30 +00:00
Nick Clifton
879db8be1a Remove warnings building z8k port.
Fix ld -r behaviour
2001-06-06 17:01:35 +00:00
Nick Clifton
98b3248268 correct some 68k/ColdFire problems 2001-06-06 14:28:00 +00:00
Alan Modra
3ffd33cf59 * i386-dis.c (cond_jump_flag, loop_jcxz_flag): Define.
(cond_jump_mode, loop_jcxz_mode): Define.
	(dis386_att): Add cond_jump_flag and loop_jcxz_flag as
	appropriate, and 'F' suffix to loop insns.
	(disx86_64_att): Likewise.
	(dis386_twobyte_att): Likewise.
	(print_insn_i386): Don't output addr prefix for loop, jcxz insns.
	Output data size prefix for long conditional jumps.  Output cs and
	ds branch hints.
	(putop): Handle 'F', and mark PREFIX_ADDR used for case 'E'.
	(OP_J): Don't make PREFIX_DATA used.
2001-06-06 10:24:18 +00:00
Alexandre Oliva
9ab433aae8 * sh-opc.h (sh_table): Complete last element entry to avoid
compiler warning.
2001-06-04 04:10:38 +00:00
Nick Clifton
d1cf510e5e Add MIPS r12k support 2001-05-23 17:26:40 +00:00
Alan Modra
2c32d9a41f More whitespace fixes. 2001-05-23 03:25:03 +00:00
Alan Modra
cba24d7dbd * arc-opc.c: Whitespace changes. 2001-05-23 03:12:14 +00:00
Alexandre Oliva
6be7c12c05 * ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh,
ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.254.  Rebuilt a number
of subdir/configure scripts to use the new libtool.m4.
2001-05-20 19:02:56 +00:00
Hans-Peter Nilsson
22f3fc4323 * cris-opc.c (cris_spec_regs): Add missing initializer field for
last element.
2001-05-18 15:21:59 +00:00
Frank Ch. Eigler
84fd0d38ae * cgen disasm bug fix
2001-05-15  Frank Ch. Eigler  <fche@redhat.com>

	* cgen-dis.in (extract_normal): Complete support for min<base case.
2001-05-15 18:10:05 +00:00
Nick Clifton
aa5f19f2b9 Fix MIPS disassembler so that it produces reassemblable code. 2001-05-15 12:11:13 +00:00
J.T. Conklin
24a7a601e2 * ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of
simplified mnemonics used for setting PPC750-specific special
purpose registers.
2001-05-14 17:20:13 +00:00
H.J. Lu
8d5ec59972 2001-05-12 H.J. Lu <hjl@gnu.org>
* i386-dis.c (print_insn_i386): Always set `mod', `reg' and
	`rm'.
2001-05-12 15:19:22 +00:00
Alan Modra
bcee8eb8ca Peter Targett's backwards compatibility and other arc fixes. 2001-05-12 15:14:53 +00:00
Alan Modra
4bba68155d * i386-dis.c (twobyte_has_modrm): Update table.
(need_modrm): Give it file scope.
	(MODRM_CHECK): Define.
	(dofloat): Use MODRM_CHECK.
	(OP_E): Likewise.
	(OP_EM): Likewise.
	(OP_EX): Likewise.
and fix testsuite yet again now that we are getting correct disassembly.
2001-05-12 12:07:10 +00:00
Alan Modra
67d6227df7 Correct cvtps2dq, movdq2q, movq2dq, and movq problems. 2001-05-12 09:52:40 +00:00
Frank Ch. Eigler
a00ad97d61 * cgen asm/disasm
[opcodes/ChangeLog]
2001-05-07  Frank Ch. Eigler  <fche@redhat.com>

        * cgen-dis.in (default_print_insn): Tolerate min<base instructions
        even at end of a section.
        * cgen-ibld.in (extract_normal): Tolerate min!=base!=max instructions
        by ignoring precariously-unpacked insn_value in favor of raw buffer.

[cgen/ChangeLog]
2001-05-07  Frank Ch. Eigler  <fche@redhat.com>

        * iformat.scm (compute-insn-base-mask-length): Rewrite to tolerate
        various-base-length instruction sets.
2001-05-07 17:55:21 +00:00
Alan Modra
a28d0f3d9b * disassemble.c (disassembler_usage): Remove unused attribute. 2001-05-07 09:21:56 +00:00
Frank Ch. Eigler
714b578b87 * typo fix 2001-05-04 17:46:00 +00:00
Frank Ch. Eigler
5264623336 * m32r disasm bug fix
2001-05-04  Frank Ch. Eigler  <fche@redhat.com>

	* m32r-dis.c, -asm.c, -ibld.c: Regenerated with disassembler fixes.

2001-05-04  Frank Ch. Eigler  <fche@redhat.com>

	* cgen-dis.in (print_insn): Remove call to read_insn.  Instead,
	assume incoming buffer already has the base insn loaded.  Handle
	case of smaller-than-base instructions for variable-length case.
2001-05-04 17:45:19 +00:00
Alan Modra
992aaec9a9 Assorted fixes to pinsrw, pextrw, pmovmskb, movmskp, maskmovq. 2001-05-04 11:10:55 +00:00
Nick Clifton
87e6d78217 Add openRISC support in opcodes 2001-04-27 13:34:20 +00:00
Nick Clifton
6840198f93 z8k fixes 2001-04-24 15:22:25 +00:00
Andreas Jaeger
c241941156 * i386-dis.c: Add ffreep instruction. 2001-04-06 09:27:33 +00:00
Alexandre Oliva
3eb9799d10 * ppc-opc.c (insert_mbe): Shift mask initializer as long. 2001-03-30 07:36:27 +00:00
Ben Elliston
0e70c820dd * Comment tweak. 2001-03-27 21:37:47 +00:00
Alan Modra
0f17484fd3 Small tweaks to sse2 instructions. 2001-03-24 06:29:16 +00:00
Nick Clifton
e93d71992f Remove extraneous whitespace 2001-03-24 00:40:22 +00:00
Ben Elliston
fca2040b45 2001-03-22 Ben Elliston <bje@redhat.com>
* cgen-asm.in (@arch@_cgen_assemble_insn): Move tmp_errmsg
	declaration inside CGEN_VERBOSE_ASSEMBLER_ERRORS conditional.
	* cgen-ibld.in (put_insn_int_value): Mark cd parameter as unused
	to allay a compiler warning.
2001-03-22 04:05:03 +00:00
Alan Modra
87890af05c paddq and psubq support. 2001-03-22 02:27:54 +00:00
Patrick Macdonald
27fca2d871 Add support for cgen machine determination.
* cgen-dis.in (print_insn_@arch@): Add support for target machine
        determination via CGEN_COMPUTE_MACH.
        * fr30-desc.c: Regenerate.
        * fr30-dis.c: Regenerate.
        * fr30-opc.h: Regenerate.
        * m32r-desc.c: Regenerate.
        * m32r-dis.c: Regenerate.
        * m32r-opc.h: Regenerate.
        * m32r-opinst.c: Regenerate.
2001-03-20 20:56:34 +00:00
H.J. Lu
f4fbb4a3d1 2001-03-20 H.J. Lu <hjl@gnu.org>
* configure.in: Remove the redundent AC_ARG_PROGRAM.
	* configure: Rebuild.
2001-03-20 18:24:30 +00:00
Jim Wilson
f4bc6bb0c2 Fix 2 bugs with parsing the resource dependency tables.
* ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
	notestr if larger than xsect.
	(in_class): Handle format M5.
	* ia64-asmtab.c: Regnerate.
2001-03-20 02:32:27 +00:00
Alan Modra
bbe6d95f46 Don't try to read past end of info buffer, and correct test results. 2001-03-19 12:20:10 +00:00
Nick Clifton
82b66b2339 Add new opcodes 2001-03-16 18:42:26 +00:00
Nick Clifton
060d22b0d0 Fix typos in ChangeLogs; fix dates in copyright notices 2001-03-13 22:58:38 +00:00
Nick Clifton
5794c9d6cd fix typos 2001-03-13 06:14:01 +00:00
Nick Clifton
4f3c3dbb37 Fix BLX(1) for Thumb 2001-03-06 22:33:47 +00:00
Nick Clifton
9d29e1b3e2 est of the changes for Coldfire V4 2001-03-06 20:13:31 +00:00
Dave Brolley
2edda1bf34 Correct filenames from last commit. 2001-03-05 16:01:29 +00:00
Dave Brolley
b3466c39bc 2001-03-05 Dave Brolley <brolley@redhat.co
* opcodes/fr30-asm.c: Regenerate.
        * opcodes/fr30-desc.c: Regenerate.
        * opcodes/fr30-desc.h: Regenerate.
        * opcodes/fr30-dis.c: Regenerate.
        * opcodes/fr30-ibld.c: Regenerate.
        * opcodes/fr30-opc.c: Regenerate.
        * opcodes/fr30-opc.h: Regenerate.
        * opcodes/m32r-asm.c: Regenerate.
        * opcodes/m32r-desc.c: Regenerate.
        * opcodes/m32r-desc.h: Regenerate.
        * opcodes/m32r-dis.c: Regenerate.
        * opcodes/m32r-ibld.c: Regenerate.
        * opcodes/m32r-opc.c: Regenerate.
        * opcodes/m32r-opc.h: Regenerate.
        * opcodes/m32r-opinst.c: Regenerate.
2001-03-05 15:55:01 +00:00
Nick Clifton
80a523c2e1 new defines for Coldfire V4. 2001-02-28 23:47:10 +00:00
Alan Modra
27b7e12d2d Bump version to 2.11.90, fix missing dependencies in bfd/,
and run "make dep-am".
2001-02-27 06:43:56 +00:00
H.J. Lu
b8e0eda247 2001-02-23 David Mosberger <davidm@hpl.hp.com>
* ia64-opc-a.c: Add missing pseudo-ops for "cmp" and "cmp4".
	* ia64-asmtab.c: Regenerate.
2001-02-23 21:57:48 +00:00
Jim Wilson
87f8eb977e Improve gas error messages for invalid instructions.
* cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for
	C8 said "1" instead of "8".  Clarify error string for IMM22:
	"signed integer" instead of just "integer".
	* config/tc-ia64.c (enum operand_match_result): New type.
	(operand_match): Change return type to operand_match_result.
	Fix all returns appropriately, adding support for returning the
	out-of-range result.
	(parse_operands): New locals result, error_pos, out_of_range_pos,
	curr_out_of_range_pos.  Rewrite operand matching loop to give better
	error messages.
	* ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
	separate variants: one for IMM22 and the other for IMM14.
	* ia64-asmtab.c: Regenerate.
2001-02-22 03:16:21 +00:00
Greg McGary
dd425adaa8 * cgen-opc.c (cgen_get_insn_value): Add missing `return'. 2001-02-21 21:54:31 +00:00
H.J. Lu
b34fb0b488 2001-02-20 H.J. Lu <hjl@gnu.org>
* Makefile.am (ia64-ic.tbl): Remove the target.
	(ia64-raw.tbl): Likewise.
	(ia64-waw.tbl): Likewise.
	(ia64-war.tbl): Likewise.
	(ia64-asmtab.c): Generate it in the source directory.
	* Makefile.in: Regenerated.
2001-02-21 00:07:39 +00:00
Nick Clifton
e135f41bc2 Add PDP-11 support 2001-02-18 23:33:11 +00:00
Jim Wilson
42dc96cab8 Fix DV bug reported by Intel against the setf instruction.
* ia64-ic.tbl: Update from Intel.  Add setf to fr-writers.
	* ia64-asmtab.c: Regenerate.
2001-02-14 20:30:26 +00:00
Jan Hubicka
76f227a511 * i386.h (i386_optab): SSE integer converison instructions have
64bit versions on x86-64.
	* i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison
	instructions.
	(putop): Handle 'Y'
2001-02-12 16:42:49 +00:00
Nick Clifton
9117d2197e Apply several patches from Maciej W. Rozycki 2001-02-11 23:11:41 +00:00
Michael Sokolov
847ee773ea * Makefile.am (stamp-lib): ranlib the libopcodes.a in the build
directory.
	* Makefile.in: Regenerate.
2001-02-11 22:56:42 +00:00
Nick Clifton
a85d7ed0f0 Add s390 support 2001-02-10 00:58:38 +00:00
Jim Wilson
e594303548 Revert accidental breakage from Nick's 2000-12-16 checkin.
* ia64-asmtab.c: Revert 2000-12-16 change.
2001-02-06 02:42:20 +00:00
Patrick Macdonald
0715dc88cf Binutils portion of fix for syntax array elements when max
operands is greater than 127.

	2001-02-02  Patrick Macdonald  <patrickm@redhat.com>

	* cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short.
	(CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES.
	(CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS.

	* fr30-desc.h: Regenerate with CGEN_MAX_SYNTAX_ELEMENTS.
	* m32r-desc.h: Regenerate.
2001-02-02 23:04:40 +00:00
Jan Hubicka
905308801e * (dis386_att, grps): Use 'T' for push/pop
(putop): Handle 'T', alphabetize order, fix 'I' handling in Intel syntax
2001-02-01 15:30:55 +00:00
Alan Modra
1328dc9844 Adds assembly and dis-assembly support for the HPPA wide
mode, 16 bit forms of ldi, ldo, ldw and stw instructions.
2001-01-14 05:14:45 +00:00
Nick Clifton
b7ed8fad53 formatting fix 2001-01-13 19:45:52 +00:00
Jan Hubicka
e2914f484e * i386.c (md_assemble): Check cpu_flags even for nullary instructions.
* i386.h (i386_optab): Fix pusha and ret templates.

	* i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret
	templates.
2001-01-13 09:05:55 +00:00
Nick Clifton
0d2bcfafbf Updated ARC assembler from arccores.com 2001-01-11 21:20:20 +00:00
Nick Clifton
2f6d2f8520 Rotate ChangeLogs 2001-01-11 19:01:42 +00:00
Jan Hubicka
041bd2e00c * i386-dis.c (PREGRP15 - PREGRP24): New.
(dis386_twobyt): Add SSE2 instructions.
	(twobyte_uses_SSE_prefix: Rename from ... ; add new SSE instructions.
	(twobyte_uses_f3_prefix): ... this one.
	(grps): Add SSE instructions.
	(prefix_user_table): Add two new slots; add SSE2 instructions.
	(print_insn_i386): Rename uses_f3_prefix to uses_SSE_prefix;
	Handle the REPNZ and Data16 prefixes as well; do proper lookup
	to prefix_user_table.
	(OP_E): Accept mfence and lfence as well.
	(OP_MMX): Data16 prefix turns MMX to SSE; support REX extensions.
	(OP_XMM): Support REX extensions.
	(OP_EM): Likewise.
	(OP_EX): Likewise.
2001-01-10 14:14:25 +00:00
Nick Clifton
6a56ec7ea3 Fix disassembly of arm-elf instructions with relocs associated with them. 2001-01-09 20:29:48 +00:00
Jeff Johnston
4a9f416d92 2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
* cgen-asm.in (parse_insn_normal): Changed syn to be
        CGEN_SYNTAX_CHAR_TYPE.  Changed all references to *syn
        as character to use CGEN_SYNTAX_CHAR macro and all comparisons
        to '\0' to use 0 instead.
        * cgen-dis.in (print_insn_normal): Ditto.
        * cgen-ibld.in (insert_insn_normal, extract_insn_normal): Ditto.
2001-01-09 17:00:21 +00:00
Jan Hubicka
52b15da39a * i386-dis.c: Add x86_64 support.
(rex): New static variable.
	(REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): New constants.
	(USED_REX): New macro.
	(Ev, Ed, Rm, Iq, Iv64, Cm, Dm, Rm*, Ob64, Ov64): New macros.
	(OP_I64, OP_OFF64, OP_IMREG): New functions.
	(OP_REG, OP_OFF): Declare.
	(get64, get32, get32s): New functions.
	(r??_reg): New constants.
	(dis386_att): Change templates of instruction implicitly promoted
	to 64bit; change e?? to RMe?? for unwind RM byte instructions.
	(grps): Likewise.
	(dis386_intel): Likewise.
	(dixx86_64_att): New table based on dis386_att.
	(dixx86_64_intel): New table based on dis386_intel.
	(names64, names8rex): New global variable.
	(names32, names16): Add extended registers.
	(prefix_user_t): Recognize rex prefixes.
	(prefix_name): Print REX prefixes nicely.
	(op_riprel): New global variable.
	(start_pc): Set type to bfd_vma.
	(print_insn_i386): Detect the 64bit mode and use proper table;
	move ckprefix after initializing the buffer; output unused rex prefixes;
	output information about target of RIP relative addresses.
	(putop): Support 'O' and 'I'. Update handling of "P', 'Q', 'R' and 'S';
	(print_operand_value): New function.
	(OP_E, OP_G, OP_REG, OP_I, OP_J, OP_DIR, OP_OFF, OP_D): Add support for
	REX prefix and new modes.
	(get64, get32s): New.
	(get32): Return bfd_signed_vma type.
	(set_op): Initialize the op_riprel.
	* disassemble.c (disassembler): Recognize the x86-64 disassembly.
2001-01-05 11:11:54 +00:00
Frank Ch. Eigler
7e30bc3635 * generalization
2001-01-03  Richard Sandiford  <r.sandiford@redhat.com>

	 cgen-dis.in (read_insn): Use bfd_get_bits()
2001-01-03 15:10:26 +00:00
Frank Ch. Eigler
aed80daedf * generalization
2001-01-02  Richard Sandiford  <rsandifo@redhat.com>

	* cgen-dis.c (hash_insn_array): Use bfd_put_bits().
	(hash_insn_list): Likewise
	* cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits().
	(extract_1): Use bfd_get_bits().
	(extract_normal): Apply sign extension to both extraction
	methods.
	* cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits()
	(cgen_put_insn_value): Use bfd_put_bits()
2001-01-02 16:34:07 +00:00
Frank Ch. Eigler
149fe25ee9 * error msg tweak
2000-12-28  Frank Ch. Eigler  <fche@redhat.com>

	* cgen-asm.in (parse_insn_normal): Print better error message for
	instructions with missing operands.
2000-12-28 19:53:54 +00:00
Nick Clifton
a6cff3e317 Fix for compiling under Solaris 2.8 2000-12-21 18:43:33 +00:00
Nick Clifton
099194551f Regenerate files 2000-12-16 22:01:44 +00:00
Frank Ch. Eigler
606d55bcee * error message improvements for cgen assemblers
2000-12-12  Frank Ch. Eigler  <fche@redhat.com>

        * cgen-asm.in (@arch@_cgen_assemble_insn): Prefer printing insert-time
        error messages over later parse-time ones.
2000-12-13 18:55:02 +00:00
Jim Wilson
514829c3af Eliminate ia64 compiler warnings. Fix ia64 gas testsuite again.
*  elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *.
	* config/tc-ia64.h (ia64_init): Add prototype.
	* gas/ia64/dv-imply.d, gas/ia64/dv-mutex.d, gas/ia64/dv-safe.d,
	gas/ia64/dv-srlz.d, gas/ia64/opc-m.d: Update.
	* ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
	argument.
	* ia64_gen.c (insert_deplist): Cast sizeof result to int.
	(print_dependency_table): Print NULL if semantics field not set.
	(insert_opcode_dependencies): Mark cmp parameter as unused.
	(print_main_table): Use fprintf_vma to print long long fields.
	(main): Mark argv paramter as unused.  Convert to old style definition.
	* ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
	* ia64-asmtab.c: Regnerate.
2000-12-12 22:56:36 +00:00
Nick Clifton
239f0c5ce5 Update copyright dates 2000-12-12 19:19:57 +00:00
Nick Clifton
54faae252f Prevent re-read of instruction from wrong address. 2000-12-09 23:20:59 +00:00
Nick Clifton
708b8a713d Regenerate fr30-dis.c 2000-12-09 22:22:33 +00:00
Nick Clifton
0808b8a9ca Add MIPS64 instructions and tests 2000-12-03 22:10:02 +00:00
Nick Clifton
15305553c3 Remove all uses of M1. 2000-12-03 21:58:27 +00:00
Nick Clifton
08fe7a7e60 Use the WR_HILO, RD_HILO, MOD_HILO, and MOD_LO macros. 2000-12-03 21:49:06 +00:00
Nick Clifton
e70f259005 Finish off adding MIPS32 instructions. 2000-12-03 21:34:08 +00:00