Commit graph

420 commits

Author SHA1 Message Date
Jeff Law
81fc72a71a * h8300-dis.c (bfd_h8_disassemble): We don't have a match
if we're looking for KBIT and we don't find it.
So we don't disassemble "inc" instructions as "adds" instructions.
1996-07-11 18:24:59 +00:00
Jeff Law
bf0b880f39 * h8300-dis.c (bfd_h8_disassemble): Mask off unwanted bits
for L_3 and L_2.
So we only get values in the right range for L_3 (0..7) and L_2 (0..3).
1996-07-11 18:07:31 +00:00
Jeff Law
0decb7fde3 * h8300-dis.c (bfd_h8_disassemble): Don't set plen for
3bit immediate operands.
So we disassemble bXXX #IMM,@ADDRESS insns correctly.
1996-07-11 17:58:43 +00:00
Ian Lance Taylor
1695403700 * alpha-opc.c: Add new case of "mov". From Klaus Kaempf
<kkaempf@progis.ac-net.de>.
1996-07-09 14:57:34 +00:00
Jeff Law
25b344a4a2 No longer need to sanitize away h8s stuff. 1996-07-05 18:59:31 +00:00
Ian Lance Taylor
972b1bb03e * alpha-opc.c: Correct second case of "mov" to use OPRL. 1996-07-04 15:43:31 +00:00
Stu Grossman
eb2c851803 * sparc-dis.c (print_insn_sparclite): New routine to print
sparclite instructions.
1996-07-04 00:50:29 +00:00
J.T. Conklin
9070eaffef * m68k-opc.c (m68k_opcodes): Add coldfire support. 1996-07-03 21:28:05 +00:00
David Edelsohn
b1dd184ef7 * sparc-opc.c (asi_table): Add #ASI_N, #ASI_N_L, #ASI_NUCLEUS,
#ASI_NUCLEUS_LITTLE.  Rename #ASI_AS_IF_USER_{PRIMARY,SECONDARY}_L
	to #ASI_AS_IF_USER_{PRIMARY,SECONDARY}_LITTLE.
1996-06-28 22:56:17 +00:00
Jason Molenda
2f70f660a6 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir):
Use autoconf-set values.
        (docdir, oldincludedir): Removed.
        * configure.in (AC_PREREQ): autoconf 2.5 or higher.
1996-06-25 14:00:47 +00:00
Ian Lance Taylor
96926bf0f6 Fri Jun 21 13:53:36 1996 Richard Henderson <rth@tamu.edu>
* alpha-opc.c: New file.
	* alpha-opc.h: Remove.
	* alpha-dis.c: Complete rewrite to use new opcode table.
	* configure.in: For bfd_alpha_arch, use alpha-opc.o.
	* configure: Rebuild with autoconf 2.10.
	* Makefile.in (ALL_MACHINES): Add alpha-opc.o.
	(alpha-dis.o): Depend upon $(INCDIR)/opcode/alpha.h, not
	alpha-opc.h.
	(alpha-opc.o): New target.
1996-06-21 17:58:07 +00:00
Ian Lance Taylor
4264a46e65 * sparc-dis.c (print_insn_sparc): Remove unused local variable i.
Set imm_added_to_rs1 even if the source and destination register
	are not the same.
1996-06-20 01:18:47 +00:00
Ian Lance Taylor
c635473f30 * sparc-opc.c: Add some two operand forms of the wr instruction. 1996-06-19 19:56:51 +00:00
Jeff Law
cc97381776 * h8300-dis.c (bfd_h8_disassemble): Rename "hmode" argument
to just "mode".

start-sanitize-h8s
        * disassemble.c (disassembler): Handle H8/S.
        * h8300-dis.c (print_insn_h8300s): New function for H8/S.
end-sanitize-h8s

Even more H8/S goo.
1996-06-18 23:00:38 +00:00
Ian Lance Taylor
1b5dbf7446 * ppc-opc.c: Fix fcmpo opcode. From Sergei Steshenko
<sergei@msil.sps.mot.com>.
1996-06-18 22:08:44 +00:00
Ian Lance Taylor
03496c49d4 Tue Jun 18 15:08:54 1996 Klaus Kaempf <kkaempf@progis.de>
* makefile.vms: New file.

	* alpha-dis.c (print_insn_alpha): Print lda ra,lit(rz) as mov.
