slp: reject non-multiple of 2 laned SLP trees (PR99825)
authorTamar Christina <tamar.christina@arm.com>
Tue, 30 Mar 2021 13:16:03 +0000 (14:16 +0100)
committerTamar Christina <tamar.christina@arm.com>
Tue, 30 Mar 2021 13:16:03 +0000 (14:16 +0100)
commit9c68e2abe294a48385224cd7617eca0720144b5c
treeca2f23791d9eea0b50e619a244a9b5f8968f538f
parent6f93a7c7fc62b2d6ab47e5d5eb60d41366e1ee9e
slp: reject non-multiple of 2 laned SLP trees (PR99825)

TWO_OPERANDS allows any order or number of combinations of + and - operations
but the pattern matcher only supports pairs of operations.

This patch has the pattern matcher for complex numbers reject SLP trees where
the lanes are not a multiple of 2.

gcc/ChangeLog:

PR tree-optimization/99825
* tree-vect-slp-patterns.c (vect_check_evenodd_blend):
Reject non-mult 2 lanes.

gcc/testsuite/ChangeLog:

PR tree-optimization/99825
* gfortran.dg/vect/pr99825.f90: New test.
gcc/testsuite/gfortran.dg/vect/pr99825.f90 [new file with mode: 0644]
gcc/tree-vect-slp-patterns.c