S/390: Define vectorization_cost hook
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Fri, 2 Dec 2016 08:25:27 +0000 (08:25 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Fri, 2 Dec 2016 08:25:27 +0000 (08:25 +0000)
commit7f5fc63362a675a216f1475bb08fd42d8274f8cf
tree0622db93e3d416b514fe9512047a44cc2859f782
parent9ad49cdb5340bcaab0ecc0574ed754af9ba71283
S/390: Define vectorization_cost hook

Define the vectorization_cost hook.  The only change right now
compared to the default implementation is the reduced costs for
unaligned loads/stores.  This is supposed to prevent unnecessary loop
peeling performed to reach better alignments.

Further tuning of this hook is required.

-Andreas-

gcc/ChangeLog:

2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc/config/s390/s390.c (s390_builtin_vectorization_cost): New
function.
(TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Define target
macro.

gcc/testsuite/ChangeLog:

2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/vector/vec-nopeel-1.c: New test.

From-SVN: r243158
gcc/ChangeLog
gcc/config/s390/s390.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/vector/vec-nopeel-1.c [new file with mode: 0644]