1996-06-18 19:10:42 +00:00
Jim Wilson
ed381b6719 Kill r16/rce/acp stuff. 1996-06-08 03:18:15 +00:00
Michael Meissner
366323cfeb Silence warnings from Solaris PowerPC cc 1996-05-23 19:20:33 +00:00
David Edelsohn
ec680fc594 * saprc-dis.c (compute_arch_mask): Replace ANSI style def with K&R. 1996-04-17 21:21:09 +00:00
Ian Lance Taylor
1dd37c4885 * sparc-opc.c: Set F_FBR on floating point branch instructions.
Set F_FLOAT on other floating point instructions.
PR 355.
1996-04-11 21:31:03 +00:00
Michael Meissner
95bc20ec8d Add 860 specific registers 1996-04-08 21:07:28 +00:00
Ian Lance Taylor
571177859d Use BFD_PICLIST. 1996-04-08 18:33:43 +00:00
Ian Lance Taylor
639b5a093c * configure.in: Permit --enable-shared to specify a list of
directories.
	* configure: Rebuild.
1996-04-08 18:01:49 +00:00
Jeff Law
d2f6ce6ac2 * h8300-dis.c (bfd_h8_disassemble): Use "bit" for L_3 immediates,
not "abs", which may be needed for the absolute in something
        like btst #0,@10:8.  Print L_3 immediates separately from other
        immediates.  Change ABSMOV reference to ABS8MEM.
One day we'll actually disassemble btst #0,@10:8 correctly...  But not
yet.  hmse.
1996-04-06 00:14:04 +00:00
David Edelsohn
d302b5f240 * sparc-dis.c (opcodes_initialized): Move inside print_insn_sparc.
(current_arch_mask): New static global.
	(compute_arch_mask): New static function.
	(print_insn_sparc): Delete sparc_v9_p.  New static local
	current_mach.  Resort opcode table if current_mach changes.
	Generalize "insn not supported" test.
	(compare_opcodes): Prefer supported opcodes to nonsupported ones.
	Delete test for v9/!v9.
	* sparc-opc.c (MASK_*): Use SPARC_OPCODE_ARCH_MASK.
	(v6notlet): Define.
	(brfc): Split into CBR and FBR for coprocessor/fp branches.
	(brfcx): Renamed to FBRX.
	(condfc): Renamed to CONDFC.  Pass v6notlet to CBR (standard
	coprocessor mnemonics are not supported on the sparclet).
	(condf): Renamed to CONDF.
	(SLCBCC2): Delete F_ALIAS flag.
1996-04-03 18:54:49 +00:00
David Edelsohn
02e7ece3ca (COMMUTEOP,SLCBCC,SLCBCC2 macros): Make uppercase. 1996-03-31 06:15:40 +00:00
David Edelsohn
03481f0e5f * sparc-opc.c (sparc_opcodes): rd must be 0 for
mov foo,{%y,%psr,%wim,%tbr}.  Support mov foo,%asrX.
1996-03-31 05:52:03 +00:00
Ian Lance Taylor
c830327122 * Makefile.in (config.status): Depend upon BFD VERSION file, so
that the shared library version number is set correctly.
1996-03-29 18:11:21 +00:00
Ian Lance Taylor
7919b9ec41 * configure.in: Use AC_CHECK_TOOL to find ar and ranlib. From
Miles Bader <miles@gnu.ai.mit.edu>.
	* configure: Rebuild.
1996-03-26 21:12:59 +00:00
Ian Lance Taylor
ea2488ad2e * configure: Rebuild with autoconf 2.8. 1996-03-12 17:22:07 +00:00
Ian Lance Taylor
8f218e05fc * configure.in: Don't set SHLIB or SHLINK to an empty string,
since they appear as targets in Makefile.in.
	* configure: Rebuild.
1996-03-05 20:52:52 +00:00
Stan Shebs
c8f388e7ed * mpw-make.sed: Edit out shared library support bits. 1996-02-27 01:31:28 +00:00
David Edelsohn
38399547ba * sparc-opc.c (v8,v6notv9): Add MASK_SPARCLET.
(sparc_opcode_archs): Add MASK_V8 to sparclet entry.
	(sparc_opcodes): Add sparclet insns.
	(sparclet_cpreg_table): New static local.
	(sparc_{encode,decode}_sparclet_cpreg): New functions.
	* sparc-dis.c (print_insn_sparc): Handle sparclet cpregs.
