Commit graph

257 commits

Author SHA1 Message Date
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
Nick Clifton
c6c98b3833 Add MIPS SB1 machine 2000-12-02 01:10:33 +00:00
Nick Clifton
84ea6cf2c5 Add MIPS V and MIPS 64 machine numbers 2000-12-02 00:55:22 +00:00
Nick Clifton
e7af610e14 Add MIPS32 as a seperate MIPS architecture 2000-12-01 21:35:38 +00:00
Nick Clifton
b23da31b1c Add initialiser for membership field 2000-12-01 20:06:36 +00:00
Nick Clifton
4372b67322 Improve MIPS32 support 2000-12-01 20:05:32 +00:00
Hans-Peter Nilsson
caaaf822e9 * sh-dis.c (print_insn_ddt): Make insn_x, insn_y unsigned.
(print_insn_ppi): Make nib1, nib2, nib3 unsigned.
	Initialize variable dc to NULL.
	(print_insn_shx): Remove unused label d_reg_n.
2000-11-28 23:42:53 +00:00
Nick Clifton
077b8428ab Add ARM v5t, v5te and XScale support 2000-11-25 00:21:40 +00:00
Chris Demetriou
657e7cec5a * mips-opc.c: Fix file header comment. 2000-11-22 18:01:56 +00:00
Hans-Peter Nilsson
b6b0b32c89 * cris-dis.c (cris_get_disassembler): If abfd is NULL, return
print_insn_cris_with_register_prefix.
2000-11-14 20:08:55 +00:00
Alexandre Oliva
54a4ca2e1d * sh-opc.h: The operand of `mov.w r0, (<disp>,GBR)' is IMM1, not 0. 2000-11-11 05:42:01 +00:00
Dave Brolley
025d2eabfc Last change was actually made by Matthew Green. 2000-11-07 17:25:30 +00:00
Dave Brolley
1ffd7d025c 2000-11-07 Dave Brolley <brolley@redhat.com>
* cgen-dis.in (print_insn): All insns which can fit into insn_value
	must be loaded there in their entirety.
2000-11-07 17:20:25 +00:00
Jakub Jelinek
19f7b01094 gas/
* config/tc-sparc.c (sparc_ip): Fix a bug which caused v9_arg_p
	instructions to loose any special insn->architecture mask.

	* config/tc-sparc.c (v9a_asr_table): Add v9b ASRs.
	(sparc_md_end, sparc_arch_types, sparc_arch,
	sparc_elf_final_processing): Handle v8plusb and v9b architectures.
	(sparc_ip): Handle siam mode operands. Support v9b ASRs (and
	request v9b architecture if they are used).

bfd/
	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data,
	elf32_sparc_object_p, elf32_sparc_final_write_processing):
	Support v8plusb.
	* elf64-sparc.c (sparc64_elf_merge_private_bfd_data,
	sparc64_elf_object_p): Support v9b.
	* archures.c: Declare v8plusb and v9b machines.
	* bfd-in2.h: Ditto.
	* cpu-sparc.c: Ditto.

include/opcode/
	* sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
	Note that '3' is used for siam operand.

opcodes/
	* sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
	(compute_arch_mask): Add v8plusb and v9b machines.
	(print_insn_sparc): siam mode decoding, accept ASRs up to 25.
	* opcodes/sparc-opc.c: Support for Cheetah instruction set.
	(prefetch_table): Add #invalidate.
2000-10-20 10:38:47 +00:00
Nick Clifton
710c2d976f Change mask for OC to 0xFE00 2000-10-16 18:18:47 +00:00
Dave Brolley
f40c3ea3c7 2000-10-06 Dave Brolley <brolley@redhat.com>
* fr30-desc.h: Regenerate.
	* m32r-desc.h: Regenerate.
	* m32r-ibld.c: Regenerate.
2000-10-06 16:57:26 +00:00
Jim Wilson
afa680f89a Minor DV table update, minor DV checking bug fix.
* config/tc-ia64.c (resources_match): Handle IA64_RS_PRr.
	* ia64-ic.tbl: Update from Intel.
	* ia64-asmtab.c: Regenerate.
2000-10-05 21:55:25 +00:00
Kazu Hirata
d1e28e240d 2000-10-04 Kazu Hirata <kazu@hxi.com>
* ia64-gen.c: Convert C++-style comments to C-style comments.
	* tic54x-dis.c: Likewise.
2000-10-04 06:38:01 +00:00
Alexandre Oliva
d64552c589 * ltconfig, ltmain.sh, libtool.m4: Updated from libtool
multi-language branch, to work around Solaris' /bin/sh bug.  Rebuilt
all affected `configure' scripts.
2000-09-30 06:07:00 +00:00
Hans-Peter Nilsson
b4db717d67 Correct date of checkin 2000-09-29 18:23:26 +00:00
Hans-Peter Nilsson
78966507d6 Changes to add dollar prefix to registers for files where user symbols
don't have a leading underscore.  Fix formatting.
	* cris-dis.c (REGISTER_PREFIX_CHAR): New.
	(format_reg): Add parameter with_reg_prefix.  All callers changed.
	(print_with_operands): Ditto.
	(print_insn_cris_generic): Renamed from print_insn_cris, add
	parameter with_reg_prefix.
	(print_insn_cris_with_register_prefix,
	print_insn_cris_without_register_prefix, cris_get_disassembler):
	New.
	* disassemble.c (disassembler) [ARCH_cris]: Call cris_get_disassembler.
