2001-07-26  Chris Demetriou  <cgd@broadcom.com>

	* gas/mips/lif-empic.d: Add back dollar signs before floating
	point register names.

2001-07-26  Alan Modra  <amodra@bigpond.net.au>

	* gas/i386/relax.s: Test rs_space.
	* gas/i386/relax.d: Update.

2001-07-23  Alan Modra  <amodra@bigpond.net.au>

	* gas/i386/opcode.d: Tweak lgdt for 2001-07-18 change.
	* gas/i386/intel.d: Likewise.

2001-07-16  Philip Blundell  <philb@gnu.org>

	* gas/arm/arm7t.d, gas/arm/inst.d: Tweak expected output for
	change to disassembler.

2001-07-14  Nick Clifton  <nickc@cambridge.redhat.com>

	Fix failures in MIPS testsuite:
	* gas/mips/abs.d: Pass -march=4000 to gas.
	* gas/mips/eld_rel2.d: Do not expect zeroes at end of dump.
	* gas/mips/elf_e_flags1.d: Pass -march=4000 to gas.

2001-07-08  Anders Norlander <anorland@synergenix.se>

	* gas/all/gas.exp: Run incbin test.
	* gas/all/incbin.s: New file.
	* gas/all/incbin.d: New file.

2001-07-04  Richard Sandiford  <rsandifo@redhat.com>

	* gas/mips/elf-rel3.s: Add zero word to end of file.

2001-07-03  H.J. Lu  <hjl@gnu.org>

	* gas/mips/lb-xgot-ilocks.d: Add -march=r3900.

2001-07-01  Ben Elliston  <bje@redhat.com>

	* gas/m88k/allinsn.s: New file.
	* gas/m88k/allinsn.d: Likewise.
	* gas/m88k/m88k.exp: Test with allinsn.s also.

2001-06-28  Eric Christopher  <echristo@redhat.com>

	* gas/mips/usd.d: Change for march/mtune.
	* gas/mips/ulh-xgot.d: Ditto.
	* gas/mips/uld.d: Ditto.
	* gas/mips/trunc.d: Ditto.
	* gas/mips/rol.d: Ditto.
	* gas/mips/nodelay.d: Ditto.
	* gas/mips/mul.d: Ditto.
	* gas/mips/mul-ilocks.d: Ditto.
	* gas/mips/trap20.d: Ditto.
	* gas/mips/mips4.d: Ditto.
	* gas/mips/mips16.d: Ditto.
	* gas/mips/lif-xgot.d: Ditto.
	* gas/mips/lif-svr4pic.d: Ditto.
	* gas/mips/ld-xgot.d: Ditto.
	* gas/mips/ld-svr4pic.d: Ditto.
	* gas/mips/ld-ilocks-addr32.d: Ditto.
	* gas/mips/lb-xgot.d: Ditto.
	* gas/mips/jal-xgot.d: Ditto.
	* gas/mips/jal-svr4pic.d: Ditto.
	* gas/mips/delay.d: Ditto.
	* gas/mips/lb-xgot-ilocks.d: Ditto.
	* gas/mips/div.d: Ditto.
	* gas/mips/break20.d: Ditto.
	* gas/mips/delay.d: Ditto.
	* gas/mips/elf_e_flags3.d: Ditto.
	* gas/mips/elf_e_flags4.d: Ditto.
	* gas/mips/lineno.d: Ditto.
	* gas/mips/mips16.d: Ditto.
	* gas/mips/mips4.d: Ditto.
	* gas/mips/mips4010.d: Ditto.
	* gas/mips/mips4650.d: Ditto.

2001-06-21  Nick Clifton  <nickc@cambridge.redhat.com>

	* gas/arm/arm.exp: Remove msr-bad.s test.
	Select processor type for architecture specific instruction tests.

	* gas/arm/adrl.s: Add adrEQl as a test.
	* gas/arm/adrl.d: Adjusted expected output.

	* gas/arm/arm7dm.s: Add "msr CPSR_x, #0" as a test instruction.
	* gas/arm/msr-bad.s: Delete.

2001-06-18  Tom Rix  <trix@redhat.com>

	* gas/ppc/aix.exp: New file, aix specific tests.
	* gas/ppc/align.s: New file, .comm alignment test.

2001-06-13  Andreas Jaeger  <aj@suse.de>

	* gas/vtable/vtable.exp (run_list_test): Don't run on sparc64.

2001-06-06  Peter Jakubek <pjak@snafu.de>

	* gas/mri/for.d: Correct for swapped operands.
        * gas/mri/if.d: Likewise.
        * gas/mri/repeat.d: Likewise.
        * gas/mri/while.d: Likewise.

2001-06-12  Alan Modra  <amodra@bigpond.net.au>

	* gas/i386/x86_64.d: Update for 2001-06-11 disassembler change.

2001-06-10  H.J. Lu  <hjl@gnu.org>

	* gas/elf/section2.l: Match various white spaces.

2001-06-10  H.J. Lu  <hjl@gnu.org>

	* gas/elf/section2.e: Support 64bit ELF.
	* gas/elf/section2.e-mips: Likewise.

2001-06-08  H.J. Lu  <hjl@gnu.org>

	* gas/mips/elfel-rel3.s: Moved to ...
	* gas/mips/elf-rel3.s: Here.

	* gas/mips/elf-rel3.d: Updated.

	* gas/mips/elfel-rel3.d: Updated.

	* gas/mips/relax.d: New file.
	* gas/mips/relax.s: Likewise.

	* gas/mips/mips.exp: Run relax and set xfail.

2001-06-08  H.J. Lu  <hjl@gnu.org>

	* gas/mips/illegal.s: New file.
	* gas/mips/illegal.l: Likewise.

	* gas/elf/elf.exp (run_list_test): New.
	Run illegal with run_list_test.

2001-06-08  H.J. Lu  <hjl@gnu.org>

	* gas/mips/elf-jal.d: New file.

	* gas/mips/mips.exp: Run "elf-jal" instead of "jal" for ELF.

2001-06-08  Alan Modra  <amodra@bigpond.net.au>

	* gas/elf/elf.exp (run_list_test): Undo $readelf change in 2001-06-07.

2001-06-07  H.J. Lu  <hjl@gnu.org>

	* gas/elf/section2.e-mips: New file.

	* gas/elf/elf.exp (run_list_test): Add suffix.
	Pass -mips as suffix to run_list_test for mips.

2001-06-07  H.J. Lu  <hjl@gnu.org>

	* gas/elf/section2.l: Match ".*GAS.*" instead of
	"GAS LISTING .*".

2001-06-07  H.J. Lu  <hjl@gnu.org>

	* gas/mips/mips.exp: Set xfail for "lineno" on Linux/mips.

2001-06-07  H.J. Lu  <hjl@gnu.org>

	* gas/mips/empic.d: Support stabs.
	* gas/mips/mips16-e.d: Likewise.
	* gas/mips/mips16-f.d: Likewise.
	* gas/mips/mipsel16-f.d: Likewise.
	* gas/mips/telempic.d: Likewise.
	* gas/mips/tempic.d: Likewise.
	* gas/mips/tmips16-e.d: Likewise.
	* gas/mips/tmipsel16-e.d: Likewise.

2001-06-06  H.J. Lu  <hjl@gnu.org>

	* gas/mips/elf-rel3.s: New file.
	* gas/mips/elf-rel3.d: Likewise.
	* gas/mips/elfel-rel3.s: Likewise.
	* gas/mips/elfel-rel3.d: Likewise.

	* gas/mips/mips.exp: Run elf-rel3/elfel-rel3.

2001-06-06  H.J. Lu  <hjl@gnu.org>

	* gas/elf/elf.exp (run_list_test): New.
	Run section2 with run_list_test.

	* gas/elf/section2.e: New file.
	* gas/elf/section2.l: Likewise.
	* gas/elf/section2.s: Likewise.

2001-06-04  H.J. Lu  <hjl@gnu.org>

	* gas/mips/mips4010.s: Add the missing ".end".
	* gas/mips/mips4100.s: Likewise.
	* gas/mips/mips4650.s: Likewise.
	* gas/mips/sync.s: Likewise.

2001-06-02  H.J. Lu  <hjl@gnu.org>

	* gas/sparc/unalign.d: Support Sparc V9.

2001-05-28  Jeff Sturm  <jsturm@one-point.com>

	* gas/sparc/unalign.s: New test.  Check unaligned relocs.
	* gas/sparc/unalign.d: New expected test results.
	* gas/sparc/sparc.exp: Run new test.

2001-05-27  Hans-Peter Nilsson  <hp@axis.com>

	* gas/cris/addi.d: Tweak for 64-bit BFD.
	* gas/cris/binop-cmpmove.d: Ditto.
	* gas/cris/binop-cmpmovx.d: Ditto.
	* gas/cris/binop-extx.d: Ditto.
	* gas/cris/binop.d: Ditto.
	* gas/cris/bork.d: Ditto.
	* gas/cris/branch.d: Ditto.
	* gas/cris/break.d: Ditto.
	* gas/cris/brokw-1.d: Ditto.
	* gas/cris/brokw-2.d: Ditto.
	* gas/cris/brokw-3.d: Ditto.
	* gas/cris/ccr.d: Ditto.
	* gas/cris/clear.d: Ditto.
	* gas/cris/continue.d: Ditto.
	* gas/cris/fragtest.d: Ditto.
	* gas/cris/jump-type.d: Ditto.
	* gas/cris/labfloat.d: Ditto.
	* gas/cris/macroat.d: Ditto.
	* gas/cris/movem-to-reg.d: Ditto.
	* gas/cris/nosep.d: Ditto.
	* gas/cris/oneop-type.d: Ditto.
	* gas/cris/prefix.d: Ditto.
	* gas/cris/pushpop-byte-sreg.d: Ditto.
	* gas/cris/pushpop-dword-sreg.d: Ditto.
	* gas/cris/pushpop-word-sreg.d: Ditto.
	* gas/cris/pushpop.d: Ditto.
	* gas/cris/quick-s6.d: Ditto.
	* gas/cris/quick-u5.d: Ditto.
	* gas/cris/quick-u6.d: Ditto.
	* gas/cris/range-err-1.s: Ditto.
	* gas/cris/rd-pic-1.d: Ditto.
	* gas/cris/rd-regprefix-1.d: Ditto.
	* gas/cris/rd-regprefix-1b.d: Ditto.
	* gas/cris/reg-to-mem.d: Ditto.
	* gas/cris/regreg.d: Ditto.
	* gas/cris/return.d: Ditto.
	* gas/cris/scc.d: Ditto.
	* gas/cris/separator.d: Ditto.
	* gas/cris/shexpr-1.d: Ditto.
	* gas/cris/sreg-to-x.d: Ditto.
	* gas/cris/test.d: Ditto.
	* gas/cris/unimplemented.d: Ditto.
	* gas/cris/unop-mem.d: Ditto.
	* gas/cris/x-to-byte-sreg.d: Ditto.
	* gas/cris/x-to-dcr1-sreg.d: Ditto.
	* gas/cris/x-to-dword-sreg.d: Ditto.
	* gas/cris/x-to-word-sreg.d: Ditto.
	* gas/cris/shexpr-1.d: Ditto.  Correct format.

2001-05-25  H.J. Lu  <hjl@gnu.org>

	* gas/mips/e32el-rel2.d: New for little endian mips.
	* gas/mips/elfel-rel2.d: Likewise.
	* gas/mips/elfel-rel.d: Likewise.
	* gas/mips/mipsel16-f.d: Likewise.
	* gas/mips/telempic.d: Likewise.
	* gas/mips/tmipsel16-e.d: Likewise.

	* gas/mips/tempic.d: New for traditional mips.
	* gas/mips/tmips16-e.d: Likewise.

	* gas/mips/elf-rel.d: Handle alignment padding.
	* gas/mips/elf-rel2.d: Likewise.

	* gas/mips/mips.exp: Support little endian and traditional
	mips.

2001-05-24  H.J. Lu  <hjl@gnu.org>

	* gas/m68k/pcrel.d: Support 64bit BFD.

2001-05-24  H.J. Lu  <hjl@gnu.org>

	* gas/arm/adrl.d: Support 64bit BFD.
	* gas/arm/arm7t.d: Likewise.
	* gas/arm/inst.d: Likewise.
	* gas/arm/pic.d: Likewise.
	* gas/arm/xscale.d: Likewise.

2001-05-23  Alan Modra  <amodra@one.net.au>

	* gas/elf/ehopt0.d: Tweak for bigendian targets.

2001-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>

	* gas/mips/abs.d: Remove $ before register names, per latest
	disassembler.
	* gas/mips/add.d: Ditto.
	* gas/mips/and.d: Ditto.
	* gas/mips/beq.d: Ditto.
	* gas/mips/bge.d: Ditto.
	* gas/mips/bgeu.d: Ditto.
	* gas/mips/blt.d: Ditto.
	* gas/mips/bltu.d: Ditto.
	* gas/mips/delay.d: Ditto.
	* gas/mips/div-ilocks.d: Ditto.
	* gas/mips/div.d: Ditto.
	* gas/mips/dli.d: Ditto.
	* gas/mips/elf_e_flags1.d: Ditto.
	* gas/mips/elf_e_flags2.d: Ditto.
	* gas/mips/elf_e_flags3.d: Ditto.
	* gas/mips/elf_e_flags4.d: Ditto.
	* gas/mips/jal-empic.d: Ditto.
	* gas/mips/jal-svr4pic.d: Ditto.
	* gas/mips/jal-xgot.d: Ditto.
	* gas/mips/jal.d: Ditto.
	* gas/mips/la-empic.d: Ditto.
	* gas/mips/la-svr4pic.d: Ditto.
	* gas/mips/la-xgot.d: Ditto.
	* gas/mips/la.d: Ditto.
	* gas/mips/lb-empic.d: Ditto.
	* gas/mips/lb-svr4pic.d: Ditto.
	* gas/mips/lb-xgot-ilocks.d: Ditto.
	* gas/mips/lb-xgot.d: Ditto.
	* gas/mips/lb.d: Ditto.
	* gas/mips/ld-empic.d: Ditto.
	* gas/mips/ld-ilocks-addr32.d: Ditto.
	* gas/mips/ld-ilocks.d: Ditto.
	* gas/mips/ld-svr4pic.d: Ditto.
	* gas/mips/ld-xgot.d: Ditto.
	* gas/mips/ld.d: Ditto.
	* gas/mips/li.d: Ditto.
	* gas/mips/lif-empic.d: Ditto.
	* gas/mips/lif-svr4pic.d: Ditto.
	* gas/mips/lif-xgot.d: Ditto.
	* gas/mips/lifloat.d: Ditto.
	* gas/mips/mips16.d: Ditto.
	* gas/mips/mips32.d: Ditto.
	* gas/mips/mips4.d: Ditto.
	* gas/mips/mips4010.d: Ditto.
	* gas/mips/mips4100.d: Ditto.
	* gas/mips/mips4650.d: Ditto.
	* gas/mips/mips64.d: Ditto.
	* gas/mips/mul-ilocks.d: Ditto.
	* gas/mips/mul.d: Ditto.
	* gas/mips/nodelay.d: Ditto.
	* gas/mips/rol.d: Ditto.
	* gas/mips/sb.d: Ditto.
	* gas/mips/trap20.d: Ditto.
	* gas/mips/trunc.d: Ditto.
	* gas/mips/uld.d: Ditto.
	* gas/mips/ulh-empic.d: Ditto.
	* gas/mips/ulh-svr4pic.d: Ditto.
	* gas/mips/ulh-xgot.d: Ditto.
	* gas/mips/ulh.d: Ditto.
	* gas/mips/ulw.d: Ditto.
	* gas/mips/usd.d: Ditto.
	* gas/mips/ush.d: Ditto.
	* gas/mips/usw.d: Ditto.

2001-05-14  Richard Henderson  <rth@redhat.com>

	* gas/elf/ehopt0.s: New.
	* gas/elf/ehopt0.d: New.
	* gas/elf/elf.exp: Run it.

2001-05-12  Peter Targett  <peter.targett@arccores.com>

	* gas/arc/st.s: Add test case @h30 fixup.
	* gas/arc/st.d: Update to suit.

2001-05-12  Alan Modra  <amodra@one.net.au>

	* gas/i386/sse2.s: Correct cvtps2dq, movdq2q, and movq2dq
	* gas/i386/sse2.d: Likewise.  Fix pmuludq and punpckhqdq too.

	* gas/i386/ssemmx2.d: Correct movq.

2001-05-10  Hans-Peter Nilsson  <hp@axis.com>

	* gas/cris/rd-dw2-10.d: Tweak for change in gas dwarf2 line number
	handling.

2001-05-04  Alan Modra  <amodra@one.net.au>

	* gas/i386/katmai.d: Correct pmovmskb and pextrw opcodes.
	* gas/i386/ssemmx2.d: Likewise.  Correct register for pextrw,
	pinsrw, and pmovmskb.
	* gas/i386/sse2.d: Correct register for movmskpd.

2001-05-02  Johan Rydberg  <jrydberg@opencores.org>

        * gas/openrisc/addi.s: New file.
        * gas/openrisc/addi.d: Likewise.
        * gas/openrisc/allinsn.exp: Likewise.
        * gas/openrisc/allinsn.s: Likewise.
        * gas/openrisc/allinsn.d: Likewise.
        * gas/openrisc/lohi.s: Likewise.
        * gas/openrisc/lohi.d: Likewise.
        * gas/openrisc/store.s: Likewise.
        * gas/openrisc/store.d: Likewise.

