summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authordorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-05 13:15:20 +0000
committerdorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-05 13:15:20 +0000
commit62612fe9fdb9fa147cfb3979d5ff088d04cc4010 (patch)
treeee93a0ac09d7ead4c5c794ce3dc4ce957c9b9d27 /gcc/ChangeLog
parent0d122985b494170b545ef1f31981e7ad3fabe392 (diff)
downloadgcc-62612fe9fdb9fa147cfb3979d5ff088d04cc4010.tar.gz
* tree-vectorizer.c (new_loop_vec_info): Initialize
LOOP_VINFO_COST_MODEL_MIN_ITERS. * tree-vectorizer.h (_loop_vec_info): Added new filed min_profitable_iters. (LOOP_VINFO_COST_MODEL_MIN_ITERS): New access macro to above new field. (TARG_SCALAR_TO_VEC_COST): Define cost of scalar to vector operation. * tree-vect-analyze.c (vect_analyze_operations): Set LOOP_VINFO_COST_MODEL_MIN_ITERS. * tree-vect-transform.c (vect_estimate_min_profitable_iters): Use VEC_length to determine if there are any LOOP_VINFO_MAY_MISALIGN_STMTS. Fix calculation of peel_iters_prologue. Move consideration of epilogue and prologue cost to after they are computed. (vect_model_induction_cost): Use TARG_SCALAR_TO_VEC_COST instead of TARG_VEC_STMT_COST. (vect_model_simple_cost): Takes additional argument dt. Consider cost of creating vectors from scalars according to dt. (vect_model_store_cost): Likewise. (vectorizable_call): Use dt array instead of scalar dt. Call vect_model_simple_cost with additional argument dt. (vectorizable_assignment): Likewise. (vectorizable_operation): Likewise. (vectorizable_type_demotion): Likewise. (vectorizable_type_promotion): Likewise. (vectorizable_store): Use dt array instead of scalar dt. Call vect_model_store_cost with additional argument dt. (vect_do_peeling_for_loop_bound): Don't call vect_estimate_min_profitable_iters. Instead, lookup LOOP_VINFO_COST_MODEL_MIN_ITERS. Don't always print "may not be profitable". * gcc.dg/vect/costmodel/ppc: New directory. * gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp: New. * gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-31b.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-31c.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-31d.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-76a.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-76c.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-68a.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-68b.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-68c.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-68d.c: New test. * gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: New test. * gcc.dg/vect/costmodel/i386/costmodel-vect-68.c: Now vectorized. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126368 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9a4f1fbc21b..e39fb143119 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,37 @@
2007-07-05 Dorit Nuzman <dorit@il.ibm.com>
+ * tree-vectorizer.c (new_loop_vec_info): Initialize
+ LOOP_VINFO_COST_MODEL_MIN_ITERS.
+ * tree-vectorizer.h (_loop_vec_info): Added new filed
+ min_profitable_iters.
+ (LOOP_VINFO_COST_MODEL_MIN_ITERS): New access macro to above new field.
+ (TARG_SCALAR_TO_VEC_COST): Define cost of scalar to vector operation.
+ * tree-vect-analyze.c (vect_analyze_operations): Set
+ LOOP_VINFO_COST_MODEL_MIN_ITERS.
+ * tree-vect-transform.c (vect_estimate_min_profitable_iters): Use
+ VEC_length to determine if there are any LOOP_VINFO_MAY_MISALIGN_STMTS.
+ Fix calculation of peel_iters_prologue. Move consideration of epilogue
+ and prologue cost to after they are computed.
+ (vect_model_induction_cost): Use TARG_SCALAR_TO_VEC_COST instead of
+ TARG_VEC_STMT_COST.
+ (vect_model_simple_cost): Takes additional argument dt. Consider cost
+ of creating vectors from scalars according to dt.
+ (vect_model_store_cost): Likewise.
+ (vectorizable_call): Use dt array instead of scalar dt. Call
+ vect_model_simple_cost with additional argument dt.
+ (vectorizable_assignment): Likewise.
+ (vectorizable_operation): Likewise.
+ (vectorizable_type_demotion): Likewise.
+ (vectorizable_type_promotion): Likewise.
+ (vectorizable_store): Use dt array instead of scalar dt. Call
+ vect_model_store_cost with additional argument dt.
+ (vect_do_peeling_for_loop_bound): Don't call
+ vect_estimate_min_profitable_iters. Instead, lookup
+ LOOP_VINFO_COST_MODEL_MIN_ITERS. Don't always print
+ "may not be profitable".
+
+2007-07-05 Dorit Nuzman <dorit@il.ibm.com>
+
PR testsuite/32014
* config/rs6000/altivec.md (UNSPEC_VUPKHS_V4SF, UNSPEC_VUPKLS_V4SF):
(UNSPEC_VUPKHU_V4SF, UNSPEC_VUPKLU_V4SF): New.