1996-02-21 05:47:27 +00:00
Ian Lance Taylor
a9c5cc539e * configure.in: Set and substitute SHLIB_DEP.
* configure: Rebuild.
	* Makefile.in (SHLIB_DEP): New variable.
	(LIBIBERTY_LISTS, BFD_LIST): New variables.
	(stamp-piclist): Depend upon LIBIBERTY_LISTS and BFD_LIST.  If
	COMMON_SHLIB, add them to piclist with appropriate modifications.
	($(SHLIB)): Depend upon $(SHLIB_DEP).  Don't check COMMON_SHLIB
	here: just use piclist.
1996-02-19 17:34:43 +00:00
David Edelsohn
b62e64e9da * sparc-dis.c (MASK_V9,V9_ONLY_P,V9_P): Define.
(print_insn_sparc): Rewrite v9/not-v9 tests.
	(compare_opcodes): Likewise.
	* sparc-opc.c (MASK_<ARCH>): Define.
	(v6,v7,v8,sparclite,v9,v9a): Redefine.
	(sparclet,v6notv9): Define.
	(sparc_opcode_archs): Delete member `conflicts'.  Add `supported'.
	(sparc_opcodes): Delete F_NOTV9, use v6notv9 instead.
1996-02-19 10:15:15 +00:00
Ian Lance Taylor
315f88096f fix up i960xl sanitization 1996-02-16 17:43:56 +00:00
Ian Lance Taylor
46bcd2ec35 * configure.in: Call AC_PROG_CC before configure.host.
* configure: Rebuild.
1996-02-15 22:10:41 +00:00
Ian Lance Taylor
6d76c71f5e * Makefile.in (SONAME): Remove leading ../bfd/ from $(SHLIB). 1996-02-15 19:45:45 +00:00
Ian Lance Taylor
03db5a9303 Wed Feb 14 19:01:27 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386-dis.c (onebyte_has_modrm): New static array.
	(twobyte_has_modrm): New static array.
	(print_insn_i386): Only fetch the mod/reg/rm byte if it is needed.
1996-02-15 00:08:45 +00:00
Michael Meissner
222e3f6e66 Undef PPC before use 1996-02-12 22:17:39 +00:00
Ian Lance Taylor
c07dc45948 * Makefile.in (SONAME): New variable.
($(SHLINK)): Make a link to the transformed name, as well.
	(stamp-tshlink): New target.
	(install): Skip stamp-tshlink during install.
1996-02-07 19:00:52 +00:00
Ian Lance Taylor
1a4dd30e54 * i960-dis.c (mem): Add HX dcinva instruction.
(reg): Add HX instructions.
	start-sanitize-i960xl
	The HX instructions are the XL instructions, so this just involves
	arranges for them to not be sanitized.
	end-sanitize-i960xl
