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.