2000-09-29 18:17:25 +00:00
Jim Wilson
d48ad4f3b6 Add missing fpcmp instructions, and add missing fcmp/fpcmp tests.
* gas/ia64/opc-f.pl: Add missing fcmp and fpcmp tests.
	* gas/ia64/opc-f.s, gas/ia64/opc-f.d: Regenerate.
	* ia64-opc-f.c (ia64_opcodes_f): Add fpcmp pseudo-ops for
	gt, ge, ngt, and nge.
	* ia64-asmtab.c: Regenerate.
2000-09-22 22:34:41 +00:00
Jim Wilson
139368c9f3 Fix ia64 gas testsuite. Update ia64 DV tables. Fix ia64 gas testsuite again.
gas/ChangeLog
	* config/tc-ia64.c (dv_sem): Add "stop".
	(specify_resource, case IA64_RS_PR): Only handles regs 1 to 15 now.
	(specify_resource, case IA64_RS_PRr): New for regs 16 to 62.
	(specify_resource, case IA64_RS_PR63): Reorder (note == 7) test to
	match above.
	(mark_resources): Check IA64_RS_PRr.
gas/testsuite/ChangeLog
	* gas/ia64/dv-raw-err.s: Add new testcases for PR%, 16 - 62.
	* gas/ia64/dv-waw-err.s: Likewise.
	* gas/ia64/dv-imply.d: Regenerate.
	* gas/ia64/dv-mutex.d, gas/ia64/dv-raw-err.l, gas/ia64/dv-safe.d,
	gas/ia64/dv-srlz.d, gas/ia64/dv-war-err.l, gas/ia64/dv-waw-err.l,
	gas/ia64/opc-f.d, gas/ia64/opc-i.d, gas/ia64/opc-m.d: Likewise.
include/opcode/ChangeLog
	* ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
opcodes/ChangeLog
	* ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
	* ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
	(lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
	* ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
	* ia64-asmtab.c: Regnerate.
2000-09-22 19:43:50 +00:00
Nick Clifton
156c2f8bf7 Add support for the MIPS32 2000-09-14 01:47:38 +00:00
Catherine Moore
de827f513e 2000-09-11 Catherine Moore <clm@redhat.com>
* d30v-opc.c (d30v_operand_t): New operand type Rb2.
      (d30v_format_tab): Use Rb2 for modinc and moddec.
2000-09-11 17:54:33 +00:00