Commit Graph

222 Commits

Author SHA1 Message Date
Ian Lance Taylor
3d915dd29d * m68k-dis.c: (fpcr_names): Add % before all register names.
(reg_names): Likewise.
	(print_insn_arg): Don't explicitly print % before register names.
	Add % before register names in static array names.  In case 'r',
	print data registers as `@(Dn)', not `Dn@'.  When printing a
	memory address, don't print @# before it.
	(print_indexed): Change base_disp and outer_disp from int to
	bfd_vma.  Print using MIT syntax, not mutant invalid Motorola
	syntax.  Sign extend 8 byte displacement correctly.
	(print_base): Print using MIT syntax.  Print zpc when appropriate.
	Change parameter disp from int to bfd_vma.
1995-08-07 20:22:13 +00:00
Jeff Law
1ca31557f5 * sh-dis.c (print_insn_shx): Handle new operand types F_REG_N,
F_REG_M, FPSCR_M, FPSCR_N, FPUL_M and FPUL_N.
        * sh-opc.h (sh_arg_type): Add new operand types.
        (sh_table): Add new opcodes from SH3E Floating Point ISA.

sh3e stuff.  Sanitized out for now.
1995-08-07 08:39:42 +00:00
Ian Lance Taylor
85093dcae3 * m68k-opc.c: New file, holding tables from include/opcode/m68k.h.
Clean up tables.
	* m68k-dis.c: Remove BREAK_UP_BIG_DECL stuff.
	(opcode): Remove.
	(print_insn_m68k): Change d to be const.  Use m68k_numopcodes
	rather than numopcodes.  Use m68k_opcodes rather than removed
	opcode function.  Don't check F_ALIAS.
	(print_insn_arg): Change first parameter to be const char *.
	* Makefile.in (ALL_MACHINES): Add m68k-opc.o.
	(m68k-opc.o): New target.
	* configure.in: Build m68k-opc.o for bfd_m68k_arch.
	* configure: Rebuild.
1995-08-02 22:38:58 +00:00
David Edelsohn
9a84bc052a Rewritten so table is only sorted/hashed once, even if switching
between sparc32/sparc64 in one executable.
1995-08-02 22:35:22 +00:00
David Edelsohn
28661653c7 (build_hash_table): Fix memory leak.
(print_insn_sparc, print_insn_sparc64): Clean up comments regarding
switching between sparc32 and sparc64.
1995-08-02 17:15:07 +00:00
David Edelsohn
1a67b3b682 (build_hash_table): Allocate all entries at once. 1995-08-02 16:48:02 +00:00
David Edelsohn
f069afb4eb * sparc-dis.c (HASH_SIZE, HASH_INSN): Define.
(opcode_bits, opcode_hash_table, sparc64_p): New variables.
	(opcodes_initialized): Renamed from opcodes_sorted.
	(build_hash_table): New function.
	(is_delayed_branch): Use hash table.
	(print_insn): Renamed from print_insn_sparc, made static.
	Build and use hash table.
	(print_insn_sparc, print_insn_sparc64): New functions.
	(compare_opcodes): If !sparc64, move sparc64 opcodes to end,
	and vice-versa if sparc64.
	* sparc-opc.c (all non-v9 insns): Use flag F_NOTV9 instead of F_ALIAS.
1995-08-02 16:06:17 +00:00
Ken Raeburn
50982f7f9d Initial autoconfiscation; attempting also to remove use of bfd's sysdep.h file. 1995-07-12 05:07:49 +00:00
Ian Lance Taylor
89abbf9d2c Tue Jul 11 14:23:37 1995 Jeff Spiegel <jeffs@lsil.com>
* mips-opc.c (L1): Define.
	(mips_opcodes): Add R4010 instructions: flushi, flushd, flushid,
	addciu, madd, maddu, ffc, ffs, msub, msubu, selsi, selsr, waiti,
	and wb.

Tue Jul 11 11:49:49 1995  Ian Lance Taylor  <ian@cygnus.com>

	* mips-opc.c (mips_opcodes): For the move pseudo-op, prefer daddu
	if ISA 3 and addu otherwise, replacing or, since some MIPS chips
	have multiple add units but only a single logical unit.
1995-07-11 18:25:27 +00:00
Ian Lance Taylor
141b9f1bbe * ppc-opc.c (powerpc_operands): Change CR to use a bitsize of 3,
shifted by 18, without any insertion or extraction function.
	(insert_cr, extract_cr): Remove.
1995-07-11 15:52:03 +00:00
Ken Raeburn
943fbd5bd5 fsf address update, but not in COPYING files 1995-07-07 22:49:42 +00:00
Ian Lance Taylor
4a674fd49b Sanitize arc stuff from Makefile.in. 1995-07-04 19:43:44 +00:00
Ian Lance Taylor
d7ace3071e start-sanitize-arc
Mon Jul  3 11:54:31 1995  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (ALL_MACHINES): Add arc-dis.o and arc-opc.o.