1996-02-05 23:54:25 +00:00
Ian Lance Taylor
9b17e0eae1 tipo 1996-02-05 23:32:23 +00:00
Ian Lance Taylor
e0bf1022dd Support for building as a shared library, based on patches from
Alan Modra <alan@spri.levels.unisa.edu.au>:
	* configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
	New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
	SHLIB_CFLAGS, COMMON_SHLIB, SHLINK.
	* configure: Rebuild.
	* Makefile.in (ALLLIBS): New variable.
	(PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
	(COMMON_SHLIB, SHLINK): New variables.
	(.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
	(STAGESTUFF): Remove variable.
	(all): Depend upon $(ALLLIBS) rather than $(TARGETLIB).
	(stamp-piclist, piclist): New targets.
	($(SHLIB), $(SHLINK)): New targets.
	($(OFILES)): Depend upon stamp-picdir.
	(disassemble.o): Build twice if PICFLAG is set.
	(MOSTLYCLEAN): Add pic/*.o.
	(clean): Remove $(SHLIB), $(SHLINK), piclist, and stamp-piclist.
	(distclean): Remove pic and stamp-picdir.
	(install): Install shared libraries.
	(stamp-picdir): New target.
1996-02-05 21:17:52 +00:00
Ian Lance Taylor
9fcea7ef3b * dis-buf.c: Include "sysdep.h" before "dis-asm.h". 1996-01-30 19:09:20 +00:00
Ian Lance Taylor
931c53ab74 * i386-dis.c (print_insn_i386): Only fetch the mod/reg/rm byte
when necessary.  From Ulrich Drepper
	<drepper@myware.rz.uni-karlsruhe.de>.
1996-01-25 16:57:52 +00:00
David Edelsohn
ca4cb8bca2 * sparc-dis.c (print_insn_sparc): NUMOPCODES replaced with
sparc_num_opcodes.  Update architecture enum values.
	* sparc-opc.c (sparc_opcode_archs): Replaces architecture_pname.
	(sparc_opcode_lookup_arch): New function.
	(sparc_num_opcodes): Renamed from bfd_sparc_num_opcodes.
	(sparc_opcodes): Add v9a shutdown insn.
1996-01-25 11:42:18 +00:00
David Edelsohn
986c92a711 * sparc-dis.c (print_insn_sparc): Renamed from print_insn.
If DISASM_RAW_INSN, print insn in hex.  Handle v9a as opcode
	architecture.
	(print_insn_sparc64): Deleted.
	* disassemble.c (disassembler, case bfd_arch_sparc): Always use
	print_insn_sparc.
1996-01-23 00:55:40 +00:00
David Edelsohn
79ae32abcc * disassemble.c (disassembler, case bfd_arch_sparc): bfd_mach_sparc64
renamed to bfd_mach_sparc_v9.  Check for bfd_mach_sparc_v9a.
1996-01-22 23:19:04 +00:00
David Edelsohn
187fddf78c * sparc-opc.c (architecture_pname): Add v9a.
The actual insns haven't been added yet.
1996-01-22 16:34:01 +00:00
Jim Wilson
48573afd23 Remove SH3e sanitization. 1996-01-16 20:13:27 +00:00
Ian Lance Taylor
6ddc0baaf9 Fri Jan 12 14:35:58 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* alpha-opc.h (alpha_insn_set): VAX floating point opcode was
 	incorrectly defined as 0x16 when it should be 0x15.
	(FLOAT_FORMAT_MASK): function code is 11 bits, not just 7 bits!
	(alpha_insn_set): added cvtst and cvttq float ops.  Also added
 	excb (exception barrier) which is defined in the Alpha
 	Architecture Handbook version 2.
	* alpha-dis.c (print_insn_alpha): Fixed special-case decoding for
 	OPERATE_FORMAT_CODE type instructions.  The bug caused mulq to be
 	disassembled as or, for example.
1996-01-12 19:37:58 +00:00
Ian Lance Taylor
fef0b65b71 * mips-dis.c (print_insn_arg): Print cases 'i' and 'u' in hex.
(_print_insn_mips): Change i from int to unsigned int.
1996-01-10 17:37:58 +00:00
Michael Meissner
3cf013f81b Fix tlb for PowerPC 1996-01-05 17:46:25 +00:00
Michael Meissner
1d935cf62c Add Pentium Pro support 1996-01-03 16:51:46 +00:00
Ian Lance Taylor
ab0ec5d046 * disassemble.c (disassembler): Use new bfd_big_endian macro. 1995-12-15 21:45:00 +00:00
Ian Lance Taylor
1d77631329 * Makefile.in (distclean): Remove stamp-h. From Ronald
F. Guilmette <rfg@monkeys.com>.
1995-12-12 17:23:11 +00:00
Stan Shebs
211eda6694 From David Mosberger-Tang <davidm@azstarnet.com>:
* alpha-dis.c (print_insn_alpha): fixed decoding of cpys
        instruction.
1995-12-05 21:55:18 +00:00
J.T. Conklin
60da007931 * sh-opc.h (sh_arg_type): Added A_SSR and A_SPC.
(sh_table): Added many SH3 opcodes.
* sh-dis.c (print_insn_shx): Added cases for A_SSR and A_SPC.
1995-12-04 20:32:44 +00:00
Michael Meissner
695b028f51 Fix subfc.,subfco,subco,subco. to be in the proper classifications 1995-12-01 12:40:39 +00:00
Ian Lance Taylor
bd22cd1e3f * configure: Rebuild with autoconf 2.7. 1995-11-27 18:11:02 +00:00
Ian Lance Taylor
00103dfa57 * configure: Rebuild with autoconf 2.6. 1995-11-21 23:28:45 +00:00
Ian Lance Taylor
a3cf92e5b2 * a29k-dis.c (print_special): Change num to unsigned int.
Wed Nov  8 20:10:35 1995  Eric Freudenthal <freudenthal@nyu.edu>

	* a29k-dis.c (print_insn): Cast insn24 to unsigned long when
	shifting it.
1995-11-09 01:20:32 +00:00
Ian Lance Taylor
6a46885044 * configure.in: Call AC_CHECK_PROG to find and cache AR.
* configure: Rebuilt.
1995-11-07 20:21:37 +00:00
Ian Lance Taylor
f98c336946 Mon Nov 6 17:39:47 1995 Harry Dolan <dolan@ssd.intel.com>
* configure.in: Add case for bfd_i860_arch.
	* configure: Rebuild.
1995-11-06 22:42:13 +00:00
Ian Lance Taylor
681447c6cf * m68k-opc.c (m68k_opcodes): Correct fmoveml operands.
* m68k-dis.c (NEXTSINGLE): Change i to unsigned int.
	(NEXTDOUBLE): Likewise.
	(print_insn_m68k): Don't match fmoveml if there is more than one
	register in the list.
	(print_insn_arg): Handle a place of '8' for a type of 'L'.
1995-11-03 17:56:30 +00:00
Ian Lance Taylor
dbf7e45f16 * m68k-opc.c: Use #W rather than #w.
* m68k-dis.c (print_insn_arg): Handle new 'W' place.
1995-11-03 04:07:21 +00:00
Ian Lance Taylor
681bbcf570 * m68k-opc.c (m68k_opcode_aliases): Add dbfw as an alias for dbf,
and likewise for all the dbxx opcodes.
1995-11-01 18:34:56 +00:00
Fred Fish
76ab264518 * arc-dis.c: Include elf-bfd.h rather than libelf.h. 1995-11-01 00:01:39 +00:00
Jackie Smith Cashion
a2bdba3135 mips-opc.c: Added shorthand (V1) for INSN_4100 manifest. Added the
VR4100 specific instructions to the mips_opcodes structure.
1995-10-23 11:14:17 +00:00
Stan Shebs
0d0c3cc58a * mpw-config.in, mpw-make.sed: Remove ugly workaround for
ugly Metrowerks bug in CW6, is fixed in CW7.
1995-10-19 18:11:54 +00:00
Michael Meissner
d75c2e0f5e Add flags for common/any support 1995-10-16 17:00:16 +00:00
Ken Raeburn
9e0b0ae7fa Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* m68k-dis.c (print_insn_m68k): Recognize all two-word instructions that take
no args by looking at the match mask.
(print_insn_arg): Always print "%" before register names.
[case 'c']: Use "nc" for the no-cache case, as recognized by gas.
[case '_']: Don't print "@#" before address.
[case 'J']: Use "%s" as format string, not register name.
[case 'B']: Treat place == 'C' like 'l' and 'L'.
1995-10-06 20:59:33 +00:00
Ken Raeburn
726257a8b8 * i386-dis.c: Describe cmpxchg8b operand, and spell the opcode name correctly. 1995-10-06 02:17:12 +00:00
Steve Chamberlain
e521d840f4 From David Mosberger-Tang <davidm@azstarnet.com>
* alpha-opc.h (MEMORY_FUNCTION_FORMAT_MASK): added.
  	(alpha_insn_set): added definitions for VAX floating point
 	instructions (Unix compilers don't generate these, but handcoded
 	assembly might still use them).

	* alpha-dis.c (print_insn_alpha): added support for disassembling
 	the miscellaneous instructions in the Alpha instruction set.
1995-10-03 15:35:55 +00:00
Stan Shebs
077bd46ae3 mpw-make.in is out, mpw-make.sed is in. 1995-09-27 02:05:39 +00:00
Stan Shebs
cf9dcb11d0 * mpw-config.in: Add m68k-opc.c.o to BFD_MACHINES for m68k,
no longer create sysdep.h, sed ppc-opc.c to work around a
	serious Metrowerks C bug.
	* mpw-make.in: Remove.
	* mpw-make.sed: New file, used by mpw-configure to edit
	Makefile.in into an MPW makefile.
1995-09-27 01:53:07 +00:00
Ian Lance Taylor
1cd3bab3a0 * Makefile.in (maintainer-clean): New synonym for realclean. 1995-09-20 16:58:57 +00:00
Ian Lance Taylor
a4a879cde2 * m68k-opc.c: Split pmove patterns which use 'P' into patterns
which use '0', '1', and '2' instead.  Specify the proper size for
	a pmove immediate operand.  Correct the pmovefd patterns to be
	moves to a register, not from a register.
	* m68k-dis.c (print_insn_arg): Replace 'P' with '0', '1', '2'.
1995-09-19 19:31:25 +00:00
David Edelsohn
4814df240e * sparc-opc.c (sparc_opcodes): Mark all insns that reference
%psr, %wim, %tbr as F_NOTV9.
1995-09-14 19:00:40 +00:00
Ian Lance Taylor
824155e843 * Makefile.in (Makefile): Just rebuild Makefile when running
config.status.
	(config.h, stamp-h): New targets.
	* configure.in: Call AC_CONFIG_HEADER and AC_CANONICAL_SYSTEM
	earlier.  Don't bother to call AC_ARG_PROGRAM.  Touch stamp-h when
	rebuilding config.h.
	* configure: Rebuild.
1995-09-08 15:30:49 +00:00
Ian Lance Taylor
84c1534f02 * mips-opc.c: Change unaligned loads and stores with "t,A"
operands to use "t,A(b)".
PR 7947.
1995-09-08 05:08:38 +00:00
Ian Lance Taylor
40db611884 * Makefile.in (ALL_CFLAGS): Define.
(.c.o, disassemble.o): Use $(ALL_CFLAGS).
	(MOSTLYCLEAN): Add config.log.
	(distclean): Don't remove config.log.
	* configure.in: Substitute HDEFINES.
	* configure: Rebuild.
1995-09-07 01:23:22 +00:00
Jim Wilson
dd6ed5ab2d Fix gas bugs in SH3e handling of fmac instruction. 1995-09-06 22:12:14 +00:00
David Edelsohn
49cb62cd75 * sparc-dis.c: Remove all references to NO_V9. 1995-09-06 01:28:55 +00:00
Ian Lance Taylor
beb926c072 * aclocal.m4: Just include ../bfd/aclocal.m4.
* configure: Rebuild.
1995-09-06 00:03:55 +00:00
David Edelsohn
fdd7e4eff1 * sparc-dis.c (X_DISP19): Define.
(print_insn, case 'G'): Use it.
	(print_insn, case 'L'): Sign extend displacement.
1995-09-05 23:12:27 +00:00
Ian Lance Taylor
9b65d5229b * configure.in: Run ../bfd/configure.host before AC_PROG_CC.
Subsitute CFLAGS and AR.  Call AC_PROG_INSTALL.  Don't substitute
	host_makefile_frag or frags.
	* aclocal.m4: New file.
	* configure: Rebuild.
	* Makefile.in (INSTALL): Set to @INSTALL@.
	(INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
	(INSTALL_DATA): Set to @INSTALL_DATA@.
	(AR): Set to @AR@.
	(AR_FLAGS): Set to rc rather than qc.
	(CC): Define as @CC@.
	(CFLAGS): Set to @CFLAGS@.
	(@host_makefile_frag@): Remove.
	(config.status): Remove dependency upon @frags@.
1995-09-04 21:13:22 +00:00
Ian Lance Taylor
c62d12746b * configure.in: ../bfd/config.bfd now just sets shell variables.
Use them rather than looking through target Makefile fragments.
	* configure: Rebuild.
1995-09-04 18:31:33 +00:00
Jim Wilson
db29ae72fc Fix bug in SH3e ftrc instruction. 1995-08-31 19:37:41 +00:00
David Edelsohn
90c45f319f * sparc-opc.c (sparc_opcodes): Delete duplicate wr %y insn.
Add clrx, iprefetch, signx, clruw, cas, casl, casx, casxl synthetic
	sparc64 insns.
1995-08-30 23:17:12 +00:00
David Edelsohn
a69d3a7286 sparc prefetch insn stuff. 1995-08-30 20:57:07 +00:00
David Edelsohn
a52f75a078 * sparc-opc.c (sparc_opcodes, prefetcha insn): Fix.
(lookup_{name,value}): New functions.
	(prefetch_table): New static local.
	(sparc_{encode,decode}_prefetch): New functions.
	* sparc-dis.c (print_insn): Handle '*' arg (prefetch function).
1995-08-30 20:55:51 +00:00
Jim Wilson
9b39b1a8f7 Add some blank lines to improve readability. 1995-08-30 18:13:26 +00:00
Jim Wilson
66f6448d40 Correct comment on first line of file. 1995-08-30 18:10:51 +00:00
David Edelsohn
201bf50690 * disassemble.c (disassembler): Handle bfd_mach_sparc64. 1995-08-30 01:02:59 +00:00
David Edelsohn
7ec658304a * sparc-opc.c (asi): New static local.
(sparc_{encode,decode}_asi): New functions.
	* sparc-dis.c (print_insn): Call sparc_decode_asi.
1995-08-29 22:44:00 +00:00
Ian Lance Taylor
259d19c2be * m68k-opc.c (m68k_opcode_aliases): Add bhib as an alias for bhis,
and likewise for the other branches.  Add bhs as an alias for bcc,
	and likewise for the size variants.  Add dbhs as an alias for
	dbcc.
1995-08-21 21:34:54 +00:00
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
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