2001-04-05  Hans-Peter Nilsson  <hp@axis.com>

	* gas/cris/rd-dw2-1.d, gas/cris/rd-dw2-2.d, gas/cris/rd-dw2-3.d,
	gas/cris/rd-dw2-4.d, gas/cris/rd-dw2-5.d, gas/cris/rd-dw2-6.d,
	gas/cris/rd-dw2-7.d, gas/cris/rd-dw2-8.d, gas/cris/rd-dw2-9.d,
	gas/cris/rd-dw2-10.d, gas/cris/rd-dw2-11.d, gas/cris/rd-dw2-12.d,
	gas/cris/rd-dw2-13.d, gas/cris/rd-dw2-14.d, gas/cris/rd-dw2-15.d:
	New tests.
	* gas/cris/brokw-2.s: Correct broken-word expansion visualization
	in comment.
	* gas/cris/fragtest.s, gas/cris/rd-pic-1.s,
	gas/cris/binop-cmpmovx.d, gas/cris/binop-cmpmove.d,
	gas/cris/binop.d, gas/cris/binop.s, gas/cris/brokw-2.d,
	gas/cris/clear.d, gas/cris/fragtest.s, gas/cris/jump-type.d,
	gas/cris/nosep.s, gas/cris/pushpop.d, gas/cris/quick.s,
	gas/cris/range-err-2.s, gas/cris/sep-err-1.s,
	gas/cris/sreg-to-x.d, gas/cris/test.d, gas/cris/x-to-byte-sreg.d,
	gas/cris/x-to-word-sreg.d, gas/cris/x-to-dword-sreg.d: Remove
	trailing empty lines.
	* gas/cris/continue.s: Ditto, tweak comment.

	* lib/gas-defs.exp (run_dump_test): Support using readelf.
	* config/default.exp: Default READELF and READELFFLAGS.

2001-03-31  Alan Modra  <alan@linuxcare.com.au>

	* gas/all/cond.s: Add .if .elseif tree.
	* gas/all/cond.d: Match above.

2001-03-30  H.J. Lu  <hjl@gnu.org>

	* gas/i386/relax.d: Dump with -s instead of -drw.

2001-03-29  H.J. Lu  <hjl@gnu.org>

	* gas/i386/relax.s: New test for relaxation between sections.
	* gas/i386/relax.d: New.

	* gas/i386/i386.exp: Add tests for ELF.

2001-03-27  Chris Demetriou  <cgd@broadcom.com>

	* gas/mips/lineno.d: Allow for the possibility that
	the local labels won't be in the objdump output.  Match
	zeros in addresses using '+' for better compatibility with
	different targets.

2001-03-26  Chris Demetriou  <cgd@broadcom.com>

	* gas/mips/sync.s: Declare 'foo' as a function so that this
	test will work on properly on ECOFF targets.

2001-03-24  Alan Modra  <alan@linuxcare.com.au>

	* gas/i386/ssemmx2.s: Change movntq to movntdq.
	* gas/i386/ssemmx2.d: Matching change.

2001-03-23  Hans-Peter Nilsson  <hp@axis.com>

	* gas/cris/pic-err-1.s, gas/cris/rd-pic-1.s, gas/cris/rd-pic-1.d:
	New tests.

	* gas/cris/branch-warn-1.s, gas/cris/branch-warn-2.s,
	gas/cris/branch-warn-3.s: Tweak for fixed FIXME:s.

2001-03-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* gas/vax/quad.exp: Correct expected result.

2001-03-19  Andreas Schwab  <schwab@suse.de>

	* gas/m68k/pcrel.s: Force alignment to 8 byte boundary to get
	consistent output across targets.
	* gas/m68k/pcrel.d: Adjusted.

2001-03-18  H.J. Lu  <hjl@gnu.org>

	* gas/i386/intel.s: Move PIC code to ...
	* gas/i386/intelpic.s: New. Here.
	* gas/i386/intel.d: Updated.
	* gas/i386/intelpic.d: New.

	* gas/i386/i386.exp: Check PIC code in Intel syntax for ELF
	targets only.

2001-03-18  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* gas/mri/mri.exp: Fix test of m6811/m6812 targets.

2001-02-26  H.J. Lu  <hjl@gnu.org>

	* gas/ia64/opc-a-err.l: Change "Operand [3|4]" to "Operand [34]".

2001-02-23  H.J. Lu  <hjl@gnu.org>

	* gas/ia64/opc-a-err.l: Fix "cmp4.lt.or".

	* gas/ia64/opc-a.pl: Add tests for pseudo-ops for "cmp" and
	"cmp4".
	* gas/ia64/opc-a.s: Rebuilt.
	* gas/ia64/opc-a.d: Likewise.

2001-02-17  Chris Demetriou  <cgd@broadcom.com>

	* gas/mips/mips32.d: Remove ELF dependencies.  This test
	wasn't meant to be ELF specific, and doesn't have to be.
	* gas/mips/mips64.d: Likewise.

2001-02-17  Chris Demetriou  <cgd@broadcom.com>

	* gas/mips/mips.exp: Don't attempt the elf_e_flags family of
	tests if not ELF; they test ELF-specific features.

2001-02-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* gas/mri/mri.exp: Don't execute the M68K specific tests
	on m6811-elf and m6812-elf targets, still run the generic MRI tests.

2001-02-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* gas/m68hc11/malis.s: New test to verify compliance with Motorola
	Assembly Language Input Standard.
	* gas/m68hc11/malis.d: New file.
	* gas/m68hc11/malis-include.s: New file.
	* gas/m68hc11/all.exp: Add the new test.

2001-01-12  Alan Modra  <alan@linuxcare.com.au>

	* gas/i386/i386.exp (gas_64_check): Correct target string.
	Use gas_64_check rather than target string to decided whether
	x86_64 checks should run.

	* gas/i386/sse2.s: Add a label to cure objdump "no symbols" error.
	* gas/i386/ssemmx2.s: Likewise.
	* gas/i386/sse2.d: Update to suit.
	* gas/i386/ssemmx2.s: Likewise.

2001-01-11  Peter Targett <peter.targett@arccores.com>

	* gas/arc/alias.*: Removed.
	* gas/arc/branch.*: Likewise.
	* gas/arc/insn3.*: Likewise.
	* gas/arc/math.*: Likewise.
	* gas/arc/sshift.*: Likewise.
	* gas/arc/arc.exp: Simplified test process for base case
	instruction set by adding run_dump_test cases for all base
	instructions.
	* gas/arc/adc.s, gas/arc/adc.d: New test cases and dump.
	* gas/arc/add.s, gas/arc/add.d: Likewise.
	* gas/arc/and.s, gas/arc/and.d: Likewise.
	* gas/arc/asl.s, gas/arc/asl.d: Likewise.
	* gas/arc/asr.s, gas/arc/asr.d: Likewise.
	* gas/arc/b.s, gas/arc/b.d: Likewise.
	* gas/arc/bic.s, gas/arc/bic.d: Likewise.
	* gas/arc/bl.s, gas/arc/bl.d: Likewise.
	* gas/arc/brk.s, gas/arc/brk.d: Likewise.
	* gas/arc/extb.s, gas/arc/extb.d: Likewise.
	* gas/arc/extw.s, gas/arc/extw.d: Likewise.
	* gas/arc/flag.s, gas/arc/flag.d: Likewise.
	* gas/arc/j.s, gas/arc/j.d: Likewise.
	* gas/arc/jl.s, gas/arc/jl.d: Likewise.
	* gas/arc/ld.s, gas/arc/ld.d: Likewise.
	* gas/arc/ld2.s, gas/arc/ld2.d: Likewise.
	* gas/arc/lp.s, gas/arc/lp.d: Likewise.
	* gas/arc/lsr.s, gas/arc/lsr.d: Likewise.
	* gas/arc/mov.s, gas/arc/mov.d: Likewise.
	* gas/arc/nop.s, gas/arc/nop.d: Likewise.
	* gas/arc/or.s, gas/arc/or.d: Likewise.
	* gas/arc/rlc.s, gas/arc/rlc.d: Likewise.
	* gas/arc/ror.s, gas/arc/ror.d: Likewise.
	* gas/arc/rrc.s, gas/arc/rrc.d: Likewise.
	* gas/arc/sbc.s, gas/arc/sbc.d: Likewise.
	* gas/arc/sexb.s, gas/arc/sexb.d: Likewise.
	* gas/arc/sexw.s, gas/arc/sexw.d: Likewise.
	* gas/arc/sleep.s, gas/arc/sleep.d: Likewise.
	* gas/arc/add.s, gas/arc/add.d: Likewise.
	* gas/arc/st.s, gas/arc/st.d: Likewise.
	* gas/arc/sub.s, gas/arc/sub.d: Likewise.
	* gas/arc/swi.s, gas/arc/swi.d: Likewise.
	* gas/arc/xor.s, gas/arc/xor.d: Likewise.
	* gas/arc/warn.s: Removed warning test case for setting of flags
	followed by conditional branch, an arc5 only feature.

	* gas/ieee-fp/x930509a.exp: Skip test if target also arc*-*-*.

	* gas/vtable/vtable.exp: Skip tests if target also arc*-*-*.

2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* gas/m68hc11/opers12.s: Add more tests for index post byte.
	* gas/m68hc11/opers12.d: Likewise.

2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* gas/m68hc11/all.exp: Add new tests for dwarf2.
	* gas/m68hc11/lbranch-dwarf2.d: New file, test for dwarf2.
	* gas/m68hc11/opers12-dwarf2.d: Likewise.
	* gas/m68hc11/insns-dwarf2.d: Likewise.

2001-01-11  Nick Clifton  <nickc@redhat.com>

	* gas/arm/adrl.s: Add global label 'foo'.
	* gas/arm/adrl.d: Expect to see references to 'foo' in the
	disassembly.  COFF and ELF disassemblys should now be the same.

Wed Jan 10 15:14:54 MET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.exp: Add ssemmx2 and sse2 tests.
	(sse2.d, sse2.s, ssemmx2.d, ssemmx2.s): New tests.

2001-01-09  Nick Clifton  <nickc@redhat.com>

	* gas/arm/pic.d: Fix patterns to match new behaviour of
	disassembler.
	inst.d: Fix patterns to match new behaviour of disassembler.

2001-01-03  Philip Blundell  <pb@futuretv.com>

	* gas/vtable/vtable.exp: Don't run tests on Alpha.

Sat Jan  6 13:34:07 MET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.exp: Add tests for presence of 32bit versus 64bit output
	format; run both 64bit and 32bit tests when format is available;
	add x86_64 test.
	* x86_64.s: New file.
	* x86_64.d: New file.

2001-01-02  Nick Clifton  <nickc@redhat.com>

	* gas/arm/arm.exp: Pass -marmv3 to msr-bad test, since the
	instruction is legal in v5.  Also fix expected error message.

2001-01-01  Philip Blundell  <philb@gnu.org>

	* gas/arm/adrl.s, gas/arm/pic.s, gas/arm/msr-bad.s: New tests.
	* gas/arm/arm.exp: Run them.
	* gas/arm/adrl.d, gas/arm/pic.d: Expected results for above.
	* gas/arm/arm6.s: Also test uppercase `CPSR' and `SPSR'.

2000-12-22  H.J. Lu  <hjl@gnu.org>

	* gas/i386/intel.s: Replace "nop" with ".p2align 4,0".
	* gas/i386/intel.d: Updated.

2000-12-12  Jim Wilson  <wilson@redhat.com>

	* gas/ia64/dv-imply.d, gas/ia64/dv-mutex.d, gas/ia64/dv-safe.d,
	gas/ia64/dv-srlz.d, gas/ia64/opc-m.d: Update.

2000-12-12  Nick Clifton  <nickc@redhat.com>

	* gas/vtable/vtable.exp: Fix formatting.

	* gas/arm/elsegundo.s: New Test (currently disabled).
	* gas/arm/elsegundo.d: Expected test results.

2000-12-11  H.J. Lu  <hjl@gnu.org>

	* gas/i386/intel.d: Adjusted for the a.out assembler.
	* gas/i386/intel.s: Likewise.

2000-12-09  Nick Clifton  <nickc@redhat.com>

	* gas/m68k/pcrel.d: Update to match latest assembler output.

2000-12-02  Chris Demetriou  <cgd@sibyte.com>

        * gas/mips/elf_e_flags.s: Add padding to the end of the
        file so that objdump output will be consistent.
        * gas/mips/elf_e_flags1.d, gas/mips/elf_e_flags2.d,
        gas/mips/elf_e_flags3.d, gas/mips/elf_e_flags4.d: Expect
        "..." at end of objdump output because of zero bytes at end
        of section.
        * gas/mips/elf_e_flags.c: Add note to comment about
        what's changing in elf_e_flags.s.

        * gas/mips/la.s: Add padding to the end of the file so that
        objdump output will be consistent.
        * gas/mips/la-svr4pic.d, gas/mips/la-xgot.d: Expect "..." at
        end of objdump output because of zero bytes at end of
        section.

        * gas/mips/sync.s: Add padding to the end of the file so that
        objdump output will be consistent.
        * gas/mips/sync.d: Expect "..." at end of objdump output
        because of zero bytes at end of section.

        * gas/mips/empic.d: Pad sections out to 16 bytes, to avoid
        alignment issues so tests are useful on multiple targets.
        * gas/mips/empic.s: Likewise.
        * gas/mips/mips16-e.d: Likewise.
        * gas/mips/mips16-e.s: Likewise.
        * gas/mips/mips16-f.d: Likewise.
        * gas/mips/mips16-f.s: Likewise.

        * gas/mips/mips32.d: Expect disassembly of madd and maddu
        to use their correct names.  Add tests for break and sdbbp.
        * gas/mips/mips32.s: Likewise.

        * gas/mips/mips64.s: Add test for assembly of MIPS64
        extensions.
        * gas/mips/mips64.d: Likewise.
        * gas/mips/mips.exp: Test using the new "mips64" test.

2000-12-01  Chris Demetriou  <cgd@sibyte.com>

        * gas/mips/mips16.d: Expect mips16 nops to be used for padding
        when mips16 code generation is enabled.

	* gas/mips/empic.d: Adjust for the fact that the difference
	between two symbols in the same section are not expected to
	generate a reloc.
	* gas/mips/empic.s: Likewise.  Also, correct typo in comment
	about expected relocs.

        * gas/mips/mips32.s, gas/mips/mips32.d: New files for MIPS32
        instruction assembly test.
        * gas/mips/mips.exp: Add the test mentioned above.

2000-11-30  Diego Novillo  <dnovillo@redhat.com>

	* intel.s, intel.d: New test for @GOT references.

2000-11-28  Hans-Peter Nilsson  <hp@bitrange.com>

	* gas/sh/err.exp: New, framework for error-testing.
	* gas/sh/err-1.s: New test.

2000-11-26  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* gas/m68hc11/opers12.s: New test for movw operands.
	* gas/m68hc11/opers12.d: Likewise.

2000-11-24  Nick Clifton  <nickc@redhat.com>

	* arm.exp: Run tests for xscale as well as arm.
	Run xscale tests.

	* xscale.s: New file: XScale instruction tests.
	* xscale.d: New file: Expected XScale instruction results.

2000-11-20  H.J. Lu  <hjl@gnu.org>

	* gas/i386/intel.d: Add 3 "nop"s for the a.out assembler.
	* gas/i386/intel.s: Likewise.

2000-11-16  H.J. Lu  <hjl@gnu.org>

	* gas/symver/symver0.d: Add 64bit support.
	* gas/symver/symver1.d: Likewise.

2000-11-16  H.J. Lu  <hjl@gnu.org>

	* gas/symver/symver.exp: Don't run symver4 nor symver5.

2000-11-13  H.J. Lu  <hjl@gnu.org>

	* gas/symver/symver.exp: New for symver test.
	* gas/symver/symver0.d: Likewise.
	* gas/symver/symver0.s: Likewise.
	* gas/symver/symver1.d: Likewise.
	* gas/symver/symver1.s: Likewise.
	* gas/symver/symver2.l: Likewise.
	* gas/symver/symver2.s: Likewise.
	* gas/symver/symver3.l: Likewise.
	* gas/symver/symver3.s: Likewise.
	* gas/symver/symver4.l: Likewise.
	* gas/symver/symver4.s: Likewise.
	* gas/symver/symver5.l: Likewise.
	* gas/symver/symver5.s: Likewise.
	* gas/symver/symver6.l: Likewise.
	* gas/symver/symver6.s: Likewise.

2000-11-11  Hans-Peter Nilsson  <hp@bitrange.com>

	* gas/macros/macros.exp: Mark strings test xfail for sh.

2000-10-24  Diego Novillo  <dnovillo@cygnus.com>

	* intel.s, intel.d: Add new tests for intel syntax.

2000-10-19  Alan Modra  <alan@linuxcare.com.au>

	* gas/elf/section0.s: Ensure section sizes are multiples of 16.
	* gas/elf/section1.s: Likewise.
	* gas/elf/section[01].d: Change to suit.

2000-10-18  H.J. Lu <hjl@gnu.org>

	* gas/i386/intel.d: Fix the support for 64bit BFD in the last
	change.

2000-10-15  Diego Novillo  <dnovillo@cygnus.com>

	* intel.s, intel.d: Add new tests for naked registers using intel
	syntax.

2000-09-29  Hans-Peter Nilsson  <hp@axis.com>

	* gas/cris/regprefix-err-1.s, gas/cris/rd-regprefix-1.s,
	gas/cris/rd-regprefix-1.d, gas/cris/rd-regprefix-1b.d,
	gas/cris/us-err-1.s, gas/cris/us-err-2.s, gas/cris/us-err-3.s: New.
	* gas/cris/cris.exp: Loop run_dump_test over files matching rd-*.d.

2000-09-28  Alan Modra  <alan@linuxcare.com.au>

	* gas/hppa/parse/parse.exp: Replace "hppa*w-*-*" with "hppa*64*-*-*"
	* gas/hppa/reloc/reloc.exp: Likewise.
	* gas/hppa/unsorted/unsorted.exp: Likewise.

	* gas/hppa/reloc/reduce.s: Modify .PARAM so we need an arg reloc.

2000-09-22  Jim Wilson  <wilson@cygnus.com>

	* gas/ia64/opc-f.pl: Add missing fcmp and fpcmp tests.
	* gas/ia64/opc-f.s, gas/ia64/opc-f.d: Regenerate.

	* gas/ia64/dv-raw-err.s: Add new testcases for PR%, 16 - 62.
	* gas/ia64/dv-waw-err.s: Likewise.
	* gas/ia64/dv-imply.d: Regenerate.
	* gas/ia64/dv-mutex.d, gas/ia64/dv-raw-err.l, gas/ia64/dv-safe.d,
	gas/ia64/dv-srlz.d, gas/ia64/dv-war-err.l, gas/ia64/dv-waw-err.l,
	gas/ia64/opc-f.d, gas/ia64/opc-i.d, gas/ia64/opc-m.d: Likewise.

