Commit graph

567 commits

Author SHA1 Message Date
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
Ken Raeburn
a8732972ae alpha, mips, m68k fixes 1994-12-08 23:28:05 +00:00
Steve Chamberlain
7014c55e40 Clean the sh3 stuff out the right way. 1994-12-06 23:29:54 +00:00
Michael Tiemann
0041db5a97 Switch r3 to scratch register, r0 to stack register.
Other misc changes before beta shipment to customer.
1994-12-06 02:04:58 +00:00
David Edelsohn
8515dbe235 Initial ARC support. 1994-11-30 02:06:04 +00:00
Michael Tiemann
fb870b50a7 Add changes from customer since last work. 1994-11-26 00:17:52 +00:00
Steve Chamberlain
a4d44f7ac9 remove sh3 stuff. 1994-11-25 06:15:19 +00:00
Michael Tiemann
de582ad676 *** empty log message *** 1994-11-25 02:28:15 +00:00
Michael Tiemann
03c4ce2fcc Rename r16 files to rce, and fix some more .Sanitize typos. 1994-11-25 00:01:26 +00:00
Michael Tiemann
9f554efd62 *** empty log message *** 1994-11-24 21:48:21 +00:00
Michael Tiemann
5c680afdc4 Fix .Sanitize scrips so that r16 is truly scrubbed out.
Also, report errors if any traces of sanitize remain after sanitizing.
1994-11-24 21:36:00 +00:00
Michael Tiemann
d94aca1aff Safely check in r16 targets for binutils. 1994-11-24 20:30:11 +00:00
Steve Chamberlain
17775ffbca * disasseble.c (disassebler): Cope with little endian SH. 1994-11-24 06:37:05 +00:00
Steve Chamberlain
a90a64c168 * sh-opc.h (mov.l gbr): Get direction right.
* sh-dis.c (print_insn_shx): New function.
	(print_insn_shl, print_insn_sh): Call print_insn_shx to
	print opcodes with right byte order.
1994-11-24 06:36:28 +00:00
Ian Lance Taylor
dded3d1406 * hppa-dis.c (print_insn_hppa): Read the instruction using
bfd_getb32, so that it works on a little endian or 64 bit host.
	Remove unused local variable op.
1994-11-01 00:02:52 +00:00
Ian Lance Taylor
cd4b8926ce * mips-opc.c: Use or instead of addu for pseudo-op move, since
addu does not work correctly if -mips3.
PR 5832.
1994-10-25 21:09:08 +00:00
Ian Lance Taylor
009946c974 * a29k-dis.c (print_special): Add special register names defined
on 29030, 29040 and 29050.
	(print_insn): Handle new operand type 'I'.
1994-10-19 17:41:18 +00:00
Ian Lance Taylor
995b0d3ff3 * configure.in: Use ${config_shell} when running config.bfd. 1994-10-04 16:18:19 +00:00
Ian Lance Taylor
e96a2b1d46 * a29k-dis.c (print_insn): Print the opcode.
PR 4779.
1994-09-15 20:46:46 +00:00
Ian Lance Taylor
8490907307 * mips-opc.c (mips_opcodes): Set WR_t for sc and scd.
PR 5632
1994-09-14 21:53:14 +00:00
Jeff Law
da233e6ed3 * hppa-dis.c (reg_names): Use r26-r23 for arg0-arg3. 1994-09-12 04:33:24 +00:00
Ken Raeburn
ba08215a8c keep arm files 1994-09-09 18:51:10 +00:00
Ian Lance Taylor
942a4965b7 * mips-opc.c: Set INSN_STORE_MEMORY flag for all instructions
which store a value into memory.
PR 5433.
1994-09-06 15:42:11 +00:00
Ken Raeburn
318b02b6b9 ARM Acorn/RISCiX target and host patches from Richard Earnshaw 1994-09-05 10:53:00 +00:00
Ken Raeburn
c4396c87e9 * sparc-dis.c (print_insn_sparc): Handle new operand type 'x'.
* sparc-opc.c: Added sparclite extended FP operations, and versions of v9
impdep* instructions permitting specification of the OPF field.
1994-07-28 23:46:19 +00:00
Ken Raeburn
2a097d73b7 i960xl changes (sanitized); keep ns32k-dis.c 1994-07-26 23:13:34 +00:00
Ken Raeburn
f61ca5fae4 fix from dj delorie for disassembler config in djgpp 1994-07-20 16:34:25 +00:00
Ken Raeburn
60a70a7b0e ns32k-dis.c (invalid_float): Changed to take char* argument, and test for
explicitly specified sizes, instead of using sizeof() on host CPU types.
(INVALID_FLOAT): Cast first argument.
1994-07-13 22:38:03 +00:00
Ken Raeburn
69bb683c6d Wed Jul 13 18:01:58 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
* ns32k-dis.c: Deleted all code in "#ifdef GDB".
	(invalid_float): Enabled general version, doesn't require running
	on ns32k host.

