On Tue, Jul 31, 2012 at 3:54 PM, William J. Schmidt <wschm...@linux.vnet.ibm.com> wrote: > Now that the vectorizer cost model is set up to facilitate per-target > heuristics, I'm revisiting the "density" heuristic I submitted > previously. This allows the vec_permute and vec_promote_demote costs to > be set to their natural values, but inhibits vectorization in cases like > sphinx3 where vectorizing a loop leads to issue stalls from > overcommitted resources. > > Bootstrapped on powerpc64-unknown-linux-gnu with no new regressions. > Measured performance on cpu2000 and cpu2006 with no significant changes > in performance. Ok for trunk? > > Thanks, > Bill > > > 2012-07-31 Bill Schmidt <wschm...@linux.ibm.com> > > * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise > costs for vec_perm and vec_promote_demote down to more natural values. > (struct _rs6000_cost_data): New data structure. > (rs6000_density_test): New function. > (rs6000_init_cost): Change to use rs6000_cost_data. > (rs6000_add_stmt_cost): Likewise. > (rs6000_finish_cost): Perform density test when vectorizing a loop.
Okay. Thanks, David