end-sanitize-arc
1995-07-03 15:55:12 +00:00
Stan Shebs
6efe6dc578 * mpw-config.in: Add sh and i386 configs, remove sparc config.
* sh-opc.h: Add copyright.
1995-06-16 00:45:31 +00:00
Jim Wilson
856253d4d8 Unsanitize SH3 support. 1995-05-25 00:00:03 +00:00
Steve Chamberlain
1ff71ed037 Wed May 24 14:16:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
* sh-opc.h: Added bsrf and braf.
1995-05-24 21:16:02 +00:00
Ken Raeburn
ff15324f63 Bunch of changes from Richard Earnshaw for generic bi-endian ARM aout targets.
Details in change logs.
1995-05-18 22:21:18 +00:00
Jason Molenda
8f96fa0e7d * sh-opc.c (sh_nibble_type, sh_arg_type): remove trailing , from
enum list.

some native cc's barf on this (and K&R says it's naughty)
1995-04-24 21:21:58 +00:00
Michael Meissner
4121273fa7 Fix April 17th change. 1995-04-19 18:14:20 +00:00
Ken Raeburn
6a37aaf186 * mips-dis.c (print_insn_little_mips): Cast return value from bfd_getl32 from
bfd_vma to unsigned long, because _print_insn_mips expects an unsigned long,
and that might be fewer words of argument storage (e.g., if bfd_vma is long
long on a 32-bit machine).
(print_insn_big_mips): Likewise with bfd_getb32 value.
(_print_insn_mips): Now static.
1995-04-18 16:24:09 +00:00
Stan Shebs
7a4f107d38 always keep MPW support files 1995-04-10 22:59:42 +00:00
Stan Shebs
1e0956858e Merge MPW ChangeLog with generic ChangeLog 1995-04-10 22:59:03 +00:00
David Edelsohn
1a56be5c4f * arc-dis.c (print_insn): New parameter `big_p'. Callers updated.
Call arc_get_opcode_mach to map bfd mach number to opcode value.
	(print_insn_*): Pass bfd mach number, not opcode version.
	* arc-opc.c (arc_get_opcode_mach): New function.
1995-04-07 03:54:08 +00:00
Ken Raeburn
c024cc1110 Changes from Klaus Kaempf:
* alpha-opc.h (OSF_ASMCODE): define print pal-code names as defined in App C of
the Alpha Architecture Reference Manual

* alpha-dis.c: cleaned up output print stylized code forms as defined in App
A.4.3 of the Alpha Architecture Reference Manual
1995-03-14 07:17:20 +00:00
David Edelsohn
8dbed89e06 arc-dis.c (print_insn): Put "+ 4" of relative addresses back. Oops. 1995-03-12 13:21:07 +00:00
Ken Raeburn
8cf2e6ebbc * m68k-dis.c (BREAK_UP_BIG_DECL): Make secondary array static and const.
(reg_names): Now const.
(print_insn_arg): Arrays cacheFieldName and names now const.
(print_indexed): Array scales now const.
1995-03-08 08:23:24 +00:00
Ken Raeburn
029e2524db Avoid bogus assumption that the two parts of the split m68k opcode table
are going to be adjacent in memory.
1995-03-08 07:57:05 +00:00
David Edelsohn
3aa44a1d92 * arc-dis.c (print_insn_arc_base): Split into big and little fns.
(print_insn_arc_{host,graphics,audio}): Likewise.
	(print_insn): Add prototype.
	Delete "+ 4" addition to relative branch address.
	(arc_get_disassembler): New arg `big_p'.  Return little or big
	print fn accordingly.
	* arc-opc.c (arc_opcode_init_tables): Init arc_operand_map once.
	(arc_opcode_supported): Use ARC_OPCODE_CPU to ignore byte order.
	(arc_opval_supported): Likewise.
	* disassemble.c (disassembler): Pass big endian flag to
	arc_get_disassembler.
1995-03-08 05:19:46 +00:00
Ian Lance Taylor
ab204453e6 * ppc-opc.c: Sort recently added instructions by minor opcode
number within major opcode number.
1995-03-07 21:48:27 +00:00
Jeff Law
3f073f06cd * hppa-dis.c: Include libhppa.h. 1995-03-06 17:05:20 +00:00
Peter Schauer
f1cb5ff2b4 * Makefile.in (ALL_MACHINES): Add w65-dis.o. 1995-02-21 07:56:45 +00:00
David Edelsohn
07f27bb80c * arc-dis.c (arc_get_disassembler): Change argument to int,
one of bfd_mach_arc_xxx.  All callers updated.
1995-02-17 20:44:32 +00:00
Ian Lance Taylor
f27ab33041 * mips-opc.c: Add r4650 mul instruction. 1995-02-16 22:35:36 +00:00
Ian Lance Taylor
470feacfab * mips-opc.c: Add uld and usd macros for unaligned double load and
store.
1995-02-15 20:47:31 +00:00
David Edelsohn
c81a2ce3bf (arc_get_disassembler): Renamed from arc_disassembler. 1995-02-10 03:55:34 +00:00
David Edelsohn
9f05921fb7 * disassemble.c (disassembler, case bfd_arch_arc): Call
arc_disassembler to get disassembler routine.
1995-02-10 03:42:43 +00:00
David Edelsohn
6acc9345e1 Lotsa arc stuff. 1995-02-10 03:38:14 +00:00
David Edelsohn
ecec4df3e8 * arc-opc.c (MULTSHIFT operand): Delete.
(UNSIGNED, SATURATION): New operands.
	(mac, mul, mul64, mulu64): New insns.
	(ext. asl, asr, lsr, ror): Only available on host and graphics cpus.
	(padc, padd, pmov, pand, psbc, psub, swap): New insns.
	(host,graphics,audio extended and auxiliary regs): Define.
	(ss, sc, mh, ml): New suffixes.
	(arc_opcode_supported, arc_opval_supported): New functions.
	(insert_multshift, extract_multshift): Deleted.