2000-09-14  Timothy Wall  <twall@cygnus.com>

	* gas/ia64/dv-waw-err.[sl]: Additional tests for parallel
	comparisons which should and should not produce DVs.

2000-09-05  Alan Modra  <alan@linuxcare.com.au>

	* gas/vtable/vtable.exp: Re-enable for hppa-elf.

2000-08-29  Timothy Wall  <twall@cygnus.com>

        * gas/ia64/dv-mutex.s: Add stop to avoid DV error on cmp.eq.
        * gas/ia64/dv-mutex.d: Update regexp pattern.
        * gas/ia64/dv-entry-err.s: Add stop to avoid DV error on cmp.eq.
        * gas/ia64/dv-imply.s: Add stops to avoid DV errors on cmp.REL.
        Test still fails due to insn opcode pattern changes.

2000-08-21  H.J. Lu <hjl@gnu.org>

	* gas/all/cofftag.d: Support the strict COFF.

2000-08-16  Jim Wilson  <wilson@cygnus.com>

	* gas/ia64/dv-raw-err.s: Add new tests for addl and postinc.
	* gas/ia64/dv-raw-err.l: Likewise.
	* gas/ia64/dv-waw-err.l: Update sed pattern.
	* gas/ia64/opc-f.pl: Delete fpsub, and fpadd comment.
	* gas/ia64/opc-f.s, gas/ia64/opc-f.d: Regenerate.

2000-08-16  Nick Clifton  <nickc@redhat.com>

	* gas/arm/inst.s: Add tests for edge cases of shift based
        addressing modes.

	* gas/arm/inst.d: Add expected results for new tests.