Sun Jul 10 00:27:47 1994  Ian Dall  (dall@hfrd.dsto.gov.au)

	* opcodes/ns32k-dis.c: Semi-new file.  Had apparently been dropped
	from distribution. A ns32k-dis.c from a previous distribution has
	been brought up to date and supports the new interface.

	* disaaemble.c: define ARCH_ns32k and add case bfd_arch_ns32k.

	* configure.in: add bfd_ns32k_arch target support.

	* Makefile.in: add ns32k-dis.o to ALL_MACHINES.
	Add ns32k-dis.c to CFILES. Add dependencies for ns32k-dis.o.
1994-07-13 22:05:52 +00:00
Stan Shebs
10f1b5978b Elim dup of file names 1994-06-30 23:19:26 +00:00
Stan Shebs
fea3fe6407 * h8300-dis.c, mips-dis.c: Don't use true and false. 1994-06-28 20:27:02 +00:00
Ian Lance Taylor
72fcd790ad * mips-dis.c (_print_insn_mips): Build a static hash table mapping
opcodes to the first instruction with that opcode, to speed
	disassembly of large files.  From ralphc@pyramid.com (Ralph
	Campbell).
1994-06-22 17:41:05 +00:00
Ken Raeburn
2e4ebfe2b0 sparc v9 unsanitization 1994-06-16 00:36:48 +00:00
Stan Shebs
67c2d8c8d7 Tue Jun 7 18:45:39 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-config.in (target_arch): Compute from canonical target.
	(m68k, mips, powerpc, sparc): Add architectures.
	* mpw-make.in (disassemble.c.o): Add.
	(ALL_CFLAGS): Remove special flags (-mc68020 -mc68881 -model far).
1994-06-08 01:53:20 +00:00
Ken Raeburn
fc984fdb33 keep configure.bat 1994-06-05 16:49:49 +00:00
Ken Raeburn
c06e55d99a changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
Steve Chamberlain
ab678720c7 * a29k-dis.c (print_insn): Print 'x' type operand in hex.
* h8300-dis.c (bfd_h8_disassemble): Print 16bit rels correctly.
	* sh-dis.c (print_insn_sh): Don't recur endlessly if delay
	slot insn is in a delay slot.
	* z8k-opc.h: (resflg): Fix patterns.
	* h8500-opc.h Fix CR insn patterns.
1994-05-08 00:19:06 +00:00
Ken Raeburn
204c914803 keep disassemble.c 1994-04-29 15:46:36 +00:00
Ken Raeburn
7495f83bd4 * m68k-dis.c (print_insn_m68k): If F_ALIAS flag is set, skip the opcode being
examined.
1994-04-28 22:59:09 +00:00
Ian Lance Taylor
8c546dedc3 * ppc-opc.c (powerpc_opcodes): Correct fcir. From David Edelsohn
(edelsohn@npac.syr.edu).
1994-04-17 03:43:18 +00:00
Ian Lance Taylor
76336d506d * mips-opc.c (mips_opcodes): Correct operands of "nor" with an
immediate argument.
1994-04-06 21:12:40 +00:00
David Edelsohn
8055d512fb * sparc-opc.c (sparc_opcodes): Fix "rd %fprs,%l0". 1994-04-04 23:37:46 +00:00
Ian Lance Taylor
749a663dba * ppc-opc.c (powerpc_operands): The signedp field has been
removed, so don't initialize it.  Set the PPC_OPERAND_SIGNED flag
	instead.  Add new operand SISIGNOPT.
	(powerpc_opcodes): For lis, liu, addis, and cau use SISIGNOPT.
	Based on patch from David Edelsohn (edelsohn@npac.syr.edu).
	* ppc-dis.c (print_insn_powerpc): Check PPC_OPERAND_SIGNED rather
	than signedp field.
1994-04-04 17:32:02 +00:00
Stan Shebs
8f24553567 Wed Mar 30 15:31:55 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-xconfig.in (opcode/mips.h): Don't forward-include here.
	(BFD_MACHINES): Set appropriately.
