From 00138f9b2b96b61f49605fa261012a330b2668b1 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Fri, 9 Apr 2021 13:43:18 +0100 Subject: [PATCH] testsuite: Add some vect_variable_length XFAILs This patch adds XFAILs for some tests that fail with variable-length vectors. For pr96573.c I'd wondered about instead extending the regexp. The code we generate isn't very good though, so it doesn't seem worth matching. (Fixing the bad code is on the todo list.) gcc/testsuite/ * g++.dg/tree-ssa/pr83518.C: XFAIL for vect_variable_length. * gcc.dg/pr96573.c: Likewise. * gcc.dg/tree-ssa/pr84512.c: Likewise. * gcc.dg/vect/bb-slp-43.c: Likewise. * gcc.dg/vect/slp-reduc-11.c: Likewise. --- gcc/testsuite/g++.dg/tree-ssa/pr83518.C | 2 +- gcc/testsuite/gcc.dg/pr96573.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr84512.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-43.c | 2 +- gcc/testsuite/gcc.dg/vect/slp-reduc-11.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr83518.C b/gcc/testsuite/g++.dg/tree-ssa/pr83518.C index 3e153c5..b8a2bd1 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr83518.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr83518.C @@ -24,4 +24,4 @@ unsigned test() return sum; } -/* { dg-final { scan-tree-dump "return 15;" "optimized" } } */ +/* { dg-final { scan-tree-dump "return 15;" "optimized" { xfail vect_variable_length } } } */ diff --git a/gcc/testsuite/gcc.dg/pr96573.c b/gcc/testsuite/gcc.dg/pr96573.c index 63db69d..c7d8f9e 100644 --- a/gcc/testsuite/gcc.dg/pr96573.c +++ b/gcc/testsuite/gcc.dg/pr96573.c @@ -2,7 +2,7 @@ /* { dg-do compile { target { lp64 || ilp32 } } } */ /* { dg-require-effective-target bswap } */ /* { dg-options "-O3 -fdump-tree-optimized" } */ -/* { dg-final { scan-tree-dump "__builtin_bswap\|VEC_PERM_EXPR\[^\n\r]*7, 6, 5, 4, 3, 2, 1, 0" "optimized" } } */ +/* { dg-final { scan-tree-dump "__builtin_bswap\|VEC_PERM_EXPR\[^\n\r]*7, 6, 5, 4, 3, 2, 1, 0" "optimized" { xfail vect_variable_length } } } */ typedef __SIZE_TYPE__ size_t; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr84512.c b/gcc/testsuite/gcc.dg/tree-ssa/pr84512.c index 3c02701..496c78b 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr84512.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr84512.c @@ -13,4 +13,4 @@ int foo() } /* Listed targets xfailed due to PR84958. */ -/* { dg-final { scan-tree-dump "return 285;" "optimized" { xfail { amdgcn*-*-* } } } } */ +/* { dg-final { scan-tree-dump "return 285;" "optimized" { xfail { amdgcn*-*-* || vect_variable_length } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-43.c b/gcc/testsuite/gcc.dg/vect/bb-slp-43.c index 40bd2e0..a65d951 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-43.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-43.c @@ -14,4 +14,4 @@ f (int *restrict x, short *restrict y) } /* { dg-final { scan-tree-dump-not "mixed mask and nonmask" "slp2" } } */ -/* { dg-final { scan-tree-dump-not "vector operands from scalars" "slp2" { target { { vect_int && vect_bool_cmp } && { vect_unpack && vect_hw_misalign } } } } } */ +/* { dg-final { scan-tree-dump-not "vector operands from scalars" "slp2" { target { { vect_int && vect_bool_cmp } && { vect_unpack && vect_hw_misalign } } xfail vect_variable_length } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/slp-reduc-11.c b/gcc/testsuite/gcc.dg/vect/slp-reduc-11.c index a2f86fb..260d65c 100644 --- a/gcc/testsuite/gcc.dg/vect/slp-reduc-11.c +++ b/gcc/testsuite/gcc.dg/vect/slp-reduc-11.c @@ -16,5 +16,5 @@ double dotprod(const double *a, const double *b, unsigned long long n) /* We should use a SLP reduction even without -ffast-math by using a VF of one. */ -/* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" } } */ +/* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" { xfail vect_variable_length } } } */ /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } } */ -- 2.7.4