2000-07-20  Hans-Peter Nilsson  <hp@axis.com>

	* gas/all/gas.exp: Don't run floating-point tests on CRIS.
	* gas/ieee-fp/x930509a.exp: Ditto.
	* gas/macros/macros.exp: Mark strings test xfail for CRIS.
	* gas/cris/*: New tests for CRIS.

2000-07-19  Alan Modra  <alan@linuxcare.com.au>

	* gas/macros/macros.exp (test1): Run it for hppa*-*-linux*.
	(semi): Likewise.
	(strings): Don't run for hppa, except for hppa*-*-linux*.

	* gas/hppa/parse/linesepbug.s: Ensure we have whitespace before
	pseudos.

2000-07-18  Scott Bambrough  <scottb@netwinder.org>

        * gas/arm/inst.d: Fix expected results to match current assembler
        output.  Patch from Justin Seger <justin.m.seger@intel.com>.

2000-07-10  Alan Modra  <alan@linuxcare.com.au>

	* gas/vtable/vtable.exp: Disable test for hppa.

	* gas/hppa/reloc/reloc.exp (do_relocation_reduction_tests): Don't
	run test for any elf target.
	(applybug): Don't run test for linux.
	* gas/hppa/unsorted/unsorted.exp (do_common_text): Likewise.
	* gas/hppa/parse/parse.exp (linesepbug): Remove xfail
	(labelbug): xfail for hppa-linux.

	* gas/hppa/basic/{coprmem.s, fmemLRbug.s}: Add colons to labels.
	* gas/hppa/parse/{callinfobug.s, regpopbug.s}: Likewise.
	* gas/hppa/reloc/{applybug.s, funcrelocbug.s, longcall.s,
	r_no_reloc.s, reduce3.s}: Likewise.
	* gas/hppa/unsorted/common.s: Likewise.

2000-07-05  Nick Clifton  <nickc@cygnus.com>

	* gas/d30v/inst.d: Fix expected results to match current assembler
	output.
	* gas/d30v/bittest.l: Fix expected warning messages to match
	current assembler output.

2000-06-29  Kazu Hirata  <kazu@hxi.com>

	* gas/h8300/h8300.exp (do_h8300s_mac): Change the registers used
	in ldmac and stmac.
	* gas/h8300/macs.s: Likewise.

2000-06-27  Nick Clifton  <nickc@cygnus.com>

	* gas/d30v/bittest.l: Edit to match new warning messages produced
	by assembler.

2000-06-19  Timothy Wall  <twall@cygnus.com>

	* gas/macros/macros.exp: Avoid tests which are not useful on tic54x.
	* gas/all/gas.exp: Make adjustments for tic54x target.
	* gas/ieee-fp/x930509a.exp: Ditto.
	* gas/tic54x/*: New tests for tic54x.  NOTE: load page has been
	moved into the LMA and is not printed separately by objdump any
	longer.  This still needs to be tested.

2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>

	* gas/m68k/all.exp: Don't execute tests if the target is m68hc11&12.
	* gas/m68hc11/all.exp: Specific tests for m68hc11.
	* gas/m68hc11/all_insns.[ds]: Check m68hc11 instructions.
	* gas/m68hc11/insns[ds]: Another test.
	* gas/m68hc11/lbranch.[ds]: Check branch optimization (gas relax).
	* gas/m68hc11/opers12.[ds]: New files, check m68hc12 operands.

2000-06-17  Alan Modra  <alan@linuxcare.com.au>

	* gas/macros/strings.s: Don't start directives in first column
	(for LABELS_WITHOUT_COLONS targets).

2000-06-14  H.J. Lu <hjl@gnu.org>

	* gas/macros/strings.d: Support a.out and coff.

2000-06-14  Nick Clifton  <nickc@cygnus.com>

	* gas/arm/arm6.s: Remove 'mrs r9, cpsr_all' since the cpsr_all
	flag is no longer legal syntax.

2000-06-09  Nick Clifton  <nickc@cygnus.com>

	* gas/macros/macros.exp: Run new test: strings.
	* gas/macros/strings.s: New test: String expansion inside
	macros.
	* gas/macros/strings.d: New test results.

2000-06-04  Alan Modra  <alan@linuxcare.com.au>

	* gas/i386/prefix.s: Modify so we have at least one x86 test that
	checks the line separator.

Sun May 21 10:08:08 2000  Hans-Peter Nilsson  <hp@axis.com>

	* gas/elf/elf.exp: Exclude *-*-linux*coff* as non-elf.

2000-05-15  Nick Clifton  <nickc@cygnus.com>

	* gas/arm/arch4t.s: Add tests of new fields to msr instruction.

2000-05-11  Ulf Carlsson  <ulfc@engr.sgi.com>

	* gas/mips/mips.exp: Include *-*-linux* in svr4pic.

	* gas/mips/jal-svr4pic.{s,d} gas/mips/jal-xgot.d: Add a jal to a
	weak symbol.

2000-05-08  Alan Modra  <alan@linuxcare.com.au>

	* gas/mri/float.d: Fix for srec length change.

2000-05-02  Alan Modra  <alan@linuxcare.com.au>

	* gas/hppa/unsorted/unsorted.exp: Duplicate hppa*-*-*elf*
	behaviour for hppa*-*-linux* throughout file.
	* gas/hppa/reloc/reloc.exp: Ditto.
	(reduce2.s): Disable test for elf targets.

	* gas/hppa/parse/parse.exp (ssbug.s): setup_xfail hppa*-*-linux*.

	* gas/elf/section0.s: Don't start pseudos on first column so
	targets that define LABELS_WITHOUT_COLONS work.
	* gas/elf/section1.s: Ditto.
	* gas/vtable/inherit0.s: Ditto.
	* gas/vtable/inherit1.s: Ditto.
	* gas/vtable/entry0.s: Ditto.
	* gas/vtable/entry1.s: Ditto.

2000-05-01  Nick Clifton  <nickc@cygnus.com>

	* gasp/macro.out: Fix label numbers to remove leading zeroes.
	* gasp/mdouble.out: Fix label numbers to remove leading zeroes.

2000-04-25  Alan Modra  <alan@linuxcare.com.au>

	* gas/i386/general.l: Allow for DISP32 pe relocs.
	* gas/i386/jump.d: Similarly.

Mon Apr 24 16:35:08 2000  Jim Wilson  <wilson@cygnus.com>

	* gas/ia64/opc-i.d: Change pmin2.u to pmin2.  Change pmax2.u to pmax2.
	Change MLI to MLX.  Switch operands for output matching tbit.z.orcm,
	tbit.z.andcm, tbit.nz.orcm, tbit.nz.andcm, tnat.z.orcm, tnat.z.andcm,
	tnat.nz.orcm, tnat.nz.andcm inputs.
	* gas/ia64/opc-i.pl: Insert padding nops before last dep.
	* gas/ia64/opc-i.s: Regenerate.

	* gas/ia64/opc-i.s: Regenerate.
	* gas/ia64/opc-f.pl: Add explicit stop at end.

2000-04-22  Timothy Wall  <twall@cygnus.com>

	* gas/ia64/opc-f.d: Disassemble zeroes to verify break.f.
	* gas/ia64/opc-f.s: Add an explicit stop to make IAS output match.

Fri Apr 21 13:20:53 2000  Richard Henderson  <rth@cygnus.com>
			  David Mosberger  <davidm@hpl.hp.com>
			  Timothy Wall <twall@cygnus.com>
			  Jim Wilson  <wilson@cygnus.com>

	* gas/vtable/vtable.exp: Disable for ia64.
	* gas/ia64: New testsuite directory.

2000-04-03  Alan Modra  <alan@linuxcare.com.au>

	* gas/i386/general.s: Check 16-bit immediates, and move call/jump
	checks to start.
	* gas/i386/general.l: Likewise.

2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>

	* gas/mn10300/am33_5.s: Check that negative SP offsets are encoded
	with 32 bits, not with the unsigned shorter opcodes.
	* gas/mn10300/basic.exp: Likewise.

2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>

	* lib/gas-defs.exp (regexp_diff): Don't break on the first
	difference, list them all.

2000-03-29  Nick Clifton <nickc@cygnus.com

	* gas/arm/thumb.s: Add test of bal instruction.

2000-03-27  Alan Modra  <alan@linuxcare.com.au>

	* gas/ieee-fp/x930509a.exp (dotest): Fix test for
	LISTING_WORD_SIZE==1.
	* gas/all/gas.exp (do_930509a): Same here.
	* gas/all/cond.d: And here.

2000-03-16  Nick Clifton  <nickc@cygnus.com>

	* gas/arm/arm.exp: Run branch.s test.
	Run tests if target is strongarm.

	* gas/arm/branch.s: New test.  Make sure that assembler can handle
	same-section branch relocations properly.

	* gas/arm/branch.d: New file.  Expected output from assembling
	branch.s.

2000-03-10  Geoffrey Keating  <geoffk@cygnus.com>

	* gas/mips/empic.d: New file.
	* gas/mips/empic.s: New file.
	* gas/mips/mips16-e.d: New file.
	* gas/mips/mips16-e.s: New file.
	* gas/mips/mips16-f.d: New file.
	* gas/mips/mips16-f.s: New file.
	* gas/mips/mips.exp: Add empic, mips16-e.  Add mips16-f as an
	expected failure.

2000-02-25  H.J. Lu <hjl@gnu.org>

	* gas/i386/general.l: Support a.out and coff.

2000-02-25  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/intel.s: New file, intel version of opcode.s
	* gas/i386/intel.d: New file, copy of opcode.d
	* gas/i386/i386.exp: Call it.

	* gas/i386/general.s: Add extra "out" instructions.
	* gas/i386/general.l: Likewise.

2000-01-31  Nick Clifton  <nickc@cygnus.com>

	* gas/arm/inst.s: Include test of ATPCS register naming
	conventions.

	* gas/arm/float.s: Include test of ATPCS register naming
	conventions.

Fri Jan 21 12:48:06 2000  H.J. Lu <hjl@gnu.org>

	* gas/i386/general.l: Support a.out.
	* gas/i386/jump.d: Likewise.
	* gas/i386/jump16.d: Likewise.

2000-01-21  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/general.{s,l}: Move 16 bit jmp and call tests from here
	* gas/i386/jump16.{s,d}: To here.
	* gas/i386/jump.{s,d}: New files.  Duplicate 32 bit jmp and call
	tests in general.s so that objdump is exercised.

	* gas/i386/i386.exp: Call new tests.

2000-01-15  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/general.{s,l}: Add jmp and call tests for .code16gcc,
	.code16, and .code32 modes.

Tue Nov 30 23:02:01 1999  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/{am33.s, am33_2.s, am33_3.s}: New test files.
	* gas/mn10300/{am33_4.s, am33_5.s, am33_6.s}: Likewise.
	* gas/mn10300/{am33_7.s, am33_8.s}: Likewise.
	* gas/mn10300/basic.exp: Run the am33 tests.

1999-11-15  Gavin Romig-Koch  <gavin@cygnus.com>

	* gas/mips/la.d: Adjust for new la macro expansion.
	Change matches for explicit addresses to matches for
	any address.
	* gas/mips/la-xgot.d: Same.
	* gas/mips/la-svr4pic.d: Same.

1999-11-01  Nick Clifton  <nickc@cygnus.com>

	Remove reloc generating references to local labels in test code.
	Some ARM targets (eg PE) generate a reloc based on the label,
	whilst others (eg ELF) generate a reloc based on the section
	symbol.  This meant that the disassembled outputs would differ.

	* gas/arm/inst.s: Change test of BLPL instruction.
	* gas/arm/inst.d: Change expected decode of BLPL instruction.
	* gas/arm/arm7t.s: Remove use of .LC0 label in .word directive.
	Remove .rdata section, since this cannot exist in an arm-aout
	target.
	* gas/arm/arm7t.d: Change expected reloc generated for .word
	directive.

1999-10-21  Nick Clifton  <nickc@cygnus.com>

	* gas/arm/arm7t.d: Update to match latest objdump output.
	* gas/arm/inst.s: Fix erroneous test case.
	* gas/arm/inst.d: Update to match latest objdump output.

Mon Oct 11 13:37:51 1999  Geoffrey Keating  <geoffk@cygnus.com>

	* lib/gas-defs.exp (regexp_diff): Allow '#...' to mean "some
	indeterminate number of extra lines here".

	* gas/elf/elf.exp: Remove XFAILs.
	* gas/elf/section0.d: Make pass on MIPS (and hopefully alpha).
	* gas/elf/section1.d: Likewise.

Thu Oct  7 00:12:04 MDT 1999	Diego Novillo <dnovillo@cygnus.com>

	* gas/d10v: New directory.
	* gas/d10v/d10.exp: New file.
	* gas/d10v/inst.s: New file.
	* gas/d10v/inst.d: New file.

Thu Oct  7 12:52:25 1999  Geoffrey Keating  <geoffk@cygnus.com>

	* gas/mips/elf-rel.s: New file.
	* gas/mips/elf-rel.d: New file.
	* gas/mips/elf-rel2.d: New file.
	* gas/mips/e32-rel2.d: New file.
	* gas/mips/elf-rel2.s: New file.
	* gas/mips/mips.exp: Add elf-rel, elf-rel2.

	* gas/mips/elf_e_flags1.d: Tweak a little so it passes
	even if the CPU is set to something by default.

Mon Oct  4 18:25:49 1999  Doug Evans  <devans@canuck.cygnus.com>

	* gas/m32r/error.exp: New testcase driver.
	* gas/m32r/m32rx.exp: New testcase driver.
	* gas/m32r/fslotx.[sd]: New testcase.
	* gas/m32r/m32rx.[sd]: New testcase.
	* gas/m32r/relax-s.[sd]: New testcase.
	* gas/m32r/interfere.s: New testcase.
	* gas/m32r/wrongsize.s: New testcase.

1999-09-17  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/i386.exp: Enable reloc and white tests for COFF.
	* gas/i386/reloc.d: Accept dir32 relocs.

1999-09-12  Donn Terry  <donn@interix.com>

	* gas/all/gas.exp: Run cofftag test for i*86-*-interix*.
	* lib/gas-defs.exp: Add perror if can not read .d file.

1999-09-04  Steve Chamberlain  <sac@pobox.com>

	* gas/pj/{pj.exp, ops.c, ops.d}: New tests for picoJava.

1999-09-02  Nick Clifton  <nickc@cygnus.com>

	* gas/vtable/vtable.exp: Add [istarget "strongarm*-*-*"] to run
	dump  test "entry0" instead of "entry1".

1999-09-01  Scott Bambrough  <scottb@netwinder.org>

        * gas/vtable/vtable.exp: Added [istarget "arm*-*-*"] to run dump
        test "entry0" instead of "entry1".  ARM targets use REL relocs,
        and should use the test entry0.

1999-09-01  H.J. Lu  <hjl@gnu.org>

	* gas/i386/naked.d: Fix for coff targets.

Mon Aug 30 12:18:40 1999  Jeffrey A Law  (law@cygnus.com)

	* gas/hppa/unsorted/*.s: Use .code instead of .SPACE/.SUBSPA for
	sectioning.
	* gas/hppa/unsorted/unsorted.exp: Disable tests not appropriate for
	PA64.

	* gas/hppa/reloc/*.s: Use .code instead of .SPACE/.SUBSPA for
	sectioning.
	* gas/hppa/parse/parse.exp: Disable tests not appropriate for PA64.
	Revamp address expressions slightly to handle an arbitrary sized
	address.

	* gas/hppa/parse/*.s: Use .code instead of .SPACE/.SUBSPA for
	sectioning.
	* gas/hppa/parse/parse.exp: Disable tests not appropriate for PA64.

	* gas/hppa/basic/*.s: Use .code instead of .SPACE/.SUBSPA for
	sectioning.

1999-08-30  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/naked.s, gas/i386/naked.d: Test-suite addition for
	allow_naked_reg parsing.
	* gas/i386/i386.exp: Call it.

1999-08-29  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/white.s, gas/i386/white.l: Add space in FP reg tests.

Sat Aug 28 00:16:12 1999  Jerry Quinn <jquinn@nortelnetworks.com>

	* gas/hppa/basic/basic.exp:  Add new tests shift2.s,
	shift3.s, extract2.s, extract3.s, deposit2.s, and deposit3.s.
	* gas/hppa/basic/shift2.s, shift3.s, extract2.s,
	extract3.s, deposit2.s, deposit3.s:  New.

	* gas/hppa/basic/add.s,addi.s,dcor.s,shladd.s,sub.s,subi.s,unit.s:
	Add new syntax versions of instructions to tests.
	* gas/hppa/basic/add2.s,dcor2.s,perf.s,purge2.s,shladd2.s,sub2.s,
	system2.s, unit2.s:  New tests.
	* hppa/basic/basic.exp: Add new tests.

	* gas/hppa/basic/basic.exp:
	* gas/hppa/basic/media.s:  Add test cases for new instructions.

	* gas/hppa/basic/basic.exp (do_branch2,do_media): New.
	* gas/hppa/basic/branch2.s:  New.
	* gas/hppa/basic/media.s:  New.

	* gas/hppa/basic/basic.exp (do_fp_comp2):  New.
	* gas/hppa/basic/fp_comp2.s:  New.

1999-08-20  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/general.s, gas/i386/general.l: Add .code16gcc
	displacement checks with auto address prefix.

1999-08-17  H.J. Lu  <hjl@gnu.org>

	* gas/elf/elf.exp: Expected to fail on alpha*-*-*.

1999-08-09  Ian Lance Taylor  <ian@zembu.com>

	* gas/i386/float.s, gas/i386/float.l: Modify to work correctly
	when gas uses 2**4 alignment for .text.
	* gas/i386/general.s, gas/i386/general.l: Likewise.
	* gas/i386/katmai.s, gas/i386/katmai.d: Likewise.
	* gas/i386/modrm.s, gas/i386/modrm.l: Likewise.
	* gas/i386/prefix.s, gas/i386/prefix.d: Likewise.

1999-07-27  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/reloc.d: Fix so that test passes when enable-targets
	includes 64-bit bfd target.

1999-06-13  Ian Lance Taylor  <ian@zembu.com>

	* gas/i386/katmai.d: Tweak for recent disassembler changes.

1999-06-12  Ian Lance Taylor  <ian@zembu.com>

	* gas/elf/elf.exp: Don't run tests on "*-*-linux*aout*" or
	"*-*-linux*oldld*".
	* gas/vtable/vtable.exp: Likewise.
	* gas/i386/reloc.d: Modify expected reloc names to accept a.out
	names.

	* gas/i386/amd.s: Add a symbol so a.out tests will work.
	* gas/i386/katmai.s: Likewise.
	* gas/i386/amd.d: Corresponding change.
	* gas/i386/katmai.d: Corresponding change.

1999-06-10  Ian Lance Taylor  <ian@zembu.com>

	* gas/mips/sync.d: Pass -mips2 to the assembler.

	* gas/mips/elf_e_flags.s: Tweak code so that the tests pass for
	mips-elf target as well as mips64-elf target.
	* gas/mips/elf_e_flags1.d: Corresponding changes.
	* gas/mips/elf_e_flags2.d: Likewise.
	* gas/mips/elf_e_flags3.d: Likewise.
	* gas/mips/elf_e_flags4.d: Likewise.

	* gas/elf/elf.exp: Add setup_xfail for mips*-*-*.

	* gas/all/itbl-test.c (main): Update itbl_get_reg_val call for new
	parameter.

1999-06-10  Jakub Jelinek  <jj@ultra.linux.cz>

	* gas/sparc/synth64.s: Add checks for single register signx/clruw.
	* gas/sparc/set64.s: Add tests for setuw and setsw synthetic insns.
	* gas/sparc/prefetch.d: Add -64 as switch.
	* gas/sparc/rdpr.d: Ditto.
	* gas/sparc/wrpr.d: Ditto.
	* gas/sparc/synth64.d: Ditto, reflect synth64.s changes.
	* gas/sparc/reloc64.d: Add -64 as switch, be more tolerant, as
	current gas outputs %hi(0) and not %hi(0x0).
	* gas/sparc/set64.d: Add -64 as switch, reflect set64.s changes and
	optimizations for setx instruction.
	* gas/sparc/sparc.exp: Do sparc64*-*-* checks if it is any of the
	compiled-in targets.

1999-06-10  Richard Henderson  <rth@cygnus.com>

	* gas/macros/irp.s: Use `foo' and `bar' instead of `r' and `s'.
	* gas/macros/rept.s, gas/macros/test2.s, gas/macros/test3.s: Likewise.
	* gas/macros/{irp,rept,test2,test3}.d: Update.

1999-06-05  Richard Henderson  <rth@cygnus.com>

	* gas/elf/elf.exp: New directory.
	* gas/elf/section0.[sd]: New test.
	* gas/elf/section1.[sd]: New test.

1999-06-03  Philip Blundell  <philb@gnu.org>

	* gas/arm/arm7t.d, gas/arm/inst.d: Update to match current gas,
	bfd and opcodes.

1999-05-28  Ian Lance Taylor  <ian@zembu.com>

	* gas/vtable/vtable.exp: Don't run test for i960 yet.

1999-05-17  Nick Clifton  <nickc@cygnus.com>

	* gas/mcore/allinsn.d: Updated to match latest objdump output.

1999-05-12  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/opcode.d: Modify callw to suit disasm fix.

	* gas/i386/amd.d: Modify a '(bad)' to SIMD instruction.

	* gas/i386/amd.s: Pad to multiple of 8
	* gas/i386/amd.d: Here too.

	* gas/i386/prefix.[sd]: Align with nops
	* gas/i386/reloc.[sd]: Here too.

	* gas/i386/katmai.[sd]: New for PIII SIMD
	* gas/i386/i386.exp: Call it.

1999-05-02  Nick Clifton  <nickc@cygnus.com>

	* gas/mcore/allinsn.d: Update to match latest assembler
	operations.

1999-04-16  DJ Delorie  <dj@cygnus.com>

	* gas/i386/amd.s: Add NOPs to align for coff targets
	* gas/i386/amd.d: and check for them.

Thu Apr 15 15:03:43 1999  Jeffrey A Law  (law@cygnus.com)

	* gas/hppa/basic/basic.exp (do_coprmem): No longer expected to file.

Wed Apr 14 13:43:06 1999  Jeffrey A Law  (law@cygnus.com)

	* gas/hppa/basic/branch.s: Do not use immediate value where we
	really want a register.
	* gas/hppa/basic/coprmem.s: Likewise.
	* gas/hppa/basic/fmemLRbug.s: Likewise.
	* gas/hppa/basic/coprmem.s: Likewise.
	* gas/hppa/basic/spop.s: Likewise.
	* gas/hppa/basic/imem.s: Likewise.
	* gas/hppa/parse/badfmpyadd.s: Likewise.
	* gas/hppa/parse/calldatabug.s: Likewise.
	* gas/hppa/parse/entrybug.s: Likewise.
	* gas/hppa/parse/exprbug.s: Likewise.
	* gas/hppa/parse/fixup7bug.s: Likewise.
	* gas/hppa/parse/labelbug.s: Likewise.
	* gas/hppa/reloc/applybug.s: Likewise.
	* gas/hppa/reloc/funcrelocbug.s: Likewise.
	* gas/hppa/reloc/labelopbug.s: Likewise.
	* gas/hppa/reloc/longcall.s: Likewise.
	* gas/hppa/reloc/plabelbug.s: Likewise.
	* gas/hppa/reloc/reduce.s: Likewise.
	* gas/hppa/reloc/reduce2.s: Likewise.
	* gas/hppa/reloc/reduce3.s: Likewise.
	* gas/hppa/unsorted/brlenbug.s: Likewise.
	* gas/hppa/unsorted/importbug.s: Likewise.
	* gas/hppa/unsorted/lasbeldiffs.s: Likewise.

	* gas/hppa/basic/basic.exp (do_imem): Handle multiple encodings
	for loads and stores using reg + small d addresses.
	No longer expect failure for mis-parse of imm %reg.

1999-04-13  Doug Evans  <devans@casey.cygnus.com>

	* gas/m32r/m32rx.d (cmpu__rach): Fix expected output.
	* gas/m32r/m32rx.s (bc__add,add__bc): Explicitly specify short branch
	so branch relaxation restrictions won't interfere with parallelization
	attempts.

1999-04-08  Nick Clifton  <nickc@cygnus.com>

	* gas/mcore: New Directory.
	* gas/mcore/allinsn.exp: New File: Expect file for MCore assembly
	tests.
	* gas/mcore/allinsn.s: New File: Source file for MCore assembly
	tests.
	* gas/mcore/allinsn.d: New File: Expected output file for MCore
	assembly tests.

1999-03-20  Doug Evans  <devans@casey.cygnus.com>

	* gas/m32r/m32rx.[sd]: Fix a few more testcases.

1999-03-16  Martin Hunt  <hunt@cygnus.com>

	* gas/d30v/d30.exp (run_list_test): Add new tests,
        label, guard-debug, serial, warn_oddreg, bittest, and mul.

	* gas/d30v/opt.s: Fix some warnings and add a few labels
        to keep things from parallelizing where we don't want them to.

	* gas/d30v/reloc.s: Fix warning.

	* gas/d30v/opt.d, reloc.d, inst.d: Rebuild.

	* gas/d30v/label.s: New test. Check that labels are aligned
        on 8-byte boundaries.

	* gas/d30v/guard-debug.s: New test. Test output with "-g".

	* gas/d30v/serial.s: New test. Check for warnings with
        illegal serial instructions.

	* gas/d30v/warn_oddreg.s: New test. CHeck for warnings when
        odd-numbered registers are used for some instructions.

	* gas/d30v/bittest.s: New test. Check for bit operation
        instructions (BCLR, BNOT, BSET, BTST) in the IU.

	* gas/d30v/mul.s: New test. Check for restricted sequences
        in a bunch of different multiply instructions.

	* gas/vtable/vtable.exp (run_list_test): Don't
	run test on D30V.

1999-03-05  Nick Clifton  <nickc@cygnus.com>

	* gas/all/gas.exp: Expect strongarm-coff target to fail cofftag
	test.

1999-02-13  Jim Blandy  <jimb@zwingli.cygnus.com>

	* gas/mips/mips.exp: Run the new tests, below.
	* gas/mips/elf_e_flags1.d, gas/mips/elf_e_flags2.d,
	gas/mips/elf_e_flags3.d, gas/mips/elf_e_flags4.d: New files.
	* gas/mips/elf_e_flags.c, gas/mips/elf_e_flags.s: New files.

	* lib/gas-defs.exp (run_dump_test): Document.  It's not
	really trivial.

	* lib/gas-defs.exp (run_dump_test): Clean up logic for guessing
	$program (the dump tool).

1999-02-10  Doug Evans  <devans@casey.cygnus.com>

	* gas/m32r/allinsn.d: Prefix all | with \.
	(push,pop): Fix expected output.
	* gas/m32r/relax-1.d: Emitted nops are serial, not parallel.
	* gas/m32r/fslot.d: Prefix all | with \.

1999-02-08  Nick Clifton  <nickc@cygnus.com>

	* gas/vtable/inherit0.s: Do not use '@' prefix to .type operator.
	Some ports use it as a comment initiator.

	* gas/vtable/entry1.d: Do not look for an addend.  Some ports use
	REL relocations and so do not have one.

1998-12-18  Nick Clifton  <nickc@cygnus.com>

	* gas/fr30/allinsn.s: Fix to match latest assembler syntax.
	* gas/fr30/allinsn.d: Fix to match latest assembler output

1998-12-03  Nick Clifton  <nickc@cygnus.com>

	* gas/fr30/allinsn.d: Updated to match latest assembler output.

1998-12-02  Nick Clifton  <nickc@cygnus.com>

	* gas/fr30/allinsn.s: Replace illegal insns with legal versions.

	* gas/fr30/allinsn.d: Update to match latest assembler output.

Thu Nov 19 15:59:51 1998  Dave Brolley  <brolley@cygnus.com>

	* gas/fr30/allinsn.s: Reorder insns for better simulation.

Thu Nov 19 07:50:44 1998  Doug Evans  <devans@charmed.cygnus.com>

	* gas/mips/sync.[sd]: New testcase.
	* gas/mips/mips.exp: Run it.

Wed Nov 18 11:27:56 1998  Dave Brolley  <brolley@cygnus.com>

	* gas/fr30/allinsn.s (dmov): Correct hex literals.

Tue Nov 17 15:24:20 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/fr30/allinsn.s: Moved currently un-assembliable instructions
	to end of file.

	* gas/fr30/allinsn.d: Added disassembly of currently assembliable
	opcodes.

Mon Nov 16 16:50:27 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/fr30/allinsn.s: Fix syntax errors.

Mon Nov 16 19:27:52 1998  Dave Brolley  <brolley@cygnus.com>

	* gas/fr30/allinsn.s: Fixed more typos.

Fri Nov 13 13:15:01 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/fr30/allinsn.s: Fixed typos and added some tests of upper
	case vs lower case.

Tue Nov 10 14:54:47 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/fr30/allinsn.s: New file.
	* gas/fr30/allinsn.d: New file.
	* gas/fr30/allinsn.exp: New file.
	* gas/fr30/fr30.exp: New file.

Mon Nov  2 20:16:50 1998  Doug Evans  <devans@canuck.cygnus.com>

	* gas/m32r/fslot.[sd]: New testcase.
	* gas/m32r/m32r.exp: Run it.

Tue Oct 20 11:35:06 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/i386.exp: Run AMD insn test.
	* gas/i386/amd.s: New test.
	* gas/i386/amd.d: New test results.

Sun Sep 20 01:00:01 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* gas/vtable/inherit1.l: Require only the word GAS somewere in the
	first line of the listing.

Tue Sep  1 10:20:03 1998  Richard Henderson  <rth@cygnus.com>

	* gas/ppc/astest.d: Adjust regexps to match a 64-bit host.
	* gas/ppc/astest2.d: Likewise.

Mon Aug 31 13:25:07 1998  Richard Henderson  <rth@cygnus.com>

	* gas/vtable/{entry0.d,entry1.d,inherit0.d}: Fix pattern matching
	of whitespace for 64-bit hosts.

Mon Aug 31 12:45:49 1998  Richard Henderson  <rth@cygnus.com>

	* gas/vtable/vtable.exp: New.
	* gas/vtable/{entry0.s,entry0.d}: New.
	* gas/vtable/{entry1.s,entry1.d}: New.
	* gas/vtable/{inherit0.s,inherit0.d}: New.
	* gas/vtable/{inherit1.s,inherit1.l}: New.

Thu Aug 20 23:18:06 1998  Ian Lance Taylor  <ian@cygnus.com>

	* gas/i386/white.l: Revert patch of August 12.

Wed Aug 12 11:54:37 1998  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/udf.s: New test.
	* gas/mn10300/basic.exp: Run it.

Wed Aug 12 13:25:38 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/general.l: Test andb $~0x80,foo.
	* gas/i386/general.s: Update.

	* gas/i386/white.l: Expect warning for stand-alone ss prefix.

Tue Jul 21 12:46:59 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/white.s: Add some more whitespace tests.
	* gas/i386/white.l: Update accordingly.

Mon Jul 13 18:15:11 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* gas/i386/*: All new i386 testsuite.

1998-07-02  Ken Raeburn  <raeburn@cygnus.com>

	* lib/gas-defs.exp (gas_init): Complain if target name isn't in
	canonical form.

Wed Jul  1 15:35:09 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/all/gas.exp: Expect ARM and Thumb cofftag test to fail.

Wed Jul  1 17:31:39 1998  Ian Lance Taylor  <ian@cygnus.com>

	* gas/ppc/simpshft.s: Add alignment so that it works on AIX.
	* gas/ppc/simpshft.d: Change accordingly.  Only dump the .text
	section.

Tue Jun 23 15:14:43 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/v850/hilo2.s: Use r1 as the destination of the movea
	instruction, since r0 is read only.

	* gas/v850/basic.exp: Fix names of special area relocations.
	Set -mwarn-signed-overflow flag when running range.s test.

Sun Jun 21 12:44:43 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/d30v/reloc.d: Updated to match latest assembler output.

Wed Jun 17 14:02:10 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* gas/mips/delay.d: Add -mcpu=NNNN to gas flags to let test case
	run on differently targeted assembler.
	* gas/mips/{ld-ilocks-addr32,ld-svr4pic.d}: Ditto.
	* gas/mips/{ld-xgot.d,lif-svr4pic.d,lif-xgot.d}: Same.
	* gas/mips/{mips16.d,mips4.d,nodelay.d}: Again.
	* gas/mips/{trunc.d,uld.d,ulh-xgot.d,usd.d}: And then some.

	* gas/mips/ld-ilocks.d: Removed disassembler flags to let target
	defaults go unmodified.  Replaced $f4/$f5 with $fp[45], as the
	original `ld.d' had.  Find `ld.s'.
	* gas/mips/mul-ilocks.d: Nearly ditto.

Thu Jun 11 16:50:46 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/d30v/inst.d: Expect repeati instrucitons to be combined.

	* gas/d30v/inst.s: Add nop to keep assembled instructions at
	expected addresses.

Mon Jun  8 18:47:11 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/d30v/array.d: Updated to match latest assembler results.
	* gas/d30v/reloc.d: Partially updated to match latest assembler
	results.

Fri Jun  5 19:15:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* gas/m68k/operands.s: For all pc relative addresses change tstl
	to pea since the former does not allow pcrel on m68000.  Do not
	make label foo global, so that references to it can be relaxed on
	ELF targets.
	* gas/m68k/operands.d, gas/m68k/op68000.d: Updated.

Tue Jun  2 15:08:36 1998  Geoff Keating  <geoffk@ozemail.com.au>

	* gas/ppc/ppc.exp: Run simpshft test.
	* gas/ppc/simpshft.d: New file.
	* gas/ppc/simpshft.s: New file.

Mon Jun  1 17:00:22 1998  Jeffrey A Law  (law@cygnus.com)

	* gas/mips/div-ilocks.d: Handle both "break" instruction variants.
	* gas/mips/{div.d, mul-ilocks.d, mul.d}: Likewise.

Fri May 29 12:07:35 1998  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/mips.exp: Adjust ilocks initialization to match current
	assembler defaults more closely.

	* gas/sh/fp.s: Remove ftst/nan.  The assembler no longer supports
	the instruction.
	* gas/sh/basic.exp: Adjust accordingly.

Wed May 27 15:26:51 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/d30v/align.d: Updated to match latest assembler output.
	* gas/d30v/inst.d: Updated to match latest assembler output.
	* gas/d30v/inst.s: Updated to match latest assembler rules.
	* gas/d30v/opt.d: Updated to match latest assembler output.

Fri May 22 15:56:51 1998  Doug Evans  <devans@canuck.cygnus.com>

	* gas/m32r/allinsn.d: Handle 64 bit bfd_vma.
	* gas/m32r/uppercase.d: Likewise.

Thu May 21 15:03:06 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/arm/thumb.s: Add period to start of labels to prevent
	assembler thinking that they are function entry points.

Tue May 19 18:17:10 1998  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/mips16.d: Correct to reflect bug fix to disassembler.

Mon May 18 13:11:45 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* gas/mips/{div,ld,mul}.d: Add assembler -mcpu= flag to match
	disassembler.

Fri May 15 14:51:01 1998  Gavin Koch  <gavin@cygnus.com>

	* gas/mips/mips.exp: Distinguish chains with 32-bit addresses.
	* gas/mips/ld-ilocks-addr32.d : New.

Wed May 13 15:06:31 1998  Doug Evans  <devans@canuck.cygnus.com>

	* gas/m32r/uppercase.[sd]: Test for HIGH,SHIGH,LOW,SDA.

Thu May  7 13:05:25 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* gas/mips/break20.[sd]: New tests for 20-bit operand break and
	sddbp instructions.
	* gas/mips/trap20.[sd]: New tests for 20-bit operand trap
	instructions.
	* gas/mips/mips.exp: Run them.

Thu Apr 30 11:55:01 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* gas/d30v/{inst,array,opt,reloc}.d: Accept <symbol+offset> labels
	in disassembly, where the offset is in hex and has a "0x" prefix.

Tue Apr 28 16:38:34 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* gas/mips/lineno.[sd]: Assembly source line number test.
	* gas/mips/mips.exp: Added lineno test.

Wed Apr  8 18:45:17 1998  Jeffrey A Law  (law@cygnus.com)

	* gas/testsuite/all/gas.exp: No longer expect failures for
	difference of undefined symbols on mn10x00 targets.

Mon Mar 23 10:47:33 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* gas/all/align.s: Back out ".section text" change below;
	use ".text" again.
	* gas/macros/semi.s: Ditto.

Fri Mar 20 18:51:49 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* gas/all/align.s: Identify ".text" section explicitly.
	* gas/macros/semi.s: Ditto.



Mon Mar  2 13:30:40 1998  Doug Evans  <devans@seba.cygnus.com>

	* gas/m32r/allinsn.[sd] (ldi8a,ldi16a): Delete.
	(ldi16): Improve test.
	(nop): Fix test.

Thu Feb 12 20:12:39 1998  Ian Lance Taylor  <ian@cygnus.com>

	* gasp/macro.out: Adjust to reflect the fact that keyword
	arguments are now permitted after positional arguments.

Wed Feb  4 15:27:44 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/arm/arm7t.d: Update to match latest assembler output.

Wed Feb  4 15:40:00 1998  Geoffrey Keating  <geoffk@ozemail.com.au>

	* gas/ppc/ppc.exp: New file.
	* gas/ppc/astest.s, gas/ppc/astest.d: New test.
	* gas/ppc/astest2.s, gas/ppc/astest2.d: New test.

Sun Feb  1 21:43:54 1998  Jeffrey A Law  (law@cygnus.com)

	* gas/mips/4010.s: Pad test code out to a 16byte boundary.
	* gas/mips/4010.d: Corresponding changes.
	* gas/mips/4100.s: Pad test code out to a 16byte boundary.
	* gas/mips/4100.d: Corresponding changes.
	* gas/mips/4650.s: Pad test code out to a 16byte boundary.
	* gas/mips/4650.d: Corresponding changes.

Fri Jan 30 14:09:13 1998  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/moveml.d: Add test comments, fix regexps.

Thu Jan 29 13:34:49 1998  Doug Evans  <devans@canuck.cygnus.com>

	* gas/m32r/{allinsn,high-1}.d: Allow # constant prefix to be missing.

Thu Jan 29 09:43:50 1998  Richard Henderson  <rth@cygnus.com>

	* gas/m68k/mri_moveml.[sd]: Moved to ...
	* gas/mri/moveml.[sd]: ... here.
	* gas/mri/mri.exp: Run it.

Tue Jan 27 21:55:44 1998  Jeffrey A Law  (law@cygnus.com)

	* gas/mips/4010.s: Add 4010 tests.
	* gas/mips/4010.d: Expected output.
	* gas/mips/4100.s: Add 4010 tests.
	* gas/mips/4100.d: Expected output.
	* gas/mips/4650.s: Add 4010 tests.
	* gas/mips/4650.d: Expected output.
	* gas/mips/mips.exp: Run the new tests.
	* gas/mips/*.d: Pass the right processor model to objdump.
	Fix minor cases where expected output was wrong due to opcode
	conflicts.

Tue Jan 27 05:35:02 1998  Richard Henderson  <rth@cygnus.com>

	* gas/m68k/mri_moveml.[sd]: New testcase.

Thu Jan 22 17:29:07 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/m32r/high-1.d: Add hash prefix to constants.

	* gas/m32r/allinsn.s: Add hash prefix to some constants.
	* gas/m32r/allinsn.d: Add hash prefix to constants.

Wed Jan 21 21:24:08 1998  Manfred Hollstein  <manfred@s-direktnet.de>

	* gas/m88k/init.d: Fix hexadecimal offsets.

Wed Jan 14 17:49:22 1998  Nick Clifton  <nickc@cygnus.com>

	* gas/m32r/uppercase.d: Fix white space matching.
	* gas/m32r/relax-1.d: Fix white space matching.

Wed Jan 14 15:44:32 1998  Jeffrey A Law  (law@cygnus.com)

	* gas/mips/div.d: Update for recent assembler changes.
	* gas/mips/div-ilocks.d: Likewise.

Wed Jan 14 11:13:06 1998  Doug Evans  <devans@seba.cygnus.com>

	* gas/m32r/allinsn.d (cmpui): Update output to new format.

Thu Dec 18 11:10:42 1997  Nick Clifton  <nickc@cygnus.com>

	* gas/arm/inst.d: Updated to match latest disassembler changes.

	* gas/arm/arm7t.d: Updated to match latest disassembler changes.

Tue Dec 16 22:19:25 1997  Ken Raeburn  <raeburn@cygnus.com>

	* gas/mips/lb-xgot.d, gas/mips/rol.d, gas/mips/jal-svr4pic.d,
	gas/mips/jal-xgot.d: Add assembler option to select a specific
	target chip, the R3000.
	* gas/mips/lb-xgot-ilocks.d: New test, specifically selecting
	R3900.
	* gas/mips/mips.exp: Run it.

	* gas/ieee-fp/x930509a.exp: Don't run IEEE FP tests for Vax
	targets.

Wed Oct 15 10:40:14 1997  Jeffrey A Law  (law@cygnus.com)

	* gas/ieee-fp/x930509a.s: Tweak slightly to work on the PA.

	* gas/hppa/unsorted/unsorted.exp: Update for recent disassembler
	changes.

Thu Oct  9 18:10:44 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/set64.[sd]: `set' doesn't take negative arguments.

Thu Oct  9 12:59:55 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/arm/arm7t.d: Update for recent disassembler changes.
	* gas/h8300/ffxx1.d: Likewise.

Wed Oct  8 16:22:50 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/reloc64.[sd]: Add testcases for %hix,%lox.

Wed Oct  8 15:12:35 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/sparc/synth.d: Update for recent disassembler changes.
	* gas/sparc/synth64.d: Likewise.

	* gas/mips/beq.s: Add .text to .globl to mark the symbol to as a
	function symbol.
	* gas/mips/jal.s: Likewise.

Tue Oct  7 13:30:30 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/reloc64.[sd]: New testcase.
	* gas/sparc/sparc.exp: Run it.

Sat Oct  4 19:14:24 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/ieee-fp/x930509a.exp: Accept m68k listing format.

Fri Oct  3 15:46:05 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/ieee-fp/x930509a.exp: Remove setup_xfail; it should now
	work.  Correct for big endian and for tabs in input file.

	* gas/alpha/fp.exp: Check for alpha-*-osf*, not alpha-*-osf1*.
	* gas/alpha/fp.s: Change comment characters from ! to #.

Thu Sep 18 11:17:53 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/splet.d: Update to new objdump output format.
	* gas/sparc/{asi.d,membar.d,prefetch.d,rdpr.d,wrpr.d}: Likewise.
	* gas/sparc/set64.[ds]: New testcase.
	* gas/sparc/splet-2.[ds]: New testcase.
	* gas/sparc/sparc.exp: Run them.

Tue Sep 16 15:27:08 1997  Ken Raeburn  <raeburn@cygnus.com>

	Merge changes from Martin Hunt:

	* gas/d30v/inst.s: Add some new tests.

	* gas/d30v/{inst, opt, reloc}.d: Update results with
	new disassembler changes.

	* gas/d30v/inst.[sd]: Update examples for d*i instructions.

	* gas/d30v/*.d: Update all test results because
	of new ".s" and ".l" extensions.

	* gas/d30v/inst.[sd]: Correct entry for mulx2h.
	* gas/d30v/opt.[sd]: Correct st2w instruction.

	* gas/d30v/align.d: Change expected output.

	* gas/d30v/reloc.[sd]: Add test case.

	* gas/d30v/array.[sd]: New test case.

	* gas/d30v/opt.[sd]: Added more test cases.

	* gas/d30v/opt.s: Add test cases.
	* gas/d30v/reloc.s: Fix a test case.
	* gas/d30v/{opt,reloc}.d: Regenerate.

Mon Sep  8 14:21:23 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/m32r/high-1.[ds]: New testcase.
	* gas/m32r/m32r.exp: Run it.

Mon Aug 25 11:04:24 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/m32r/relax-1.[ds]: New testcase.
	* gas/m32r/m32r.exp: Run it.

Thu Aug 14 23:49:49 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/arc: New directory
	* gas/arc/{arc.exp,alias.[sd],branch.[sd],flag.[sd],insn3.[sd],j.[sd],
	ld.[sd],math.[sd],sshift.[sd],st.[sd],warn.{exp,s}}: New files.

Wed Aug  6 00:33:30 1997  Ian Lance Taylor  <ian@cygnus.com>

	* config/default.exp: Set AS and GASP to as-new, not as.new.

Tue Aug  5 12:33:23 1997  Ian Lance Taylor  <ian@cygnus.com>

	* config/default.exp: Set NM to nm-new, not nm.new, to match
	recent change in binutils build directory.

Thu Jul 31 15:21:51 1997  Jeffrey A Law  (law@cygnus.com)

	* gas/v850/range.s: New test.
	* gas/v850/basic.exp: Run it.

Tue Jul 29 14:35:02 1997  Jeffrey A Law  (law@cygnus.com)

	* gas/v850/hilo2.s: New test.
	* gas/v850/fepsw.s: New test.
	* gas/v850/basic.exp: Run them.

Tue Jul 15 13:03:17 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/m32r/uppercase.[sd]: New testcase.
	* gas/m32r/m32r.exp: New file.

Mon Jun 16 14:32:11 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/m68k/pcrel.d: Update for m68k disassembler changes.
	* gas/m68k/operands.d: Likewise.

Mon Jun  2 16:50:03 1997  Nick Clifton  <nickc@cygnus.com>

	* gas/arm/arm.exp: Added changes from armT-970328-branch.

Mon Jun  2 12:09:02 1997  Gavin Koch  <gavin@cygnus.com>

	* gas/mips/mips.exp: The r3900 has interlocks for mul, but
	not div.

Mon Jun  2 12:03:32 1997  Gavin Koch  <gavin@.cygnus.com>

	* gas/mips/mul.{d,s}: End the tests with no-ops.

Mon Jun  2 11:48:58 1997  Gavin Koch  <gavin@cygnus.com>

	* lib/gas-defs.exp (regexp_diff): Improve messages when one
	file is shorter than the other.

Wed May  7 16:18:30 1997  Manfred Hollstein  <manfred@s-direktnet.de>

	* gas/m88k/init.{s,d}: New checks for proper padding of
	.init sections.
	* gas/m88k/m88.exp: Run them.

	* gas/m68k/t2.d: New file for check of presence of section
	symbols on the m68k-motorola-sysv.
	* gas/m68k/all.exp: Run t2 if [istarget m68*-motorola-sysv].

Wed May  7 16:12:24 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/all/gas.exp: Don't run cofftag test for m88k-coff.

	* gas/mips/lifloat.s: Update for recent changes to floating point
	handling.
	* gas/mips/lif-empic.d, gas/mips/lif-svr4pic.d: Likewise.
	* gas/mips/lif-xgot.d, gas/mips/lifloat.d: Likewise.

	* gas/mips/mips.exp: Handle Irix 6 like Irix 5.

Sat Apr 19 23:16:35 1997  Niklas Hallqvist  <niklas@petra.appli.se>

	* gas/mips/mips.exp: Handle OpenBSD like NetBSD.

Wed Apr 16 12:20:24 1997  Martin Hunt  <hunt@cygnus.com>

	* gas/d30v/d30.exp: Add optimizer test case.
	* gas/d30v/opt.s: Add conditional compilation tests.
	* gas/d30v/opt.d: Rebuild.

Tue Apr 15 18:10:01 1997  Gavin Koch  <gavin@cygnus.com>

	* gas/mips/{delay.d,nodelay.d}: added.

Mon Apr  7 12:57:45 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/m32r/allinsn.d: Update to new objdump output style.

Fri Apr  4 13:19:39 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/all/float.s: Put a tab before .text, to keep the PA happy.

	* gas/arm/arm.exp: Only run inst and arm7t on targets which can
	handle -EL.  Add setup_xfail for thumb.

	* gas/h8300/ffxx1.d: Don't fail if BFD is 64 bits.

Thu Apr  3 18:26:56 1997  Doug Evans  <dje@canuck.cygnus.com>

	* gas/m32r/allinsn.{exp,s.d}: New testcases.

Thu Mar 27 00:42:28 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* gas/d30v/d30.exp: Add test case reloc.
	* gas/d30v/reloc.[sd]: New files to test relocations.

Sat Mar 15 17:21:46 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/arm/inst.d: Update for disassembler changes.
	* gas/arm/arm7t.d: Likewise.

Tue Mar 11 13:31:56 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* gas/m68k/op68000.d: Update for recent assembler bug fix.

Wed Mar  5 13:01:24 1997  Jeffrey A Law  (law@cygnus.com)

	* gas/all/gas.exp: xfail a couple tests for the mn10300.

Mon Mar  3 11:41:00 1997  Fred Fish  <fnf@cygnus.com>

	* gas/tic80/{add.d, float.d, regops2.d, relocs1.d, relocs1b.d,
	relocs2.d, relocs2b.d}: Adjust to objdump format tweaks.

Thu Feb 27 15:21:46 1997  Fred Fish  <fnf@cygnus.com>

	* gas/tic80/{align.d, align.lst, align.s} New test for the
	".align" pseudop.
	* gas/tic80/tic80.exp: Run the align test.

Wed Feb 26 20:36:46 1997  Fred Fish  <fnf@cygnus.com>

	* gas/tic80/{float.d, float.lst, float.s}: New tests for
	simple floating point operands.
	* gas/tic80/tic80.exp: Run the float test.

Wed Feb 26 15:16:04 1997  Fred Fish  <fnf@cygnus.com>

	* gas/tic80/{regops2.d, regops2.lst, regops2.s, regops3.d,
	regops3.lst, regops3.s, regops4.d, regops4.lst, regops4.s}:
	New tests for :m and :s operand modifiers.
	* gas/tic80/tic80.exp: Run the regops2, regops3, and regops4 tests.

Tue Feb 25 13:45:55 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/macros/semi.s: Force the final alignment to use a fill value
	of 0.

	* gas/all/cond.s, gas/all/cond.d: New test.
	* gas/all/gas.exp: Run it.

Mon Feb 24 10:52:12 1997  Bob Manson  <manson@charmed.cygnus.com>

	* lib/gas-defs.exp(gas_init): Added new parameter for script
	name.

Mon Feb 24 10:40:28 1997  Fred Fish  <fnf@cygnus.com>

	* gas/tic80/{add.d, bitnum.d, ccode.d, cregops.d, endmask.d,
	regops.d, relocs1.d,
	(relocs1.c): Add file for reference.
	(relocs1b.d): Split reloc table contents test to different test file.
	(relocs2.c): Add test that uses various types (char, short, int, ...) of
	static and global variables with data shuffling to generate lots of ld/st
	instructions for the different types.
	(relocs2.d): New file, expected code for relocs2 test.
	(relocs2.lst): New file, TI assembler listing for reference.
	(relocs2.s): New file, assembly source for relocs2 test.
	(relocs2b.d): New file, expected reloc table contents for relocs2 test.
	(tic80.exp): Run the relocs1b, relocs2, and relocs2b tests.

Sun Feb 23 17:54:00 1997  Dawn Perchik  <dawn@cygnus.com>

	* gas/all/itbl-test.c(main): Update function calls.
	Remove parameters from itbl_get_reg_val and
	change itbl_get_insn_name to itbl_get_field.

Sun Feb 23 17:22:00 1997  Dawn Perchik  <dawn@cygnus.com>

	* gas/mips/itbl: Add comments.
	* gas/mips/itbl.s: Add comments.  Prefix register names with $.
	* gas/all/itbl: Generic table for testing for itbl support.
	* gas/all/itbl.s: Generic assembly for testing for itbl support.
	* gas/mips/itbl-test.c: Moved to gas/all.
	* gas/all/itbl-test.c: Moved from gas/mips.

Sat Feb 22 20:24:23 1997  Fred Fish  <fnf@cygnus.com>

	* gas/tic80/{add.lst, bitnum.lst, ccode.lst, cregops.lst,
	endmask.lst, regops.lst}: Remove ^M's from end of lines.
	* gas/tic80/bitnum.s: Add comment to each line showing value
	that symbolic BITNUM assembles to.  Add coverage for raw
	numeric values for the BITNUM operand.
	* gas/tic80/bitnum.d: Update due to bitnum.s changes.
	* gas/tic80/regops.d: Update due to opcode library additions
	of floating point test BITNUM values that are ambiguous with
	the integral ones.
	* gas/tic80/relocs1.s: New test case that tests simple relocs.
	* gas/tic80/relocs1.d: Expected output for above.
	* gas/tic80/relocs1.lst: TI assembler listing for above.
	* gas/tic80/tic80.exp: Add relocs1 test.

Fri Feb 21 14:23:14 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* gas/d30v/{align.d, align.s, d30.exp, guard.d, guard.s,
	inst.d, inst.s, opt.d, opt.s}: Test files for D30V.

Wed Feb 19 00:55:29 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/macros/semi.s, gas/macros/semi.d: New test.
	* gas/macros/macros.exp: Run it.
	* gas/mri/semi.s, gas/mri/semi.d: New test.
	* gas/mri/mri.exp: Run it.

Tue Feb 18 13:37:06 1997  Jeffrey A Law  (law@cygnus.com)

	* gas/hppa/unsorted/unsorted.exp (align4 tests): Tweak expected
	output.

Fri Feb 14 17:56:27 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/all/align.d, gas/all/align.s: New test.
	* gas/all/gas.exp: Run it.

Thu Feb 13 14:44:05 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/mips16.d: Correct PC relative instruction bytes.

Wed Feb 12 12:33:08 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/lif-svr4pic.d: Pass -EB when running the assembler.
	* gas/mips/lif-xgot.d: Likewise.
	* gas/mips/ulh-svr4pic.d: Likewise.
	* gas/mips/ulh-xgot.d: Likewise.

	* gas/mips/mips16.d: Update for yet another change in disassembly
	output (this one is spacing only).

Tue Feb 11 14:45:39 1997  Fred Fish  <fnf@cygnus.com>

	* gas/tic80/{add.d, add.lst, add.s, bitnum.d, bitnum.lst, bitnum.s,
	ccode.d, ccode.lst, ccode.s, cregops.d, cregops.lst, cregops.s,
	endmask.d, endmask.lst, endmask.s, regops.d, regops.lst, regops.s,
	tic80.exp}: New files for TIc80 test cases.

Tue Feb 11 15:46:27 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/mips16.d: Update for change in disassembly output.

Mon Feb 10 22:24:00 1997  Dawn Perchik  <dawn@cygnus.com>

        * gas/mips/itbl-test.c: Add copyright message and fix indentation.

Mon Feb 10 17:54:00 1997  Dawn Perchik  <dawn@cygnus.com>

	* gas/mips/itbl-test.c: New file.  Stand-alone assembler and
	dissassembler for itbl support.

Mon Feb 10 17:20:00 1997  Dawn Perchik  <dawn@cygnus.com>

	* gas/mips/itbl: New file.  Instruction Spec for testing --itbl
	option.
	* gas/mips/itbl.s: New file.  Assembly with ne2w instructions
	specified in itbl.

Fri Feb  7 16:42:53 1997  Bob Manson  <manson@charmed.cygnus.com>

	* gasp/gasp.exp: Use prune_warnings instead of prune_system_crud.
	* lib/gas-defs.exp: Ditto.

Mon Feb  3 15:46:05 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/arm/inst.d, gas/arm/arm7t.d: Pass --prefix-addresses to
	objdump.  Update for current relocation printing style.

Thu Jan 30 11:57:33 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/mips16.d: Update for disassembler changes.

Thu Jan 23 03:15:06 1997  Angela Marie Thomas (angela@cygnus.com)

	* gas/mips/mips.exp: set ilocks for all 4100/4300

Thu Jan  2 16:49:17 1997  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/mips16.s, gas/mips/mips16.d: New test.
	* gas/mips/mips.exp: Run mips16 test.

	* gas/mips/mips.exp: Run dli test unconditionally.
	* gas/mips/dli.s: Add text symbol.  Add nops to round to 16 byte
	boundary.
	* gas/mips/dli.d: Corresponding changes.

Tue Dec 31 13:03:16 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/sparc/synth.d: Use --prefix-addresses for objdump.
	* gas/sparc/synth64.d: Likewise.

Tue Dec 24 16:30:58 1996  Angela Marie Thomas (angela@cygnus.com)

	* gas/mips/*-ilocks.d: Fix regexps to resemble disassembled output.

Fri Dec 13 13:05:33 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/*.[sd]: Add explicit nops, sometimes controlled by
	.ifdef, to accomodate change to avoid default alignment on
	embedded systems.

Wed Dec 11 09:26:01 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10200/basic.exp (do_movb): Fix bit pattern for
	"movb dm,(an)".

Tue Dec 10 13:01:05 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/basic.exp: Update after endianness changes to
	the assembler.

	* gas/mn10200/{mov1.s,mov2.s,mov3.s,mov4.s,movx.s}: New tests.
	* gas/mn10200/{movb.s, movbu.s}: Likewise.
	* gas/mn10200/basic.exp: Run them.

Mon Dec  9 17:08:38 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10200/*.s: New tests for the mn10200 assembler.
	* gas/mn10200/basic.exp: Run them.

Fri Dec  6 15:35:04 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/*.s: Remove '$' register prefixing.

Mon Nov 25 16:35:33 1996  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc-solaris/addend.exp: Fix patterns, you can't assume
	\r will be present.

Mon Nov 25 13:45:02 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/m68k/*.d: Update for disassembler changes.
	* gas/mri/*.d: Likewise.

Mon Nov 25 11:38:37 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/*.s: Use '$' as register prefix for
	all register operands.

Thu Nov 21 11:52:54 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/all/gas.exp: xfail a couple tests for the mn10300.

Wed Nov 20 11:31:41 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/other.s: Update for correct syntax on a
	few instructions (those with register lists).
	* gas/mn10300/basic.exp: Corresponding changes.

Tue Nov 19 13:36:57 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/movm.s: Update for correct syntax.
	* gas/mn10300/basic.exp: Update expected movm bit patterns.

Fri Nov 15 13:57:42 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/other.s: Put parens around register
	argument in calls and jmp instructions.

Wed Nov 13 13:16:04 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/h8300/ffxx1.d: Update for recent disassembler changes.

Mon Nov 11 16:03:24 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/hppa/reloc/reloc.exp: Pass "--prefix-addresses" to objdump
	as needed.
	* gas/hppa/unsorted/unsorted.exp: Likewise.

Thu Nov  7 00:27:52 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/basic.exp: Check opcode insertion for
	extended instructions.
	* gas/mn10300/extend.s: Tweak constants for better
	testsuite coverage.

Wed Nov  6 13:50:07 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/basic.exp: Test insertion of operands
	into call and jmp instructions with 32bit offsets.
	Fix typo in bit test patterns.
	* gas/mn10300/other.s: Tweak constants to improve
	testsuite coverage.

	* gas/mn10300/basic.exp: Test insertion of 32bit operand
	in calls, btst, bclr & bset instructions.

	* gas/mn10300/*.s: Tweak constants in 32bit insns for
	better testing coverage.
	* gas/mn10300/basic.exp: Test insertion of most 32bit
	operands.

Tue Nov  5 13:33:12 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/basic.exp: Check bit patterns for indexed mov,
	movbu, movhu instructions.  Check bit patterns for more bit
	operations.  Check bit patterns for various 16bit call, retf
	and ret instructions.
	* gas/mn10300/other.s: Update operands for better test coverage.

Mon Nov  4 12:55:11 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/basic.exp: Check bit patterns for a couple more
	mov and cmp instructions.

Tue Oct 29 17:05:43 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/*.d: Update for disassembler changes.

Wed Oct 16 22:39:50 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/v850/reloc.s: New tests.
	* gas/v850/basic.exp: Run them.

Mon Oct 14 13:52:55 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips: Add symbols to several testsuites, since the ELF
	assembler now always builds a symbol table, which means that
	objdump will no longer report `No symbols in FILE'.  Change the
	expected output accordingly.

Thu Oct 10 13:11:48 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/basic.exp: Check bit patterns for instructions
	with a single 8bit or 16bit immediate operand.

	* gas/mn10300/basic.exp: Check bit patterns for many
	instructions.  Add missing test in do_mov1.
	* gas/mn10300/mov1.s: Add missing test.

Wed Oct  9 14:15:18 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10300/{add.s, bcc.s, bit.s, cmp.s, ext.s}: New tests.
	* gas/mn10300/{extend.s logical.s, loop.s, mov1.s}: Likewise.
	* gas/mn10300/{mov2.s, mov3.s, mov4.s, movbu.s}: Likewise.
	* gas/mn10300/{movhu.s, movm.s, muldiv.s, other.s}: Likewise.
	* gas/mn10300/{shift.s, sub.s}: Likewise.
	* gas/mn10300/basic.exp: Run them.

Thu Oct  3 09:57:03 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/mn10200, gas/mn10300: New directories for Matsushita
	mn10200 and mn10300 tests.

Tue Oct  1 15:38:28 1996  Ian Lance Taylor  <ian@cygnus.com>

	* lib/gas-defs.exp (gas_version): Fix for current version
	printing.

Sun Sep 29 07:55:58 1996  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/splet.d: Fix typo in cpusha result.

Mon Sep 23 12:33:31 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/m68k/fmoveml.s, gas/m68k/fmoveml.d: Add tests for fmovemx.

Wed Sep 18 12:14:06 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/all/cofftag.s: Use .p2align rather than .align.

Fri Sep 13 15:28:04 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/h8300/macs.s: Add "stmac" instructions.
	* gas/h8300/basic.exp: Test them.

Thu Sep 12 10:28:44 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/arm/thumb.s (back): Check assembly of Thumb BL.

Mon Sep  9 14:37:00 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/mips4.s, gas/mips/mips4.d: Use $fccN for condition code
	registers.

Fri Sep  6 18:23:54 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/mips/dli.{s,d}: More test cases added.

Wed Sep  4 11:47:29 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/mips/mips.exp: Add check for dli macro instruction.
	* gas/mips/dli.{s,d}: Added.

Sat Aug 31 01:25:03 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/v850/basic.exp (do_mem): Check bit patterns for short
	load/store instructions.  Remove xfails for short load/store
	instructions.
	* gas/v850/mem.s: Offsets for short load/store operands
	are unsigned.

	* gas/v850/basic.exp (do_branch): Check offsets in branch insns.
	(do_jumps): Likewise.

Fri Aug 30 00:37:55 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/v850/misc.s: Tweak register numbers for better testing.
	* gas/v850/basic.exp (do_misc): Corresponding changes.

	* gas/v850/hilo.s: New testfile.
	* gas/v850/basic.exp: Run hilo tests.

Thu Aug 29 11:32:23 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/arm/arm7t.d: Explicitly force little-endian assembly.

Fri Aug 23 11:02:55 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/v850/basic.exp (do_move): Test instruction bit patterns.
	* gas/v850/move.s: Tweak constants for better testing.

	* gas/v850/basic.exp (do_mem): Test instruction bit patterns.
	xfail sst and sld tests.
	(do_mov): Remove bogus xfail.
	* gas/v850/mem.s: sst and sld instructions can only index from
	"ep" register.

	* gas/v850/basic.exp (do_logical): Test instruction bit patterns.
	Update addresses.
	* gas/v850/logical.s: Tweak constants for better testing.

	* gas/v850/basic.exp (do_jump): Test instruction bit patterns,
	but not displacements (yet).

	* gas/v850/basic.exp (do_compare): Test instruction bit patterns.

	* gas/v850/basic.exp (do_branch): Test instruction bit patterns,
	but not displacements (yet).

	* gas/v850/basic.exp (do_bit): Test instruction bit patterns.

	* gas/v850/basic.exp (do_arith): Test instruction bit patterns.
	* gas/v850/arith.s: Tweak constants for better testing.

	* gas/v850/basic.exp (do_misc): No longer expect failures
	assembling "ldsr" and "stsr" opcodes.
	* gas/v850/misc.s: Re-enable assembling of "ldsr" and "stsr"
	opcodes.

	* gas/v850/basic.exp (do_misc): No longer expect failures
	assembling "trap" opcodes.
	* gas/v850/misc.s: Re-enable assembling of "trap" opcodes.

	* gas/v850: New directory with v850 tests.

Fri Aug 16 00:19:10 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/hppa/basic/purge.s: Use "%sr4" on pitlb, pitlbe
	fic and fice instructions to test 3bit space identifiers.
	* gas/hppa/basic/system.s: Similarly for iitlba and
	iitlbp.
	* gas/hppa/basic/basic.exp: Corresponding changes.

Thu Aug 15 16:25:05 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/arm/arm.exp: Change inst.s test to check objdump.
	* gas/arm/inst.d: Added.

Thu Aug 15 16:06:02 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/arm/thumb.s: Added.
	* gas/arm/immed.s: Added.
	* gas/arm/arch4t.s: Added.
	* gas/arm/arm.exp: Updated to run the new tests.

Tue Aug  6 11:06:29 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/h8300/misch.s: Reenable "eepmov.w" test.
	* gas/h8300/miscs.s: Likewise.
	* gas/h8300/h8300.exp: Check for correct assembly of "eepmov.w"
	on the H8/300H and H8/S.  Don't expect it to fail.

Wed Jul 31 10:57:44 1996  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/asi.s: Update ASI_AS_IF_USER_{PRIMARY,SECONDARY}_LITTLE.

Wed Jul 31 15:55:12 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/arm/arm7t.s: Added.
	* gas/arm/arm7t.d: Added.
	* gas/arm/arm.exp: Updated to run the new test.

Mon Jul  8 14:27:39 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/m68k/pcrel.d: Rename from schwab.d.
	* gas/m68k/pcrel.s: Rename from schwab.s.

Mon Jul  8 14:23:26 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* gas/m68k/schwab.d: Correct for ELF format.
	* gas/m68k/all.exp: Run "schwab" test for all targets.

Thu Jul  4 14:23:36 1996  Ian Lance Taylor  <ian@cygnus.com>

	Avoid DOS file naming problems:
	* gas/h8300/branch.s: Rename from branches.s.
	* gas/h8300/branchh.s: Rename from branchesh.s.
	* gas/h8300/branchs.s: Rename from branchess.s.
	* gas/h8300/rotsh.s: Rename from rotshift.s.
	* gas/h8300/rotshh.s: Rename from rotshifth.s.
	* gas/h8300/rotshs.s: Rename from rotshifts.s.
	* gas/h8300/h8300.exp: Corresponding changes.

Thu Jul  4 14:01:46 1996  James G. Smith  <jsmith@cygnus.co.uk>

	* gas/mips/mips.exp: Add new tests for processors with interlocks
	on div and mul.
	* gas/mips/div-ilocks.d: Added.
	* gas/mips/mul-ilocks.d: Added.

Wed Jul  3 14:20:04 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/all/gas.exp: Remove setup_xfail for h8300*-*-* for two tests
	which now pass.
	* gas/h8300/h8300.exp: Fix regexp of mov32bug test to work on a 64
	bit host.

Sat Jun 29 18:21:51 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/all/gas.exp: Add setup_xfail for vax*-*-vms* for 930509a
	test.
	* gas/vax/quad.exp: Expect a nop after the movq.

Tue Jun 18 12:39:49 1996  Jeffrey A. Law  <law@rtl.cygnus.com>

	* gas/h8300/cbranchh.s: Switch into h8300h mode.
	* gas/h8300/h8300.exp (H8/300H misc tests): Fix test names.

	* gas/h8300/{addsubs.s,bitops1s.s,bitops2s.s}: New tests for the
	H8/S.
	* gas/h8300/{bitops3.s,bitops4.s,cbranchs.s,logicals.s}: Likewise.
	* gas/h8300/{branchess.s,compares.s,macs.s,decimals.s}: Likewise.
	* gas/h8300/{incdecs.s,divmuls.s,miscs.s,multiples.s}: Likewise.
	* gas/h8300/{movbs.s,movws.s,movls.s,pushpops.s}: Likewise.
	* gas/h8300/{rotshifts.s,extends.s}: Likewise.
	* gas/h8300/h8300.exp: Run them.

Mon Jun 10 14:14:40 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/all/cofftag.s, gas/all/cofftag.d: New test for COFF enum tag
	with the same name as a global variable.
	* gas/all/gas.exp: Run cofftag test for any COFF target.

Thu Jun  6 12:30:05 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/m68k/all.exp: Pass -m68020 when assembling the disperr.s
	test.

Fri May 31 10:11:13 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/h8300/h8300.exp: Fix add.l test for H8/300H.

Wed May 29 16:35:43 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/jal-xgot.d: Correct for 64 bit output.

Thu Apr 25 19:31:59 1996  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/sparc.exp: Only run sparclet tests if sparclet.

Wed Apr 24 17:06:18 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/m68k/op68000.d: Add statements now caught by gas.

Mon Apr 22 16:45:12 1996  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/splet.[ds]: New tests for sparclet extensions.
	* gas/sparc/sparc.exp: Run them.

Mon Apr 15 17:25:18 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/la.d: Updated for April 5 MIPS assembler changes.
	* gas/mips/lb.d, gas/mips/ld.d, gas/mips/sb.d: Likewise.
	* gas/mips/uld.d, gas/mips/ulh.d, gas/mips/ulw.d: Likewise.
	* gas/mips/usd.d, gas/mips/ush.d, gas/mips/usw.d: Likewise.

Wed Apr 10 14:27:51 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/h8300/mov32bug.s: New test.
	* gas/h8300/h8300.exp: Run it.

Fri Apr  5 10:13:28 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/h8300/{addsubh.s,bitops1h.s,bitops2h.s}: New h8300h tests.
	* gas/h8300/{bitops3h.s,bitops4h.s,branchesh.s}: New h8300h tests.
	* gas/h8300/{cbranchh.s,compareh.s,decimalh.s}: New h8300h tests.
	* gas/h8300/{divmulh.s,incdech.s,logicalh.s}: New h8300h tests.
	* gas/h8300/{misch.s,movbh.s,movwh.s}: New h8300h tests.
	* gas/h8300/{pushpoph.s,rotshifth.s}: New h8300h tests.
	* gas/h8300/h8300.exp: Run them.

	* gas/h8300/{movb.s,movw.s}: Correct predecrement syntax.

	* gas/h8300/h8300.exp: Fix typos in bitops4 and movb tests.

	* gas/h8300/{addsub.s,bitops1.s,bitops2.s}: New h8300 tests.
	* gas/h8300/{bitops3.s,bitops4.s,branches.s}: New h8300 tests.
	* gas/h8300/{cbranch.s,compare.s,decimal.s}: New h8300 tests.
	* gas/h8300/{divmul.s,incdec.s,logical.s}: New h8300 tests.
	* gas/h8300/{misc.s,movb.s,movw.s}: New h8300 tests.
	* gas/h8300/{pushpop.s,rotshift.s}: New h8300 tests.
	* gas/h8300/h8300.exp: Run them.

Fri Mar 15 17:16:24 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/sparc/synth.d: Don't require sparc in the file format, since
	it won't be there on SunOS.

Thu Mar  7 14:51:23 1996  Doug Evans  <dje@charmed.cygnus.com>

	* gas/sparc/synth.[ds]: New testcase.
	* gas/sparc/sparc.exp: Run it.

Fri Mar  1 12:01:48 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/all/gas.exp: xfail difference of two undefined symbols
	and difference of forward references for the h8300.

Thu Feb 22 16:40:31 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/lb-xgot.d: Correct.

Mon Feb 19 02:43:36 1996  Doug Evans  <dje@charmed.cygnus.com>

	* gas/sparc/{asi,membar,prefetch,rdpr,synth64,wrpr}.d: Pass -Av9
	to gas.
	* gas/sparc/addend.exp: Execute for any sparc cpu.
	* gas/sparc/{mismatch.exp,mism-1.s}: New test.

Wed Feb 14 13:49:59 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/jal-xgot.d, gas/mips/la-xgot.d: New tests.
	* gas/mips/lb-xgot.d, gas/mips/ld-xgot.d: New tests.
	* gas/mips/lif-xgot.d, gas/mips/ulh-xgot.d: New tests.
	* gas/mips/mips.exp: Run new tests if svr4pic.

Sat Jan 27 13:27:45 1996  Doug Evans  <dje@charmed.cygnus.com>

	* lib/gas-dg.exp (gas-dg-test): Delete default_flags and libs args.

Fri Jan 26 14:24:01 1996  Jeffrey A Law  (law@cygnus.com)

	* gas/hppa/unsorted/unsorted.exp: Update for objdump changes.

Wed Jan 10 12:40:31 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/*.d: Update for changes to disassembler.

Wed Jan  3 22:59:53 1996  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/ulh-svr4pic.d: Update for tc-mips.c load_address
	change.

Fri Nov 17 10:32:25 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/immconst.d: New test.
	* gas/mri/mri.exp: Run it.
	* gas/mri/constants.s: Test immediate constants.
	* gas/mri/constants.d: Corresponding change.

	* gas/m68k/link.s: Add nop to pad to eight byte boundary.
	* gas/m68k/link.d: Corresponding change.

Sun Nov 12 21:28:11 1995  Jeffrey A Law  (law@cygnus.com)

	* gas/hppa/unsorted/brlenbug.s: New test.
	* gas/hppa/unsorted/unsorted.exp: Run it.

Sun Nov  5 12:49:27 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/beq.s: Declare text_label global.
	* gas/mips/jal.s: Likewise.

Fri Nov  3 12:35:07 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/m68k/link.s: Use "&" instead of "#" for immediate values.

	* gas/m68k/fmoveml.s, gas/m68k/fmoveml.d: New test.
	* gas/m68k/all.exp: Run it.

Thu Nov  2 23:11:05 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/m68k/link.s, gas/m68k/link.d: New test.
	* gas/m68k/all.exp: Run it.

Tue Oct 24 10:57:20 1995  Jeffrey A Law  (law@cygnus.com)

	* gas/hppa/basic/basic.exp: Test lci and syncdma instructions.
	* gas/hppa/basic/system.s: Corresponding changes.

Fri Oct  6 17:13:35 1995  Ken Raeburn  <raeburn@cygnus.com>

	* gas/m68k/operands.d: Don't require a fixed number of leading
	zeros in any number.

	* gas/m68k/operands.s, gas/m68k/bitfield.s: Use "&" instead of "#"
	for immediate values.

Fri Oct  6 10:54:13 1995  Doug Evans  <dje@canuck.cygnus.com>

	* gas/arm/arm.exp: Renamed from gas.exp.
	* gas/arm/le-fpconst.[sd]: New testcase.

Fri Sep 29 15:12:10 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/mri.exp: Only run tests for m68k target.

Mon Sep 25 12:31:46 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/mri.exp: Add setup_xfail for arm*-*-* for constants
	test.

Thu Sep 21 01:26:08 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/sh/fp.s (fmac): Update for new assembly syntax.

Mon Sep 18 14:04:34 1995  Ian Lance Taylor  <ian@cygnus.com>

	* lib/gas-defs.exp (gas_run): Call prune_system_crud.
	(run_dump_test, objdump): Likewise.

Thu Sep 14 13:10:10 1995  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/{wrdr.[ds],rdpr.[ds]}: New tests.
	* gas/sparc/sparc.exp: Run them.

Wed Sep 13 16:35:51 1995  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in, configure.in: Remove; the testsuite is now run
	directly from the gas Makefile.

Mon Sep 11 11:44:23 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/empty.s: New file.
	* gas/mri/mri.exp: Test assembling empty.s.
	* gas/mri/comment.s: Add a couple more comment variants.

	* gas/mri/mri.exp: Add xfail for the expr test for all hppa
	targets.

Wed Sep  6 21:39:23 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/comment.s, gas/mri/comment.d: New test.
	* gas/mri/mri.exp: Run it.
	* gas/mri/expr.s: Remove whitespace in operand field.
	* gas/mri/for.s: Add comments for further testing.
	* gas/macros/test2.s: Put in an upper case ELSE to test case
	insensitivity.

Wed Aug 30 16:12:03 1995  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/{prefetch.[ds],synth64.[ds]}: New tests.

Tue Aug 29 18:59:33 1995  Doug Evans  <dje@canuck.cygnus.com>

	* gas/sparc/sparc.exp: New file.
	* gas/sparc/{asi.[ds],membar.[ds]}: New tests.

Mon Aug 21 14:39:29 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/macros/*: New tests for macros.

	* gas/mri/common.s: Use data, not .data.

	* gasp/pl3.out: Update for changes in commented source output when
	LOCAL is used.

Sat Aug 19 17:36:17 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gasp/gasp.exp (gasp_test): Call prune_system_crud on the output
	of diff.
	* lib/gas-defs.exp: Define prune_system_crud if it is not already
	defined.

Fri Aug 18 11:09:38 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gasp/mri/*.out: Use ;, not !, for the comment character.

Wed Aug 16 12:24:12 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/mri.exp: Change hppa*-*-* expected failures to only
	expect failure for targets which use SOM.

	* lib/gas-defs.exp (run_dump_test): If the program to run does not
        exist, mark the test as untested.

	* gas/mri/mri.exp: Add setup_xfail for i960 b.out targets for
	common test.

	* lib/gas-defs.exp (run_dump_test): Name the output file dump.o,
	rather than using an implicit a.out.

	* gas/mri/for.s: Add nop to round out to four byte boundary.
	* gas/mri/repeat.s: Likewise.
	* gas/mri/while.s: Likewise.
	* gas/mri/for.d: Expected added nop.
	* gas/mri/repeat.d: Likewise.
	* gas/mri/while.d: Likewise.

	* gas/mips/*.d: Change all test names to say MIPS.

Tue Aug 15 15:42:33 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/for.d, gas/mri/for.s: New test.
	* gas/mri/if.d, gas/mri/if.s: New test.
	* gas/mri/repeat.d, gas/mri/repeat.s: New test.
	* gas/mri/while.d, gas/mri/while.s: New test.
	* gas/mri/mri.exp: Run the new tests.

Mon Aug 14 16:03:07 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/expr.d: Permit leading zeroes, in case we're using a
        64-bit BFD.

	* gasp/mri/*: New tests.
	* gasp/gasp.exp: Run them.  Also, clean up the test names used in
	pass and fail.

Sun Aug 13 00:39:24 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/sh/basic.exp: Update now that we know the right
	bit patters for the new sts instructions.

Thu Aug 10 00:46:21 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/char.d: Fix for little endian machines.
	* gas/mri/float.d: Likewise.

Wed Aug  9 15:34:36 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/all/struct.s, gas/all/struct.d: New test.
	* gas/all/gas.exp: Run it.

Tue Aug  8 17:11:39 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/common.s, gas/mri/common.d: New test.
	* gas/mri/mri.exp: Run it.

Mon Aug  7 22:39:28 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/mri.exp: Add setup_xfail for a29k*-*-* for constants
	test.

	* gasp/crash1.out, gasp/macro.out, gasp/sfunc.out: Complete
	truncated files, so that the tests pass.

	* gas/mri/mri.exp: Add setup_xfail for hppa*-*-* for equ,
	constants, and expr.

	* gas/m68k/all.exp: Run schwab test on hpux*, not just hpux.  Run
	on vxworks*, not just vxworks5.1.

	* lib/gas-defs.exp (fail_phase, pass_phase): Remove.
	(run_dump_test): Just call pass or fail.

	* gas/m68k/operands.s, gas/m68k/operands.d: New test.
	* gas/m68k/op68000.d: New test.
	* gas/m68k/cas.s, gas/m68k/cas.d: New test.
	* gas/m68k/bitfield.s, gas/m68k/bitfield.d: New test.
	* gas/m68k/schwab.d: Run objdump with -j .text.  Adjust for
	changes to disassembler.
	* gas/m68k/all.exp: Run new tests.  Run schwab test for
	m68k-*-coff*.

Mon Aug  7 03:01:32 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/sh/*: New tests for the hitachi-sh.

Tue Aug  1 18:02:47 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mri/*: New tests for MRI mode.

	* lib/gas-defs.exp (run_dump_test): Support using objcopy.  Dump
	program executions to the log file before running them.  Use the
	simple program name, rather than the path to the binary being run,
	in pass/fail messages.
	(regexp_diff): If the regexp file has the special comment #pass,
	stop checking at that point.
	* config/default.exp: Set NM, NMFLAGS, OBJCOPY, and OBJCOPYFLAGS,
	if they are not already set.

Tue Aug  1 11:41:30 1995  steve chamberlain  <sac@slash.cygnus.com>

	* Makefile.in: Remove superfluous runtest gasp.

Mon Jul 31 18:19:26 1995  steve chamberlain  <sac@slash.cygnus.com>

	* gasp/*: New.
	* Makefile.in: Use gasp tests.
	* config/default.exp: Add gasp stuff.

Thu Jul 20 18:56:48 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/all/gas.exp: Disable tests that are not appropriate for
	the PA.

Thu Jul 13 18:22:49 1995  Ken Raeburn  <raeburn@cygnus.com>

	* gas/m68k/all.exp: Run schwab test for m68k vxworks5.1.

Wed Jun 21 21:28:57 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/m68k/schwab.*: New test based on a test case from Andreas
	Schwab.
	* gas/m68k/all.exp: Run it for some aout configurations.

Mon Jun 12 22:27:18 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/parse/badfmpyadd.s: New test.
	* gas/hppa/parse/parse.exp: Run it.

Sun May 21 20:26:18 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/unsorted/unsorted.exp: Disable align4 tests for
	ELF targets.

Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)

	* arm/arm7dm.s: New file -- tests for ARM7DM instructions.
	* arm/arm6.s: Correct bogus tests.
	* arm/gas.exp (arm6.s): Is now a valid test.
	(arm7dm.s): New test.
	* arm/float.s: Add load/store multiple floating point instruction
	tests.

Wed May  3 13:14:44 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/longcall.s: New test.
	* gas/hppa/reloc/reloc.exp: Run it.

Tue May  2 16:37:48 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/mips/ld.d: Modified for gas delay-slot fixes.

Sat Apr 29 23:35:18 1995  Doug Evans  <dje@chestnut.cygnus.com>

	* lib/gas-dg.exp: New file.

Tue Apr 11 13:57:52 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/mips/mips4.d: Allow more than exactly 8 zeros in bc1*
	targets.

Mon Apr 10 15:36:39 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* lib/gas-defs.exp (pass_phase): New proc.
	(run_dump_test): Note passing or failing of each phase of this
	test, instead of failure of phases or passing of complete test.
	Ensure test file name is in reported message.

Sat Apr  8 12:46:33 1995  Doug Evans  <dje@chestnut.cygnus.com>

	* lib/gas-defs.exp (run_dump_test): Handle arguments with paths.
	Always resolve testcase status before returning.
	If `slurp_options' fails, return and don't do test.
	(slurp_options): Fix "can't open" error message.
	Return -1 to indicate error.

Mon Mar 20 22:45:30 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/unsorted/common.s: New test.
	* gas/hppa/unsorted/unsorted.exp: Run it.

Fri Mar 10 19:07:09 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/h8300/ffxx1.s: Add .word 0 at the end to eliminate
	uncertainty as to whether there should be trailing bytes in the
	output file.
	* gas/h8300/ffxx1.d: Adjust reloc values to permit an addend value
	of 0x00000000ffffffff on 64-bit hosts.  (I'm not sure if this is
	correct.)  End with "..." to match trailing zero bytes.

Wed Mar  8 15:50:34 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/mips4.d, gas/mips/mips4.s: New files.
	* gas/mips/mips.exp: Run new test.

Thu Feb 23 17:58:50 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/basic/fmemLRbug.s: Add indexing variants.
	* gas/hppa/basic/basic.exp: Test them.

Wed Feb 15 15:43:26 1995  Ian Lance Taylor  <ian@cygnus.com>

	* gas/mips/uld.d: New file.
	* gas/mips/uld.s: New file.
	* gas/mips/usd.d: New file.
	* gas/mips/usd.s: New file.
	* gas/mips/mips.exp: Run new tests.

Thu Feb  9 10:57:39 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/applybug.s: New test.
	* gas/hppa/reloc/reloc.exp (do_applybug_test): Run it.

Thu Feb  2 00:34:55 1995  Jeff Law  (law@snake.cs.utah.edu)

        * gas/hppa/reloc/picreloc.s: New test.
	* gas/hppa/reloc/reloc.exp (do_pic_relocation_test): Run it.

Fri Jan 27 14:02:02 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/h8300/ffxx1.d, gas/h8300/ffxx1.s, gas/h8300/cmpsi2.s,
	gas/h8300/h8300.exp: New tests.

Mon Jan 23 21:44:26 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/basic/basic.exp (do_system): Update.

Wed Jan 11 17:20:25 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/mips/mips.exp: Don't run the memory-access tests if the
	format is a.out, because the generated code is different from what
	is used with other formats.

Tue Jan 10 11:42:13 1995  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/unsorted/unsorted.exp (align4.s): Fix glitch in
	regexp to avoid losing without a controlling tty.

Fri Dec 30 18:08:20 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/i386/pushw.l: Fixed whitespace to match current listing
	style.

	* gas/all/gas.exp: Mark test p1480.s expected to pass, even with
	listings enabled.

Thu Dec 15 18:14:27 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* Makefile.in (AS_FOR_TARGET, OBJDUMP_FOR_TARGET): Don't set.
	(uninstall): Don't set OBJDUMP and OBJDUMPFLAGS in site.exp.
	* config/default.exp: Default OBJDUMP and OBJDUMPFLAGS.  Use
	findfile and transform procedures to determine objdump program
	name.

	* gas/mips/abs.s, gas/mips/div.s: Force some padding at the end,
	in case the format doesn't automatically require it.
	* gas/mips/beq.d, gas/mips/jal.d: Handle MIPS_JMP as an alternate
	name for the reloc type.

	* lib/gas-defs.exp (file_contents, verbose_eval): New procs.
	(run_dump_test): If verbosity level is over 3, print out dump
	command and its output.

Tue Dec 13 18:21:09 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* gas/mips/jal-svr4pic.d: Fix 0-strings to work with 64-bit hosted
	disassembly.

Fri Dec  9 19:54:04 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/all/gas.exp (comment.s test): Make the "\r" optional, since
	it depends on tty modes.

	* lib/gas-defs.exp (gas_start): Try using -nottycopy instead of
	-nottyinit.

	* gas/arm/gas.exp: The arm6 test should report errors, for now.

Thu Dec  8 20:19:09 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* lib/gas-defs.exp: Use -i in expect_after command.

Wed Dec  7 16:49:14 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/mips/mul.d,jal.d: Fix 0-strings to work with 64-bit hosted
	disassembly.

	* gas/ieee-fp: Renamed from ieee.fp.

	* lib/gas-defs.exp: Make sure timeout is at least 2 minutes.

Wed Nov 30 10:48:00 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/parse: Renamed from gas/hppa/more.parse.

Mon Nov 28 00:40:26 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/parse.exp (nosubspace.s): No longer expected
	to fail.  Fix comments for the test.  Tweak test name.

Tue Nov 22 23:38:20 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp: Minor tweaks to match current PA ELF
	output.

Fri Nov 18 17:56:57 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* gas/mips/ld.d: Adjust to work for both big and little endian
	code.
	* gas/mips/ld.s, gas/mips/lif-empic.d: Likewise.
	* gas/mips/lifloat.d, gas/mips/ulh-empic.d: Likewise.
	* gas/mips/ulh.d, gas/mips/ulw.d, gas/mips/ush.d: Likewise.
	* gas/mips/usw.d: Likewise.

Tue Nov 15 11:09:57 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/unsorted/align4.s: New test.
	* gas/hppa/unsorted/unsorted.exp: Run it.

	* gas/hppa/unsorted/unsorted.exp (importbug): Tweak to match
	current expected PA ELF output.
	* gas/hppa/reloc/reloc.exp (do_r_no_reloc): Likewise.
	(do_plabel_relocation_test): Likewise.

Thu Nov  3 18:14:09 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>

	* gas/all/p1480.s: Use larger constant, so expression can have a
	positive value.
	* gas/all/gas.exp: Expect p1480.s without listings to pass.

Thu Nov  3 15:43:46 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* gas/mips/ulh.d, gas/mips/ulw.d, gas/mips/ush.d, gas/mips/usw.d:
	Correct test cases.

Thu Oct 20 00:55:13 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/blebug3.s: New test.
	* gas/hppa/reloc/reloc.exp: Run it.

Mon Oct 17 02:33:53 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reduce3.s: New test.
	* gas/hppa/reloc/reloc.exp: Run it.

Sun Oct 16 22:25:56 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp (r_no_reloc): Tweak output to match
	current reality.

Wed Sep 28 21:21:34 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reduce.s: Renamed from relocreduce.s
	* gas/hppa/reloc/reduce2.s: Renamed from relocreduce2.s
	* gas/hppa/reloc/r_no_reloc.s: Renamed from r_no_relocbug.s
	* gas/hppa/reloc/reloc.exp: Changed accordingly.

Wed Sep 28 13:25:10 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)

	* gas/mips/beq.d, gas/mips/beq.s: Test that unconditional branch
	overflows are correctly converted to jumps.

Mon Sep 26 17:41:43 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)

	* gas/mips: Add test cases for PIC code, both SVR4 style and
	-membedded-pic style.

Fri Sep 23 14:45:42 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)

	* gas/mips: New directory with MIPS specific test cases.

	* lib/gas-defs.exp (run_dump_test): Permit the .d file to specify
	the name of the source file to assemble.
	(regexp_diff): Put the reason for failure in the log file.

Wed Sep 21 13:44:21 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)

	* lib/gas-defs.exp: Don't try to use shell redirection, since TCL
	doesn't support it.  Redirect stdout using > instead of 1>, and
	don't bother to redirect stderr since TCL redirects it anyhow.
	(run_dump_test): Pass appropriate arguments to program, defaulting
	to -r.

Sat Sep 17 01:04:56 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* gas/vax: New directory.
	* gas/vax/{quad.s,quad.exp}: New test, for immediate quadword
	values.

Mon Sep 12 22:19:11 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/r_no_relocbug.s: New test.
	* gas/hppa/reloc/reloc.exp: Run it.

	* gas/hppa/reloc/reloc.exp (do_function_reloc_bug): Update
	expected output.

Sun Sep 04 17:58:10 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)

	* gas/arm/*: New subtree.  Add ARM tests.

Mon Aug  8 12:13:31 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/unsorted/unsorted.exp: Accept any character
	between foo's type and foo itself.

Fri Jul 15 19:09:25 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* lib/gas-defs.exp (run_dump_test): New routine for running the
	assembler, running objdump or nm (not fully supported) on the
	resulting object file, and comparing the results against a file of
	regular expressions in the test suite, all in one command.
	Options for the assembler and objdump are read from comments at
	the start of the .d file.
	(fail_phase, slurp_options): New auxiliary routines.
	(regexp_diff): Always return a value.  Fix bugs in actually doing
	the regexp test.

	* gas/sun4/addend.exp: Use run_dump_test.
	* gas/sun4/addend.d: Fix regular expressions so that they work.

Thu Jul  7 11:55:33 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/relocreduce2.s: More relocation reduction tests.
	* gas/hppa/reloc/reloc.exp: Run them.

Thu Jun 30 18:49:25 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* config/default.exp: Look for "as.new" in "$base_dir/..", where
	it got compiled, not in "$base_dir".
	* config/unknown.exp: Deleted.

Sun Jun 26 13:23:54 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/lib/gas-defs.exp (gas_finish): Call "close" and "wait"
	before exiting.  Enclose both calls inside a "catch".
	(objdump_finish): Likewise.

Fri Jun 10 10:23:35 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp (roundmode test): Tweak expected output
	for SOM to match current testcase.

Thu Jun  2 19:46:58 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* gas/i386/{pushw.s,pushw.l}: New test.
	* gas/i386/all.exp: Run it.

	* Makefile.in (distclean): Remove site config files and gas.sum.

Fri May 27 12:24:18 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* gas/m68k/disperr.s: Use % for registers.

	* gas/m68k-coff/gas.exp: Expect failure for p2389a.s.

Tue May 17 14:53:08 1994  Bill Cox  (bill@rtl.cygnus.com)

	* lib/gas-defs.exp: Replace error proc calls with perror calls.

Mon May 16 13:19:16 1994  Jeff Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp: Tweak expected output to match new
	ELF code.
	* gas/hppa/reloc/roundmode.s: Avoid "S" and "D" modes, ELF does
	not support them.
	* gas/hppa/unsorted/unsorted.exp: Tweak expected output to match
	new ELF code.

Thu May  5 17:27:54 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* config/default.exp: Renamed from unix-gas.exp.

Mon Apr 11 10:31:00 1994  Bill Cox  (bill@rtl.cygnus.com)

	* Makefile.in (check): Set TCL_LIBRARY for runtest.

Mon Apr 11 07:54:10 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/callinfobug.s: Add missing name for
	procedure.

	* gas/hppa/reloc/funcrelocbug.s: Place the trampoline in the
	$DATA$ rather than $LIT$ subspace.

Sun Mar 27 14:05:33 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/funcrelocbug.s: New test.
	* gas/hppa/reloc/reloc.exp: Run it.

Thu Mar 17 13:38:04 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/unsorted/importbug.s: New test.
	* gas/hppa/unsorted/unsorted.exp: Run it.

Wed Mar 16 11:57:07 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/regpopbug.s: Add trivial .equ test.

	* gas/hppa/unsorted/globalbug.s: New test (expected to fail).
	* gas/hppa/unsorted/unsorted.exp: Run it.

	* gas/hppa/more.parse/callinfobug.s: New test.
	* gas/hppa/omre.parse/parse.exp: Run it.

	* gas/hppa/more.parse/regpopbug.s: New test.
	* gas/hppa/more.parse/parse.exp: Run it.

Mon Feb 28 14:10:04 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* lib/gas-defs.exp (objdump): New proc.
	(objdump_start): Deleted unused proc.
	(objdump_start_common): Merged into objdump_start_no_subdir.

	* gas/alpha/fp.exp: Use objdump instead of
	objdump_start_no_subdir, since the former actually waits for
	objdump to finish.  Specify .rdata section only.  Make comment
	indicate Alpha architecture rather than SPARC.
	* gas/alpha/fp.d: Omit .reginfo patterns.  Just use "." to match
	against ASCII code 0x2a ("*", special in regexp).
	* gas/sun4/addend.exp: Use objdump instead of
	objdump_start_no_subdir.

Thu Feb 24 07:11:57 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

        * gas/hppa/more.parse/parse.exp (no subspace test): Only expect
	a failure if gas is not producing an ELF object.

Mon Feb 14 09:24:03 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/basic/fmemLRbug.s: New test.
	* gas/hppa/basic/basic.exp: Run it.

Thu Feb 10 00:34:26 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* gas/alpha/fp.*: New files.
	* lib/gas-defs.exp (regexp_diff): Report noted mismatch at
	verbosity level 3 or above only.

Mon Feb  7 15:53:10 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/*/*.exp: Change xfails to check for PA ELF rather than
	PA OSF1.

