]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR tree-optimization/50031 (Sphinx3 has a 10% regression going from GCC 4.5 to...
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Fri, 10 Feb 2012 16:38:37 +0000 (16:38 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Fri, 10 Feb 2012 16:38:37 +0000 (16:38 +0000)
commit8bd373026eaf4fe6d6ce7c5047f10dd85e29b942
tree1455fc4d37f458d4ad3a9c635dedf65878af17e6
parent19f326e8ec1917f33e54e165e036f2c6ff091ce8
re PR tree-optimization/50031 (Sphinx3 has a 10% regression going from GCC 4.5 to GCC 4.6 on powerpc)

2012-02-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
    Ira Rosen  <irar@il.ibm.com>

PR tree-optimization/50031
* targhooks.c (default_builtin_vectorization_cost): Handle
vec_promote_demote.
* target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
* tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
all types of reduction and pattern statements.
(vect_estimate_min_profitable_iters): Likewise.
* tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
(vect_get_load_cost): Use vec_perm for permutations; add dump logic
for explicit realigns.
(vectorizable_conversion): Call vect_model_promotion_demotion_cost.
* config/spu/spu.c (spu_builtin_vectorization_cost): Handle
vec_promote_demote.
* config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
vec_perm for VSX and handle vec_promote_demote.

Co-Authored-By: Ira Rosen <irar@il.ibm.com>
From-SVN: r184102
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/rs6000/rs6000.c
gcc/config/spu/spu.c
gcc/target.h
gcc/targhooks.c
gcc/tree-vect-loop.c
gcc/tree-vect-stmts.c