This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [GCC][PATCH][testsuite][mid-end] Fix failing slp test on aarch64 and arm.
- From: "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>
- To: Tamar Christina <tamar dot christina at arm dot com>, gcc-patches at gcc dot gnu dot org
- Cc: james dot greenhalgh at arm dot com, Marcus dot Shawcroft at arm dot com, Ramana dot Radhakrishnan at arm dot com, nickc at redhat dot com, Kyrylo dot Tkachov at arm dot com
- Date: Wed, 27 Sep 2017 10:54:25 +0100
- Subject: Re: [GCC][PATCH][testsuite][mid-end] Fix failing slp test on aarch64 and arm.
- Authentication-results: sourceware.org; auth=none
- References: <20170926131244.GA2036@arm.com>
On 26/09/17 14:12, Tamar Christina wrote:
> Hi All,
>
> The slp vectorization test currently fails on AArch32 and AArch64
> due to it not taking into account that we do have 128 bit vectors in
> NEON. This means that two of the loops get vectorized instead of just 1.
>
> So update the conditions to include a check for neon.
>
> Regtested on aarch64-none-elf.
>
> Ok for trunk?
>
> Thanks,
> Tamar.
>
> gcc/testsuite/
> 2017-09-26 Tamar Christina <tamar.christina@arm.com>
>
> * gcc.dg/vect/slp-perm-9.c: Add arm_neon_ok checks.
>
>
It would be better to fix this generically by adding a vect_sizes_16B_8B
rule.
R.
> 8221-diff.patch
>
>
> diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-9.c b/gcc/testsuite/gcc.dg/vect/slp-perm-9.c
> index 4d9c11dcc476a8023b3eaac2ae76cc01bd0db182..816c4b31be80dc6ab77bda838f77357e2157ffb9 100644
> --- a/gcc/testsuite/gcc.dg/vect/slp-perm-9.c
> +++ b/gcc/testsuite/gcc.dg/vect/slp-perm-9.c
> @@ -54,8 +54,8 @@ int main (int argc, const char* argv[])
> return 0;
> }
>
> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { {! vect_perm } || {! vect_sizes_32B_16B } } } } } */
> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { { vect_perm } && { vect_sizes_32B_16B } } } } } */
> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { { {! vect_perm } || {! vect_sizes_32B_16B } } && {! arm_neon_ok} } } } } */
> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { { { vect_perm } && { vect_sizes_32B_16B } } || arm_neon_ok } } } } */
> /* { dg-final { scan-tree-dump-times "permutation requires at least three vectors" 1 "vect" { target vect_perm_short } } } */
> /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { {! vect_perm } || {! vect_sizes_32B_16B } } } } } */
> /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { { vect_perm } && { vect_sizes_32B_16B } } } } } */
>