1995-02-10 03:37:57 +00:00
David Edelsohn
98d42df90d * arc-dis.c (print_insn_arc): Rename to print_insn and make static.
New argument `cpu', pass it to arc_opcode_init_tables.
	Document byte order dependencies.  Ignore unsupported insns.
	(arc_disassembler): New function.
	(print_insn_arc_base, print_insn_arc_host, print_insn_arc_graphics,
	print_insn_arc_audio): New functions.
1995-02-10 03:23:16 +00:00
Stan Shebs
7010c43a6e * i960-dis.c (struct tabent, struct sparse_tabent): Change the
signed char fields to shorts, more portable.
1995-02-09 22:46:54 +00:00
Stan Shebs
ce2349c52d * i960-dis.c (struct tabent, struct sparse_tabent): Declare the
char fields as signed chars, since they may have negative values.

Fixes PR 6290.
1995-02-09 01:32:35 +00:00
J.T. Conklin
9ce4de1912 * i386-dis.c (dis386_twobyte): Add cpuid, From Charles Hannum
(mycroft@netbsd.org).
1995-02-06 18:56:53 +00:00
Ian Lance Taylor
1af6f4bb6f tipo 1995-01-30 04:23:50 +00:00
Ian Lance Taylor
669124ef4f * ppc-opc.c: Changes based on patch from David Edelsohn
<edelsohn@npac.syr.edu>.
	(powerpc_operands): Add operands SPRBAT and SPRG. Split TBR out of
	SPR.
	(FXM_MASK): Define.
	(insert_tbr): New static function.
	(extract_tbr): New static function.
	(XFXFXM_MASK, XFXM): Define.
	(XSPRBAT_MASK, XSPRG_MASK): Define.
	(powerpc_opcodes): Add instructions to access special registers by
	name.  Add mtcr and mftbu.
1995-01-26 23:35:32 +00:00
Steve Chamberlain
9f744f9110 * configure.in: Add W65 support.
* disassemble.c: Likewise.
	* w65-opc.h, w65-dis.c: New files.
1995-01-16 00:35:55 +00:00
Stan Shebs
d3d74a94e9 * mpw-config.in (archname): Compute from the config.
(BFD_MACHINES, ARCHDEFS): Put into mk.tmp.
1995-01-04 23:05:52 +00:00
Steve Chamberlain
d383e289df * h8300-dis.c (bfd_h8_disassemble): Add support for 2 bit
immediates.
1994-12-29 06:16:23 +00:00
Ian Lance Taylor
27faaa41e6 * mips-opc.c: Add dli as a synonym for li. 1994-12-20 16:27:45 +00:00
David Edelsohn
edb35c135b * arc-opc.c (insertion fns): Pass pointer to value's table entry.
All uses changed.
	(extraction fns): Insn argument now array of two words.  Return pointer
	to value's table entry.  All uses changed.
	(arc_opcode_lookup_suffix): Exported for arc-dis.c.
	(insert_multshift, extract_multshift): New fns.
	(arc_operands): Add support for cache bypass suffix.  Add support for
	predefined aux regs.  Modifier bits moved to flags field.
	(arc_opcodes): Likewise.
	Add mul/mulu/shift insns.  Syntax of zero/sign extension insns changed.
	New insn rlc.  Update to syntax in programmer's manual.
	(arc_reg_names): Fix typo in lp_count.  Add predefined aux regs.
	(arc_suffixes): New synonyms lo,hs for cs,cc.  New suffix for cache
	bypass.
	(arc_opcode_init_tables): New argument to indicate cpu type.
	(insert_reg): Handle predefined aux regs.
	(extract_reg): Likewise.
	(lookup_register): New fn.
	* arc-dis.c (arc_condition_codes): Deleted.
	(print_insn_arc): Handle insns with 32 bit immediate constants better.
	Clean up modifier handling.  Handle predefined aux regs.
1994-12-19 20:55:13 +00:00
Ken Raeburn
28a2119fba don't sanitize arc files that have already been deleted 1994-12-19 16:08:48 +00:00