1994-03-30 23:43:52 +00:00
Stan Shebs
72e11c95da Wed Mar 30 15:30:44 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-config.in (BFD_MACHINES): Set to a default value.
	* mpw-make.in (BFD_MACHINES): Remove wired-in value.
1994-03-30 23:33:44 +00:00
Peter Schauer
878db64d3f * i386-dis.c (struct private): Renamed to dis_private. `private'
is a reserved word for dynix cc.
1994-03-30 09:17:49 +00:00
Ian Lance Taylor
934ec70a4e * configure.in: Change error message to refer to bfd/config.bfd
rather than bfd/configure.in.
1994-03-28 18:05:12 +00:00
Ian Lance Taylor
541924955f Mon Mar 28 12:28:30 1994 David Edelsohn (edelsohn@npac.syr.edu)
* ppc-opc.c: Define POWER2 as short alias flag.
	(powerpc_opcodes): Add POWER/2 opcodes lfq*, stfq*, fcir[z], and
	fsqrt.
1994-03-28 17:30:29 +00:00
Ian Lance Taylor
c0386c7a9f * m68881-ext.c: Removed; no longer used.
* Makefile.in: Changed accordingly.
1994-03-14 20:23:05 +00:00
Ian Lance Taylor
448ff99268 * m68k-dis.c (ext_format_68881): Don't declare.
(print_insn_m68k): If an instruction uses place 'i', it uses at
	least four fixed bytes.
	(print_insn_arg): Don't bump p by 2 for case 'I', place 'i'.  For
	extended float, convert to double using floatformat_to_double, not
	ieee_extended_to_double, and fetch the data before converting it.
1994-03-14 20:00:34 +00:00
Ian Lance Taylor
d75eb68cf2 * mips-opc.c: It's sqrt.s, not sqrt.w. From
davidj@ICSI.Berkeley.EDU (David Johnson).
1994-03-08 23:13:30 +00:00
Ian Lance Taylor
9a458b67a4 Set Emacs local variables to never use version control. 1994-03-08 18:41:54 +00:00
Peter Schauer
4dd4933e7c Change inclusion of <string.h> to sysdep.h. 1994-02-08 19:01:45 +00:00
Peter Schauer
5c9b5f58f3 * dis-buf.c, i386-dis.c: Include <string.h>. 1994-02-08 09:12:06 +00:00
Stan Shebs
e320f644a3 Mon Feb 7 15:53:02 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-make.in (CSEARCH): Add extra-include to search path.
1994-02-07 23:55:53 +00:00
Jim Kingdon
9f80c72bb1 * i960-dis.c (reg, mem): Just use a static array instead of
calling xmalloc.
1994-02-06 15:49:03 +00:00
Jeff Law
0bb364c6b3 * hppa-dis.c (print_insn_hppa): For '?' and '@' only adjust the
condition name index if this is for a negated condition.
1994-02-05 19:15:20 +00:00
Jeff Law
e59f322778 * hppa-dis.c (print_insn_hppa): No space before 'H' operand.
Floating point format for 'H' operand is backwards from normal
        case (0 == double, 1 == single).  For '4', '6', '7', '9', and '8'
        operands (fmpyadd and fmpysub), handle bizarre register translation
        correctly for single precision format.
1994-02-05 18:18:49 +00:00
Jeff Law
e3960b9610 * hppa-dis.c (print_insn_hppa): Do not emit a space after 'F'
or 'I' operands if the next format specifier is 'M' (fcmp
        condition completer).
1994-02-05 08:04:45 +00:00
Ian Lance Taylor
1c214e4ceb * ppc-opc.c (powerpc_operands): New operand type MBE to handle a
single number giving a bitmask for the MB and ME fields of an M
	form instruction.  Change NB to accept 32, and turn it into 0;
	also turn 0 into 32 when disassembling.  Seperated SH from NB.
	(insert_mbe, extract_mbe): New functions.
	(insert_nb, extract_nb): New functions.
	(SC_MASK): Mask out SA and LK bits.
	(powerpc_opcodes): Change "cal" to use RT, D, RA rather than RT,
	RA, SI.  Change "liu" and "cau" to use UI rather than SI.  Mark
	"bctr" and "bctrl" as accepted by POWER.  Change "rlwimi",
	"rlimi", "rlwimi.", "rlimi.", "rlwinm", "rlinm", "rlwinm.",
	"rlinm.", "rlmi", "rlmi.", "rlwnm", "rlnm", "rlwnm.", "rlnm." to
	use MBE rather than MB.  Add "mfmq" and "mtmq" POWER instructions.
	(powerpc_macros): Define table of macro definitions.
	(powerpc_num_macros): Define.
1994-02-05 04:46:34 +00:00
Ian Lance Taylor
e7285169f8 * ppc-dis.c (print_insn_powerpc): Don't skip optional operands
if PPC_OPERAND_NEXT is set.
1994-02-05 04:45:24 +00:00
Stan Shebs
5e7eed8d82 Mon Jan 24 12:09:35 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-xconfig.in (opcode/mips.h): Create using forward-include.
1994-01-24 20:40:04 +00:00
Stan Shebs
8ab5883476 Mon Jan 24 12:07:22 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-config.in (varargs.h): Don't create.
	(sysdep.h): Create using forward-include.
	* mpw-make.in (CSEARCH): Add include/mpw to search path.
1994-01-24 20:39:06 +00:00
Ian Lance Taylor
89221bd5f4 Added ppc-opc.c and ppc-dis.c. 1994-01-22 00:11:37 +00:00
Ian Lance Taylor
1211751d0b * ppc-opc.c: New file. Opcode table for PowerPC, including
opcodes for POWER (RS/6000).
	* ppc-dis.c: New file.  PowerPC and Power (RS/6000) disassembler.
	* Makefile.in (ALL_MACHINES): Add ppc-dis.o and ppc-opc.o.
	(CFILES): Add ppc-dis.c.
	(ppc-dis.o, ppc-opc.o): New targets.
	* configure.in: Build ppc-dis.o and ppc-opc.o for bfd_rs6000_arch.
1994-01-22 00:04:49 +00:00
Ian Lance Taylor
85dcf36d72 PowerPC opcode table and disassembler. 1994-01-22 00:01:27 +00:00
Jeff Law
f037e5b0a4 * hppa-dis.c (print_insn_hppa): Handle 'N' in assembler template.
No space before 'u', 'f', or 'N'.
1994-01-18 04:06:52 +00:00
Jim Kingdon
4baf1a8c9e * i386-dis.c (print_insn_i386): Add FIXME comment regarding reading
farther than we should.
1994-01-17 00:47:38 +00:00
Jim Kingdon
a279b1f5ff * i386-dis.c (dis386): Use Yb and Yv for scasb and scasS. 1994-01-17 00:38:56 +00:00
Stan Shebs
e4c7516baa Set lose_these_too correctly 1994-01-11 01:15:02 +00:00
Stan Shebs
d1463af1d1 Fri Jan 7 11:26:29 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-make.in: Replace 8-bit chars with their names.
1994-01-07 19:27:21 +00:00
David MacKenzie
4b2febd355 fix comments 1994-01-06 20:37:47 +00:00
Stan Shebs
e7c4e61cc9 Mon Jan 3 11:44:29 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-config.in:  New file, MPW version of configure.in.
	* mpw-make.in:	  New file, MPW version of Makefile.in.

Mon Jan  3 12:54:35 1994  Stan Shebs  (shebs@andros.cygnus.com)

 	* mpw-xconfig.in: New file, mpw x mips configuration bits.
1994-01-03 20:58:02 +00:00
Peter Schauer
ba936a2ef5 * alpha-opc.h, alpha-dis.c (print_insn_alpha): Add
FLOAT_MEMORY_FORMAT_CODE, FLOAT_BRANCH_FORMAT_CODE, correct
	FLOAT_FORMAT_CODE to put out floating point register names.
1993-11-08 07:53:45 +00:00
Jim Kingdon
de807a9b6a Remove v9-specific entry 1993-11-01 20:08:35 +00:00
Jim Kingdon
bf04fba0f3 Add missing entry for change by Ian 1993-10-31 19:51:54 +00:00
Ian Lance Taylor
d75a406d3c * a29k-dis.c (print_insn): Use 0x%08x, not 0x%8x. 1993-10-28 21:43:14 +00:00
Ian Lance Taylor
70643dbc13 * mips-opc.c (dsll, dsra, dsrl): Added '>' cases for shift counts
larger than 32.  Moved dsxx32 variants first for disassembler.
1993-10-27 15:52:00 +00:00
Steve Chamberlain
07bf1ce5b2 Add full lda information 1993-10-25 18:34:00 +00:00
Peter Schauer
bb959d0ab9 * alpha-opc.h: Add ldl_l, fix typo for ldq_u.
* alpha-dis.c (print_insn_alpha):  Add code for PAL_FORMAT_CODE.
1993-10-08 09:43:36 +00:00
Ian Lance Taylor
9978cd4dc9 * mips-opc.c: Correct lwu opcode value (book had it wrong). 1993-10-05 21:49:04 +00:00
K. Richard Pixley
cb79d01dcf * m88k-dis.c (m88kdis): comment change. Remove space after
printing mnemonic.
	  (printop): handle new arg types DEC and XREG for m88110.
1993-09-29 23:26:42 +00:00
Jim Kingdon
a0ad6c0f18 Tue Sep 28 19:20:16 1993 Jeffrey A Law (law@snake.cs.utah.edu)
* hppa-dis.c (print_insn_hppa): Handle 'z' operand
	type for absolute branch addresses.  Delete special
	"ble" and "be" code in 'W' operand code.
1993-09-29 00:25:04 +00:00
Peter Schauer
3c6c7e4456 * alpha-dis.c (print_insn_alpha), alpha-opc.h: Fix bugs, use
info->fprintf_func for printing and info->print_address_func for
	address output.
1993-09-17 11:47:59 +00:00
Ian Lance Taylor
44647fcc26 * mips-dis.c, m88k-dis.c: Don't include libbfd.h. Changed calls
to BFD swapping routines to correspond to BFD name changes.
1993-09-07 18:27:18 +00:00
Ian Lance Taylor
547998d2c8 * mips-opc.c: Change div machine instruction to be z,s,t rather
than s,t.  Change div macro to be d,v,t rather than d,s,t.
	Likewise for divu, ddiv, ddivu.  Added z,s,t case for drem, dremu,
	rem and remu which generates only the corresponding div
	instruction.  This is for compatibility with the MIPS assembler,
	which only generates the simple machine instruction when an
	explicit destination of $0 is used.
	* mips-dis.c (print_insn_arg): Handle 'z' (always register zero).
1993-09-02 17:14:10 +00:00
Ian Lance Taylor
a9c686adf5 * mips-opc.c: Move div machine instruction after macro forms.
Change d,s,t form to d,v,t.  Likewise for divu, ddiv and ddivu.
	This is for compatibility with the MIPS assembler, which only
	generates the simple machine instruction when an explicit
	destination of $0 is used.
1993-09-02 14:42:31 +00:00
Ian Lance Taylor
a5ba0d3f48 * mips-opc.c: From davidj@ICSI.Berkeley.EDU (David Johnson): Set
WR_31 hazard for bal, bgezal, bltzal.
1993-08-27 14:55:22 +00:00
Ian Lance Taylor
320cdccfb1 * mips-opc.c ("absu"): Removed.
("dabs"): Added.
1993-08-23 17:02:50 +00:00
Ian Lance Taylor
2bef2d3e57 * mips-opc.c: Added r6000 and r4000 instructions and macros.
Changed hazard information to distinguish between memory load
	delays and coprocessor load delays.
1993-08-20 15:40:51 +00:00
Ian Lance Taylor
45b1470513 * mips-opc.c: li.d uses "T,L", not "S,F". Added li.s. 1993-08-18 19:40:37 +00:00
David MacKenzie
ed2fe80fb5 don't pass cpu to config.bfd 1993-08-17 16:45:41 +00:00
Ian Lance Taylor
e9a3035799 * m88k-dis.c (m88kdis): Make class unsigned. 1993-08-17 16:24:38 +00:00
Ian Lance Taylor
786e4f1a5f * mips-opc.c: Added lwc1 E,A(b) to go with lwc1 T,A(b). Similarly
for swc1.
1993-08-12 16:07:37 +00:00
Ian Lance Taylor
11a0aaa785 * mips-opc.c: From davidj@ICSI.Berkeley.EDU (David Johnson): Took
coprocessor instructions out of #if 0, and made them use new
	argument type "C".
1993-08-06 15:20:49 +00:00
Jim Kingdon
071689e1ad * sparc-dis.c: Include ansidecl.h before opcodes/sparc.h. 1993-08-05 22:16:40 +00:00
David Edelsohn
eea92b2442 Rename sigm insn to sir.
Change impdep insn from [1+2],d to 1,2,d.
1993-08-04 05:12:50 +00:00
Fred Fish
b5ed6e32c2 Remove '.Sanitize' from explicit list of Things-to-lose. It is now implicitly
added to the list by Sanitize, unless Sanitize knows it needs to keep it.
1993-08-02 23:29:32 +00:00
Fred Fish
775d4a4096 Add .Sanitize to Things-to-lose list. 1993-07-30 16:46:19 +00:00
Jim Kingdon
18de15d82e * hppa-dis.c: Move floating registers from reg_names to fp_reg_names.
(fput_fp_reg_r): Renamed from fput_reg_r.
	(fput_fp_reg): New function.
	(print_insn_hppa): Use fput_fp_reg{,_r} where appropriate.
1993-07-21 18:54:49 +00:00
Jim Kingdon
4d135f1c5a * hppa-dis.c (print_insn_hppa, cases 'a', 'd'): Print space afterwards.
* hppa-dis.c (print_insn_hppa, case 'd'): Use GET_COND not GET_FIELD.
1993-07-21 18:44:40 +00:00
Jim Kingdon
69135a69b6 * mips-opc.c: New file, containing opcode table from
../include/opcode/mips.h.
1993-07-20 22:55:21 +00:00
Jim Kingdon
b2ad2e6473 * hppa-dis.c (print_insn_hppa): Use extract_5r_store for 'r'. 1993-07-20 00:22:35 +00:00
Jim Kingdon
981b3a2794 * hppa-dis.c (print_insn_hppa, case '>'): If next character is 'n',
don't output a space.
1993-07-19 21:39:36 +00:00
Jim Kingdon
17068960cb * hppa-dis.c (float_format_names): 10 is undefined, and 11 is quad. 1993-07-19 20:54:04 +00:00
Jim Kingdon
32d2052a0d * mips-opc.c: New file, containing opcode table from
../include/opcode/mips.h.
	* Makefile.in: Add it.
1993-07-19 02:25:39 +00:00
Ian Lance Taylor
a4c0129924 * m88k-dis.c: New file, moved in from gdb and changed to use the
new dis-asm.h disassembler interface.
	* Makefile.in (DIS_LIBS): Added m88k-dis.o.
	(m88k-dis.o): New target.
1993-07-15 16:40:49 +00:00
Ian Lance Taylor
37609724c6 * mips-dis.c (print_insn_arg, _print_insn_mips): Made pointer to
argument string const char * to correspond to opcode/mips.h.
1993-07-13 17:06:07 +00:00
Ian Lance Taylor
fde326fbc9 * mips-dis.c: Updated to account for name changes in new version
of opcode/mips.h.
	* Makefile.in: Added header file dependencies.
1993-07-07 17:37:11 +00:00
David Edelsohn
a5b5f81d79 (bfd_h8_disassemble): Correct fetching of instruction. 1993-07-04 06:49:43 +00:00
David Edelsohn
9c06680d28 Fix typo. 1993-07-03 00:40:35 +00:00
Per Bothner
5b6c633678 * m68k-dis.c (print_insn_arg): Change return value to byte count
or error code.
	* m68k-dis.c:  Re-write to detect invalid operands before
	printing anything, so we can handle this the same way we
	handle invalid opcodes.
1993-06-18 21:18:53 +00:00
Steve Chamberlain
219cf23283 Understand more opcodes. 1993-06-17 22:02:49 +00:00
Ian Lance Taylor
91ea6ab0b1 * hppa-dis.c: Include <ansidecl.h> and sysdep.h before other
header files.
1993-06-16 20:49:36 +00:00
Ken Raeburn
0a3c15c302 sparc-dis, configure/Makefile changes 1993-06-16 02:05:13 +00:00
Ken Raeburn
5edfb67cac search ../include, and not ../bfd 1993-06-16 01:46:54 +00:00
David D. Zuhn
193dc897c7 remove parentdir support 1993-06-16 00:24:54 +00:00
Stu Grossman
5aef7c67a3 Changes from Jeff Law, law@cs.utah.edu:
* hppa-dis.c: Fix typo.  'a' and 'd' were reversed.
	Do not print a space before the completers specified by
	'a' and 'd'.
1993-06-15 20:37:37 +00:00
Ken Raeburn
998f2ef343 mips-dis.c needn't choke on HOST_64_BIT 1993-06-11 23:39:25 +00:00
Ken Raeburn
112087edcc Lots of changes from Jeff Law for HPPA support:
Clean up cruft in opcode table; improve opcodes library disassembler; make
gdb use opcodes library disassembler.
1993-06-11 23:20:54 +00:00
Jim Kingdon
e6fb7139ee * m68k-dis.c (print_insn_{m68k,arg}): Add MMU codes. 1993-06-11 16:23:55 +00:00
Steve Chamberlain
3b4cc5ecfb * h8300-dis.c: New file, removed from bfd/cpu-h8300.c, with
H8/300-H opcodes.
1993-06-08 19:26:23 +00:00
Per Bothner
e0a8bcfb54 * Makefile.in (CSEARCH): Add -I../bfd for sysdep.h and bfd.h.
* configure.in:  No longer need to configure to get sysdep.h.
1993-06-07 19:59:50 +00:00
K. Richard Pixley
87756e15db added things-to-lose sections 1993-05-27 06:44:29 +00:00
K. Richard Pixley
7b85349fe8 honor verbose flag 1993-05-27 03:22:48 +00:00
Stu Grossman
b7b184a125 * z8k-dis.c (fetch_data): Use unsigned char to make ancient gcc's
happy.
1993-05-19 22:37:08 +00:00
Ken Raeburn
d698222b58 note a hppa-dis.c change i forgot to list before 1993-05-14 12:10:41 +00:00
Ken Raeburn
cfa8d0617d add hppa disassembly code 1993-05-14 11:41:02 +00:00
David Edelsohn
261d3247f9 Macroize all conditional move insns.
Fix generated code of fmovcc insns (opf field was wrong).
1993-05-11 21:16:39 +00:00
Fred Fish
0e57a49587 * a29k-dis.c, alpha-dis.c, i960-dis.c, sparc-dis.c, z8k-dis.c:
Cast second arg to read_memory_func to "bfd_byte *", as necessary.
1993-05-07 03:55:10 +00:00
Steve Chamberlain
8679a71fc8 SH support 1993-04-27 01:19:25 +00:00
Steve Chamberlain
5f8f6d56f2 Support for the alpha 1993-04-24 02:10:09 +00:00
John Gilmore
d802b9481b Make "ta" the default trap instruction, "t" the alias. 1993-04-06 00:38:25 +00:00
Ian Lance Taylor
e9aff87e19 Maybe we should change ansidecl.h to define const as well as CONST?
* a29k-dis.c, sparc-dis.c, sparc-opc.c: Use CONST rather than
	const.
1993-04-02 15:27:17 +00:00
Jim Kingdon
720b3aed42 New print_address for disassemblers, merge a29k and i960 disassemblers 1993-04-02 00:18:47 +00:00
Jim Kingdon
3245e377e4 * sparc-dis.c: Use fprintf_func a few places where I forgot,
and double percent signs a few places.
1993-04-01 23:24:57 +00:00
Jim Kingdon
e08c332141 Make circumvention of sun make VPATH bug include all relevant files 1993-04-01 18:56:02 +00:00
Jim Kingdon
117733ad8d make it work with recent sparc changes 1993-04-01 18:42:39 +00:00
Jim Kingdon
a6cead71cd Fix prototype problems related to recent disassembler changes 1993-04-01 18:04:51 +00:00
Jim Kingdon
3ac166b105 this is part of the binutils/gdb sparc disassembler merge 1993-04-01 16:58:41 +00:00
Jim Kingdon
f7ed13c7d5 merge binutils and gdb sparc disassemblers 1993-04-01 16:56:06 +00:00
K. Richard Pixley
05545edc03 * h8500-dis.c, i386-dis.c, m68k-dis.c, z8k-dis.c (fetch_data):
deliberately return non-zero to setjmp from longjmp.  Otherwise
  this code fails to compile.
1993-04-01 04:52:59 +00:00
Stu Grossman
cbe61cc651 * m68k-dis.c: Fix prototype for fetch_arg(). 1993-04-01 01:05:39 +00:00
Jim Kingdon
aff22f452f New file dis-buf.c; part of read_memory_func changes just checked it 1993-03-31 21:45:59 +00:00
Jim Kingdon
5d0734a7d7 provide a new interface (using read_memory_func) to call the disassemblers
which copes with errors in a plausible way
1993-03-31 21:43:25 +00:00
John Gilmore
2cb563e6f4 Update for h8500-dis.c. (Avoid Sun Make vpath bug) 1993-03-23 02:55:56 +00:00
Steve Chamberlain
337110eab7 New file 1993-03-19 22:39:35 +00:00
Steve Chamberlain
45798e50ad Opcode file for the h8/500 1993-03-19 22:20:43 +00:00
Per Bothner
c840244e23 * mips-dis.c, z8k-dis.c: Converted to use interface defined in
../include/dis-asm.h.
	* m68k-dis.c:  New file (merge of ../binutils/m68k-pinsn.c
	and ../gdb/m68k-pinsn.c).
	* i386-dis.c:  New file (merge of ../binutils/i386-pinsn.c
	and ../gdb/i386-pinsn.c).
	* m68881-ext.c:  New file.  Moved definition of
	ext_format ext_format_68881 from ../gdb/m68k-tdep.c.
	* Makefile.in:  Adjust for new files.
	* i386-dis.c:  Patches from John Hassey (hassey@dg-rtp.dg.com).
	* m68k-dis.c:  Recognize '9' placement code, so (say) pflush
	can be dis-assembled.
1993-03-19 00:11:02 +00:00
John Gilmore
264c579010 Remove extra msg. 1993-02-04 05:34:17 +00:00
Ian Lance Taylor
bf1dd2fddd Keep mips-dis.c. 1993-01-07 18:24:38 +00:00
Ian Lance Taylor
d0ba1cea30 Thu Jan 7 13:15:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* mips-dis.c: New file, from gdb/mips-pinsn.c.
	* Makefile.in (DIS_LIBS): Added mips-dis.o.
	(CFILES): Added mips-dis.c.
1993-01-07 18:21:29 +00:00
David D. Zuhn
1b2f56911b also search bfd sources for include files 1992-11-18 03:56:18 +00:00
Ken Raeburn
27ee87b307 delete unused BFD_EMIT_TABLE macro def 1992-11-04 16:08:39 +00:00
David D. Zuhn
d5dcef6346 use canonical triple 1992-10-02 07:13:29 +00:00
Mike Werner
0843ea632e Fix bug where all the opcodes were one off 1992-09-30 23:11:04 +00:00
Steve Chamberlain
b31a1f8114 added copyright notice 1992-09-30 14:42:53 +00:00
Steve Chamberlain
ea2598e40e add z8kgen 1992-09-30 14:41:36 +00:00
Steve Chamberlain
447bbbea3a * z8k-dis.c (unparse_instr): prettier tabs
* z8kgen.c -> z8k-opc.h: bug fixes in tables
1992-09-29 19:21:34 +00:00
Stu Grossman
57cae454d4 * configure.in: Add ncr* configuration.
* z8k-dis.c (struct instr_data_s):  Make instr_asmsrc char to make
picayune ANSI compilers happy.
1992-09-25 19:54:06 +00:00
Steve Chamberlain
c38f5470c2 z8kgen: temp file to generate z8k-opc.h from
z8k-dis.c: fixed various bugs
1992-09-24 20:28:14 +00:00
Ken Raeburn
3a15790239 fix typo in install rule 1992-09-18 21:02:18 +00:00
John Gilmore
68ca323803 * Makefile.in (make): Remove obsolete crud.
(sparc-opc.o):  Avoid Sun Make VPATH bug.
1992-09-18 09:05:54 +00:00
Jim Wilson
23996caa33 Update to SPARC V9 draft 1.1. Put brfcx before brfc to avoid superfluous
symbol table entries.  Document unimplemented synthetic instructions.
1992-09-16 00:23:52 +00:00
Jim Wilson
866e23d055 In brx macro, check for XCC bit set in xcc insns, and not set in icc insns.
In cond macro, do brx before br, to avoid getting extra symbol table entries
due to failed pattern matches.
1992-09-15 19:55:26 +00:00
Steve Chamberlain
ede30e7363 Remove typo 1992-09-10 17:23:25 +00:00
Steve Chamberlain
62ba1060a4 Special stuff to strip v9 out of sparc-opc.c 1992-09-10 17:20:10 +00:00
Steve Chamberlain
c3a1191a1d Add sparc-opc.c 1992-09-10 16:34:29 +00:00
Ken Raeburn
493d3e7568 accidentally used out-of-date version 1992-09-09 01:18:47 +00:00
K. Richard Pixley
e5bc6aaf85 remove subdir_do and references 1992-09-09 00:30:25 +00:00
Ken Raeburn
794a16b09d Makefile.in bug fixes and sparc-opc.c addition 1992-09-08 21:12:26 +00:00
Steve Chamberlain
add1fb05e5 * z8k-dis.c: knows how to disassemble z8k stuff 1992-08-31 21:54:31 +00:00
Steve Chamberlain
a4ccc31032 * z8k-opc.h: new file full of z8000 opcodes 1992-08-31 20:48:44 +00:00