Fri Feb  4 23:42:14 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/xmpyubug.s: New test.
	* gas/hppa/more.parse/parse.exp: Run it.

Fri Feb  4 17:13:20 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* lib/gas-defs.exp (regexp_diff): New procedure, vaguely based on
	"simple_diff" from linker test suite.
	* gas/sun4/addend.exp: Use it.
	* gas/sun4/addend.d: New file.

Sun Jan 30 23:34:58 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

	* gas/all/gas.exp: Adjust regexp for x930509.s for current listing
	format.

Thu Jan 20 16:44:51 1994  Rob Savoye  (rob@darkstar.cygnus.com)

	* gas/all/gas.exp, lib/gas-defs.exp, sun4/addend.exp,
	sparc-solaris/addend.exp: Tweaked to fix a few bugs and to run
	well under either version of expect.

Mon Jan 17 00:25:03 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/basic/fp_misc.s: Delete copr instruction.  It's tested
	elsewhere now.
	* gas/hppa/basic/{copr, coprmem, spop}.s: New tests.
	* gas/hppa/basic/basic.exp: Run them.

Thu Jan 13 11:59:22 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/all/gas.exp: No longer expect difference of forward
	references to fail.
	* gas/all/x930509.s: Fix testcase to match how the expect code was
	written.

