aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/decl.c
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2016-01-28 11:52:08 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2016-01-28 11:52:08 +0000
commitc428f91cb752d9b831df83f057b73e2815f2adad (patch)
tree01eefad07cd25439ef89e429e6aa15805e974d2b /gcc/ada/gcc-interface/decl.c
parente2b691c4204110d08206dcc304c9fba56e88b89b (diff)
downloadgcc-c428f91cb752d9b831df83f057b73e2815f2adad.zip
gcc-c428f91cb752d9b831df83f057b73e2815f2adad.tar.gz
gcc-c428f91cb752d9b831df83f057b73e2815f2adad.tar.bz2
Add support for vector permute cost since various permutes can expand into a complex sequence of instructions.
Add support for vector permute cost since various permutes can expand into a complex sequence of instructions. This fixes major performance regressions due to recent changes in SLP vectorizer (which now vectorizes more aggressively and emits many complex permutes). Set the cost to > 1 for all microarchitectures so that the number of permutes is usually zero and regressions disappear. 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com> * config/aarch64/aarch64.c (generic_vector_cost): Set vec_permute_cost. (cortexa57_vector_cost): Likewise. (exynosm1_vector_cost): Likewise. (xgene1_vector_cost): Likewise. (aarch64_builtin_vectorization_cost): Use vec_permute_cost. * config/aarch64/aarch64-protos.h (cpu_vector_cost): Add vec_permute_cost entry. From-SVN: r232922
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
0 files changed, 0 insertions, 0 deletions