[vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Thu, 14 Jul 2016 14:32:39 +0000 (14:32 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Thu, 14 Jul 2016 14:32:39 +0000 (14:32 +0000)
commit53109ba8a720c135a79b6536c79350e6f1a45895
treeb79ce2c9e3e5d2c590ca6cd9941695f230913329
parent0c15a902d1eb8d9b2be4eeced2a500c4a8a25152
[vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant

PR target/65951
PR tree-optimization/70923
* tree-vect-patterns.c: Include mult-synthesis.h.
(target_supports_mult_synth_alg): New function.
(synth_lshift_by_additions): Likewise.
(apply_binop_and_append_stmt): Likewise.
(vect_synth_mult_by_constant): Likewise.
(target_has_vecop_for_code): Likewise.
(vect_recog_mult_pattern): Use above functions to synthesize vector
multiplication by integer constants.

* gcc.dg/vect/vect-mult-const-pattern-1.c: New test.
* gcc.dg/vect/vect-mult-const-pattern-2.c: Likewise.
* gcc.dg/vect/pr65951.c: Likewise.
* gcc.dg/vect/vect-iv-9.c: Remove ! vect_int_mult-specific scan.

From-SVN: r238340
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr65951.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-9.c
gcc/testsuite/gcc.dg/vect/vect-mult-const-pattern-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-mult-const-pattern-2.c [new file with mode: 0644]
gcc/tree-vect-patterns.c