Wed Jan 12 13:41:10 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp: Fix typo in last change.  Latest test
	for cross-subspace call bugs is no longer expected to fail.

	* gas/hppa/more.parse/procbug.s: Add test for another bug relating
	to having a function's label follow the .PROC directive.

Tue Jan 11 21:47:48 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp: Add test for cross-subspace call bug
	found while working on multiple $CODE$ subspace support.

Mon Jan 10 09:54:15 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/parse.exp: procbug.s is no longer expected
	to fail.
	* gas/hppa/more.parse/procbug.s: Add missing .procend.

Mon Jan  3 10:07:47 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/labelbug.s: Add testcase for bug in last
	app.c change.

Wed Dec 29 11:32:39 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/labelbug.s: Add more colonless label tests.

Wed Dec 15 08:24:31 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)

	* Makefile.in (site.exp): Don't set ASFLAGS.  Quote value of
	OBJDUMPFLAGS in case it's empty.  Use temporary names until the
	end; make creating site.exp the final step.
	(check): Pass in ASFLAGS.

	* gas/all/gas.exp: Use all_ones proc.  Change regexp for matching
	C comments to avoid bugs in latest expect code.

Wed Dec  8 14:30:14 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/m68k/disperr.s: New test.
	* gas/m68k/all.exp: Run it.

