Commit graph

229 commits

Author SHA1 Message Date
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