[vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant
commitc5a9fc7bf8efd9ae8ed2f4ffa269f3a1c9d266c4
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Jul 2016 14:32:39 +0000 (14 14:32 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Jul 2016 14:32:39 +0000 (14 14:32 +0000)
treeb79ce2c9e3e5d2c590ca6cd9941695f230913329
parent94682be9c92e6179a9badfee68f917a96c3ec36c
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238340 138bc75d-0d04-0410-961f-82ee72b054a4
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