Sun Dec  5 19:24:57 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/roundmode.s: New test.
	* gas/hppa/reloc/reloc.exp: Run it.  Fix typo in last change.

Wed Dec  1 10:44:18 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp: Run the first half of bogus R_EXIT
	test for ELF.

Tue Nov 30 13:43:21 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/parse.exp: Test for error on for subspace
	directive is an XFAIL for SOM assmeblers.

	* gas/hppa/reloc/reloc.exp: Remove XFAIL for relocation on
	cross-subspace call test.

Sun Nov 28 12:12:50 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/appbug.s: New test.
	* gas/hppa/more.parse/parse.exp: Run it.

	* gas/hppa/unsorted/align3.s: New test.
	* gas/hppa/unsorted/unsorted.exp: Run it.

Sat Nov 27 22:50:01 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/all/p2425.s: Insert a tab before assembler directives so
	that the directives are not interpreted as labels.

	* gas/hppa/basic/weird.s: Sync with GDB version.

	* gas/hppa/more.parse/labelbug.s: New test.

	* gas/hppa/more.parse/parse.exp: Run it.

Wed Nov 24 01:25:03 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/fixupbug.s: New test.
	* gas/hppa/reloc/reloc.exp: Run it.

	* gas/hppa/reloc/exitbug.s: New test.
	* gas/hppa/reloc/reloc.exp: Run it.

