tree-vect-transform.c (vectorizable_operation): Try word_mode vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD...

2005-05-26  Paolo Bonzini  <bonzini@gnu.org>

	* tree-vect-transform.c (vectorizable_operation): Try word_mode
	vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
	if a vector mode is available.

testsuite/ChangeLog:
2005-05-26  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.dg/vect/vect-7.c: Remove xfail for alpha.

From-SVN: r100195
This commit is contained in:
Paolo Bonzini 2005-05-26 07:58:47 +00:00 committed by Paolo Bonzini
parent 11b6985e3a
commit 598b20248f
4 changed files with 22 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2005-05-26 Paolo Bonzini <bonzini@gnu.org>
* tree-vect-transform.c (vectorizable_operation): Try word_mode
vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
if a vector mode is available.
2005-05-25 Roger Sayle <roger@eyesopen.com>
PR middle-end/21709
@ -1042,6 +1048,10 @@
* tree-ssa-math-opts.c: New file.
2005-05-17 Paolo Bonzini <bonzini@gnu.org>
* tree-ssa-math-opts.c: New file.
2005-05-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Add tree-ssa-math-opts.c.

View File

@ -1,3 +1,7 @@
2005-05-26 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/vect/vect-7.c: Remove xfail for alpha.
2005-05-26 Andreas Jaeger <aj@suse.de>
* gcc.dg/tree-ssa/ssa-pre-14.c (foo): Use correct type for strlen.

View File

@ -45,7 +45,7 @@ int main (void)
return main1 ();
}
/* Fails for targets that don't vectorize PLUS. */
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail alpha*-*-* } } } */
/* Fails for 32-bit targets that don't vectorize PLUS. */
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */

View File

@ -815,7 +815,12 @@ vectorizable_operation (tree stmt, block_stmt_iterator *bsi, tree *vec_stmt)
{
if (vect_print_dump_info (REPORT_DETAILS, UNKNOWN_LOC))
fprintf (vect_dump, "op not supported by target.");
return false;
if (GET_MODE_SIZE (vec_mode) != UNITS_PER_WORD
|| LOOP_VINFO_VECT_FACTOR (loop_vinfo)
< vect_min_worthwhile_factor (code))
return false;
if (vect_print_dump_info (REPORT_DETAILS, UNKNOWN_LOC))
fprintf (vect_dump, "proceeding using word mode.");
}
/* Worthwhile without SIMD support? */