r126584 - in /trunk/gcc: ChangeLog config/spu/s...
dorit@gcc.gnu.org
dorit@gcc.gnu.org
Thu Jul 12 12:17:00 GMT 2007
Author: dorit
Date: Thu Jul 12 12:17:03 2007
New Revision: 126584
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126584
Log:
2007-07-12 Dorit Nuzman <dorit@il.ibm.com>
* target.h (builtin_vectorization_cost): Add new target builtin.
* target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New.
* tree-vectorizer.h (TARG_SCALAR_STMT_COST): New.
(TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST): New.
* tree-vect-analyze.c (vect_analyze_slp_instance): Initisliaze
uninitialized variables.
* tree-vect-transform.c (cost_for_stmt): New function.
(vect_estimate_min_profitable_iters): Call cost_for_stmt instead of
using cost 1 for all scalar stmts. Be less conservative when
estimating the number of prologue/epulogue iterations. Call
targetm.vectorize.builtin_vectorization_cost. Return
min_profitable_iters-1.
(vect_model_reduction_cost): Use TARG_SCALAR_TO_VEC_COST for
initialization cost instead of TARG_VEC_STMT_COST. Use
TARG_VEC_TO_SCALAR_COST instead of TARG_VEC_STMT_COST for reduction
epilogue code. Fix epilogue cost computation.
* config/spu/spu.c (spu_builtin_vectorization_cost): New.
(TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Implement.
* config/spu/spu.h (TARG_COND_BRANCH_COST, TARG_SCALAR_STMT_COST):
(TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST, TARG_VEC_STMT_COST):
(TARG_VEC_TO_SCALAR_COST, TARG_SCALAR_TO_VEC, TARG_VEC_LOAD_COST):
(TARG_VEC_UNALIGNED_LOAD_COST, TARG_VEC_STORE_COST): Define.
2007-07-12 Dorit Nuzman <dorit@il.ibm.com>
* gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Loops now
get vectorized.
* gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Loops
now get vectorized.
* gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp: New.
* gcc.dg/vect/costmodel/spu/costmodel-fast-math-vect-pr29925.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-31a.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-31b.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-31c.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-31d.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-33.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-76a.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-76b.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-76c.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-68a.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-68b.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-68c.c: New.
* gcc.dg/vect/costmodel/spu/costmodel-vect-68d.c: New.
* lib/target-supports.exp (check_effective_target_vect_int_mul):
Add spu.
Added:
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-fast-math-vect-pr29925.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-31a.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-31b.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-31c.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-31d.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-33.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-68a.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-68b.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-68c.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-68d.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-76a.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-76b.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-76c.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/spu/spu.c
trunk/gcc/config/spu/spu.h
trunk/gcc/target-def.h
trunk/gcc/target.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c
trunk/gcc/testsuite/lib/target-supports.exp
trunk/gcc/tree-vect-transform.c
trunk/gcc/tree-vectorizer.h
More information about the Gcc-cvs
mailing list