Sun Nov 21 22:11:10 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp: Minor fixes so that SOM & ELF can
	share the same test code.
	* gas/hppa/reloc/relocreduce.s: Likewise.

	* gas/hppa/basic/fmem.s: Add quadword FP store instructions.
	* gas/hppa/basic/basic.exp: Test quadword FP store instructions.

Sun Nov  7 00:31:41 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp: No longer expect failure for
	field selector on ble instruction test.

	* gas/hppa/basic/basic.exp: No longer expect failures for
	system instruction tests now that probei is fixed.

Sat Nov  6 22:45:08 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/selectorbug.s: New test.
	* gas/hppa/reloc/reloc.exp: Run it.

Thu Nov  4 17:01:30 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/unsorted/fragbug.s: New test.
	* gas/hppa/unsorted/unsorted.exp: Run it.

Thu Nov 04 09:09:49 1993  Jeffrey Wheat  (cassidy@cygnus.com)

	* Makefile.in: Changed RUNTESTFLAGS to RUNTEST_FLAGS

Tue Nov  2 22:12:30 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/{defbug.s, stdreg.s}: New tests.
	* gas/hppa/more.parse/parse.exp: Run them.

Mon Nov  1 23:37:58 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/reloc/reloc.exp (reloc_reduce): Correct offsets at
	which specific relocations are expected to be found.

Sat Oct 30 14:12:31 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/unsorted/unsorted.exp (ss_align): Remove OSF xfail.

	* gas/hppa/more.parse/parse.exp: Add new test.
	* gas/hppa/more.parse/ssbug.s: New test to make sure non-default
	sections are handled correctly.

	* gas/all/gas.exp: Disable (and fail) p1480.s for all PA targets.

Fri Oct 29 16:29:06 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/more.parse/calldatabug.s: Colonize.
	* gas/hppa/more.parse/parse.exp: Fix typos.

Thu Oct 28 21:40:06 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)

	* gas/hppa/{basic, more.parse, reloc, unsorted}: New directories.
	* gas/hppa/*/*.exp: New test drivers.
	* gas/hppa/*/*.s: New test files.

Mon Oct 25 09:40:59 1993  Ken Raeburn  (raeburn@cygnus.com)

	* gas/sun4: New directory.
	* gas/sun4/addend.s,addend.exp: New test case.
	* gas/sparc-solaris/addend.s,addend.exp: Solaris version of same
	test case.

	* gas/all/gas.exp: Check `*' in C comments.

	* lib/gas-defs.exp (all_ones): New procedure, for a predicate to
	simplify some tests.
	(want_no_output): Return zero or nonzero, depending on success or
	failure.
	(gas_test_old): Return value from want_no_output.
	(objdump_start_common): Split off from objdump_start.
	(objdump_start_no_subdir): New procedure.

Wed Oct 20 07:25:48 1993  Ken Raeburn  (raeburn@rover.cygnus.com)

	* gas/all/diff1.s, gas/m68k/pic1.s: New tests.
	* gas/all/gas.exp, gas/m68k/all.exp: Run them.

	* Makefile.in (OBJDUMP_FOR_TARGET): Define similar to
	AS_FOR_TARGET.
	(check): Don't pass ASFLAGS variable.
	(site.exp): Put ASFLAGS, OBJDUMP, OBJDUMPFLAGS into site.exp.

	From Jeff Law:

	* lib/gas-defs.exp (objdump_start, objdump_finish): New functions
	so that tests can parse the output of objdump looking for errors
	in relocation entires, file headers and the like.

Thu Sep 23 16:20:34 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)

	* gas/ieee.fp/x930509a.exp: Currently expected to fail always.
	* gas/all/gas.exp (p1480.s, x930509.s): Ditto.  Break up gas_test
	call so it no longer performs multiple tests.
	* gas/m68k/all.exp (t2.s): Don't bother with listings.
	(p2410.s): Don't pass unwanted arguments to gas_test_error.

Wed Aug 25 16:50:08 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)

	* lib/do*: Remove RCS id strings.

Mon May 17 15:09:45 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)

	* gas/all/float.s, gas/all/p1480.s, gas/m68k/p2410.s: New tests.
	* gas/all/gas.exp, gas/m68k/all.exp: Run them.
	* gas/i386: New directory.

Mon May 10 14:50:20 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)

	* Added directory structure, to categorize tests by targets.
	* Added new tests all/x930509.s, ieee.fp/x930509a.s, m68k/p2663.s,
	and refined some to examine the assembler listing output.
	* lib/gas-defs.exp: Renamed gas_start to gas_run.  Added some
	expect_after patterns.
	(gas_start, gas_finish): New procs, for tests that examine process
	output.
	* config/unix-gas.exp: Invoke gas_init directly, instead of
	requiring test .exp files do it.

Wed Apr 21 01:24:16 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)

	* gas/gas.exp: Handle new tests, and changes to testing procs.

	* lib/gas-defs.exp (want_no_output): New proc; success iff output
	is empty.
	(gas_test_old): Functionally same as old gas_test.
	(gas_test_ignore_stdout): Rewritten to use want_no_output.
	(gas_test): New argument lists set of options to be tried in
	combinations.  Option with trailing ">" indicates standard output
	should be ignored.

	* gas/p2425a.s: Use %-form for registers, so this test can be run
	on m68k-coff targets too.

	* gas/p2430a.s: New test case, whitespace &c matches customer
	report more closely.  Gets different results from p2430.s; this is
	bad, and not yet tested for.

Mon Apr  5 12:27:19 1993  Ken Raeburn  (raeburn@cygnus.com)

	* gas/p2389a.s, gas/p2411.s, gas/t2.s: New test cases.
	* lib/run: New script.
	* gas/gas-defs.exp (gas_start): Takes new args, assembler options
	and redirection options.  Use "run" script so redirection works.
	(gas_test): Now takes assembler options as separate arg from input
	file name.
	(gas_test_ignore_stdout): New proc.  Discards output.
	(gas_test_error): New proc.  Expects assembler to generate output.
	(target_cpu_family setting): Handle i486->i386 also.

	* lib/do*: Scripts moved here from gas/testscripts.  May be useful
	someday for writing more test cases; not currently used.

Tue Mar 30 11:45:27 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)

	* gas/sol-gcc.s, gas/sol-cc.s, gas/p2425a.s, gas/p2389.s: New test
	cases.
	* gas/gas.exp: Enable them for appropriate targets.  Removed some
	useless comments &c.  Changed m68k target test to be more general.

	* lib/gas-defs.exp (gas_exit, gas_init): New procs.
	* gas/gas.exp: Call gas_init.

Mon Mar 29 00:00:00 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)

	* Test suite created.
