2004-07-14  Dorit Naishlos <dorit@il.ibm.com>

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-31.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-32.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-33.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-34.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-35.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-36.c: New test.
	
2004-07-04  Andi Kleen <ak@muc.de>

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-*.c: Add support for i?86-*-* 
	and x86_64-*-*. 
	* gcc.dg/tree-ssa-vect/tree-vect.h: New file.

2004-07-04  Dorit Naishlos <dorit@il.ibm.com> 

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-4*.c: Abort instead of print, and
        remove redundant check loop in main.

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-40.c: Move call to bar from main1
	to main.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-42.c: Likewise.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-46.c: Likewise.

2004-06-22  Dorit Naishlos <dorit@il.ibm.com>

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-54.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-55.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-56.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-57.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-58.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-59.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-60.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-61.c: New test.

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-50.c: Abort instead of print, and
	remove redundant check loop in main.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-51.c: Likewise.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-52.c: Likewise.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-53.c: Likewise.

2004-06-22  Devang Patel  <dpatel@apple.com>

        * gcc.dg/tree-ssa-vect/pr16105.c: New test.

2004-06-14  Dorit Naishlos <dorit@il.ibm.com>

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-46.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-47.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-48.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-49.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-50.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-51.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-52.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-53.c: New test.

2004-06-14  Dorit Naishlos <dorit@il.ibm.com>

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-40.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-41.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-42.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-43.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-44.c: New test.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-45.c: New test.

2004-06-09  Dorit Naishlos <dorit@il.ibm.com>

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-30.c: New test.

2004-05-20  Olga Golovanevsky  <olga@il.ibm.com>
	    Dorit Naishlos <dorit@il.ibm.com>

	* gcc.dg/tree-ssa-vect/tree-ssa-vect-8.c: Tests with
        unknown loop bounds should now be vectorized.
	* gcc.dg/tree-ssa-vect/tree-ssa-vect-none.c: Likewise.

2004-05-06  Sebastian Pop  <pop@cri.ensmp.fr>

	* gcc.dg/tree-ssa-chrec/ssa-chrec-{10, 30-36, 52, 59, 60}.c.ddall: Adjust.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-36.c: Remove comment.

2004-04-15  Dorit Naishlos <dorit@il.ibm.com>

        * gcc.dg/tree-ssa-vect/tree-ssa-vect-26.c: New test.
        * gcc.dg/tree-ssa-vect/tree-ssa-vect-27.c: New test.
        * gcc.dg/tree-ssa-vect/tree-ssa-vect-28.c: New test.
        * gcc.dg/tree-ssa-vect/tree-ssa-vect-29.c: New test.
        * gcc.dg/tree-ssa-vect/tree-ssa-vect-*.c: Use -msse2 instead of -msse.
        * gcc.dg/tree-ssa-vect/tree-ssa-vect-*.c: Temporarily change i*86 'run'
        tests to 'compile' tests.

2004-03-25  Sebastian Pop  <sebastian.pop@ensmp.fr>

	* ssa-chrec-10.c.ddall: Classify more access tuples as
	independent.
	* ssa-chrec-36.c.ddall: Same.

2004-03-11  Andrew Pinski  <pinskia@physics.uc.edu>

	* gcc.dg/tree-ssa/20040308-2.c: UnXFAIL.

2004-03-11  Andrew Pinski  <apinski@apple.com>

	* gcc.dg/tree-ssa/20040308-2.c: Fix dg-final.
	* gcc.dg/tree-ssa/20040308-1.c: XFAIL as the
	optimizer for this testcase is disabled.

2004-03-08  Andrew Pinski  <pinskia@physics.uc.edu>

	* gcc.dg/tree-ssa/20040308-1.c: New test.
	* gcc.dg/tree-ssa/20040308-2.c: New test.
	* gcc.dg/tree-ssa/20040308-3.c: New test.
	* gcc.dg/tree-ssa/20040308-4.c: New test.

2004-03-03  Sebastian Pop  <sebastian.pop@ensmp.fr>

	* ssa-chrec-*.c.scev: Removed.
	* ssa-chrec-[54..60].c: New.
	* ssa-chrec-{59, 60}.c.ddall: New.
	* ssa-chrec-*.c.ddall: The analyzer don't print the array
	discovery information, and this information has to go away
	from the ddall files.  This was one of the most varying part
	of the ddall files.  Maybe the base_name of the arrays has to
	be removed in the same way.
	* ssa-chrec-*.c: Don't scan the output for scev.  Some cases
	are adapted for using the elimination of checks.  

