tree-optimization/98544 - more permute optimization fixes
authorRichard Biener <rguenther@suse.de>
Fri, 8 Jan 2021 12:17:18 +0000 (13:17 +0100)
committerRichard Biener <rguenther@suse.de>
Fri, 8 Jan 2021 13:08:10 +0000 (14:08 +0100)
commitbdcde1504502719504a7a63ab10059e171694dc2
tree5a143e25895b14de5fb6abf1c73e78b6ea3873a5
parent1b885264a48dcd71b7aeb26c0abeb91246724897
tree-optimization/98544 - more permute optimization fixes

Permute nodes are not transparent to the permute of their children.
Instead we have to materialize child permutes always and in future
may treat permute nodes as the source of arbitrary permutes as
we can permute the lane permutation vector at will (as the target
supports in the end).

2021-01-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/98544
* tree-vect-slp.c (vect_optimize_slp): Always materialize
permutes at a permute node.

* gcc.dg/vect/bb-slp-pr98544.c: New testcase.
gcc/testsuite/gcc.dg/vect/bb-slp-pr98544.c [new file with mode: 0644]
gcc/tree-vect-slp.c