2004-02-20  Devang Patel <dpatel@apple.com>

	* testsuite/gcc.dg/tree-ssa-vect/tree-ssa-vect-3.c: New test.

2004-02-16  Devang Patel <dpatel@apple.com>

        * gcc.dg/tree-ssa-chrec/20040216-1.c: New test.

2004-01-29  Sebastian Pop  <sebastian.pop@ensmp.fr>

	* ssa-chrec-{01, 10, 30, 31, 32, 33, 34, 35, 36, 52, 53}.c: Update                       
	comments.
	* ssa-chrec-{13, 14}.c: Use call functions for avoid optimisations
	touching the condition.
	* ssa-chrec-{01, 06, 09, 10, 13, 14, 17, 24, 25, 26, 27, 28, 30, 33,
	36, 38, 39, 41, 43, 46, 47, 51, 52, 53}.c.scev: Adjusted.

	* ssa-chrec-10.c.ddall ssa-chrec-30.c.ddall
	ssa-chrec-31.c.ddall ssa-chrec-32.c.ddall ssa-chrec-33.c.ddall
	ssa-chrec-34.c.ddall ssa-chrec-35.c.ddall ssa-chrec-36.c.ddall
	ssa-chrec-52.c.ddall: New files.
	* ssa-chrec-10.c.alldd ssa-chrec-30.c.alldd
	ssa-chrec-31.c.alldd ssa-chrec-32.c.alldd ssa-chrec-33.c.alldd
	ssa-chrec-34.c.alldd ssa-chrec-35.c.alldd ssa-chrec-36.c.alldd
	ssa-chrec-52.c.alldd ssa-chrec-53.c.alldd: Removed.

2004-01-21  Sebastian Pop  <s.pop@laposte.net>

	* ssa-chrec-*: Replace -fdump-scalar-evolutions with
	-fdump-tree-scev.  Replace -fdump-all-data-deps with
	-fdump-tree-alldd.
	* tree-ssa-vect-*: Use -fdump-tree-vect instead of
	-fdump-tree-vect-stats.

2004-01-15  Sebastian Pop  <s.pop@laposte.net>

	* ssa-chrec-{06, 38, 42, 43}.c: Modify comments.
	* ssa-chrec-{06, 07, 08, 09, 11, 12, 13, 14, 16, 18, 20,
	21, 37, 38, 39, 42, 43, 44, 45, 53}.c.scev: Adjusted.
	* ssa-chrec-53.c.alldd: Adjusted.

2004-01-12  Sebastian Pop  <s.pop@laposte.net>

	* gcc.dg/tree-ssa-chrec/ssa-chrec-51.c.scev: Adjusted.

2004-01-12  Sebastian Pop  <s.pop@laposte.net>
            Dorit Naishlos  <dorit@il.ibm.com>

	* gcc.dg/tree-ssa-chrec/ssa-chrec-53.c: New test.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-53.c.scev: New.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-53.c.alldd: New.

2004-01-09  Sebastian Pop  <s.pop@laposte.net>

	* gcc.dg/tree-ssa-chrec/ssa-chrec-{01, 04, 06, 07, 09, 10, 17, 
	18, 27, 28, 32, 33, 34, 35, 39, 41, 45, 47, 48}.c: Update comments.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-{01, 02, 03, 04, 05, 06, 09, 
	10, 11, 17, 18, 27, 28,	30, 32, 33, 34, 35, 36, 37, 38, 39, 41, 
	42, 43, 44, 45, 46, 47, 48, 49, 50}.c.scev: Adjusted.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-{10, 30, 31, 32, 33, 34, 35, 
	36}.c.alldd: Adjusted.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-{51, 52}.c: New files.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-{51, 52}.c.scev: New.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-52.alldd: New.
	* ChangeLog.lno: New file.

2003-12-27  Sebastian Pop  <s.pop@laposte.net>

	* gcc.dg/tree-ssa-chrec/ssa-chrec-[01..50].c : New testcases.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-[01..50].c.scev: Expected
	outputs for the scalar evolution analyzer.
	* gcc.dg/tree-ssa-chrec/ssa-chrec-{10, 30, 31, 32, 33, 34,
	35, 36}.c.alldd: Expected outputs for the data dependence analyzer.
	* gcc.dg/tree-ssa-chrec/tree-ssa-scev.exp: New file.
	* lib/scantree.exp (diff-tree-dumps): New procedure.
