[committed] testsuite: Fix up syntax errors in scan-tree-dump-times target selectors
Checks
Commit Message
Hi!
On Thu, Mar 02, 2023 at 07:23:32PM +0100, Robin Dapp via Gcc-patches wrote:
> this patch changes SLP test expectations. As we only vectorize when no
> more than one rgroup is present, no vectorization is performed.
This broke the tests, I'm seeing syntax errors:
ERROR: gcc.dg/vect/slp-3.c -flto -ffat-lto-objects: error executing dg-final: syntax error in target selector "target ! vect_partial_vectors || vect32 || s390_vx"
ERROR: gcc.dg/vect/slp-3.c: error executing dg-final: syntax error in target selector "target ! vect_partial_vectors || vect32 || s390_vx"
ERROR: gcc.dg/vect/slp-multitypes-11.c -flto -ffat-lto-objects: error executing dg-final: syntax error in target selector "target vect_unpack && vect_partial_vectors_usage_1 && ! s390_vx"
ERROR: gcc.dg/vect/slp-multitypes-11.c: error executing dg-final: syntax error in target selector "target vect_unpack && vect_partial_vectors_usage_1 && ! s390_vx"
The following patch fixes those.
Tested on x86_64-linux with
make check-gcc RUNTESTFLAGS="--target_board=unix\{-m32,-m64\} vect.exp='slp-3.c slp-multitypes-11.c'"
and committed to trunk as obvious.
2023-03-04 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/vect/slp-3.c: Fix up syntax errors in scan-tree-dump-times
target selectors.
* gcc.dg/vect/slp-multitypes-11.c: Likewise.
Jakub
Comments
Hi,
> This broke the tests, I'm seeing syntax errors:
> ERROR: gcc.dg/vect/slp-3.c -flto -ffat-lto-objects: error executing dg-final: syntax error in target selector "target ! vect_partial_vectors || vect32 || s390_vx"
> ERROR: gcc.dg/vect/slp-3.c: error executing dg-final: syntax error in target selector "target ! vect_partial_vectors || vect32 || s390_vx"
> ERROR: gcc.dg/vect/slp-multitypes-11.c -flto -ffat-lto-objects: error executing dg-final: syntax error in target selector "target vect_unpack && vect_partial_vectors_usage_1 && ! s390_vx"
> ERROR: gcc.dg/vect/slp-multitypes-11.c: error executing dg-final: syntax error in target selector "target vect_unpack && vect_partial_vectors_usage_1 && ! s390_vx"
it appears that we are still missing some braces:
diff --git a/gcc/testsuite/gcc.dg/vect/slp-3.c b/gcc/testsuite/gcc.dg/vect/slp-3.c
index a0c6a72995bb..760b3fa35a2a 100644
--- a/gcc/testsuite/gcc.dg/vect/slp-3.c
+++ b/gcc/testsuite/gcc.dg/vect/slp-3.c
@@ -144,4 +144,4 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { target { { ! { vect_partial_vectors || vect32 } } || s390_vx } } } } */
/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target { { vect_partial_vectors || vect32 } && { ! s390_vx } } } } } */
/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" { target { { ! { vect_partial_vectors || vect32 } } || s390_vx } } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 4 "vect" { target { vect_partial_vectors || vect32 } && { ! s390_vx } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 4 "vect" { target { { vect_partial_vectors || vect32 } && { ! s390_vx } } } } } */
Would you mind double-checking and committing if it's OK?
I keep making mistakes with the dejagnu syntax. I suppose there is no better way
to test the selector (and regex) syntax than just running an individual test case?
Thanks
Robin
On Mon, Mar 06, 2023 at 11:27:16AM +0100, Robin Dapp wrote:
> > This broke the tests, I'm seeing syntax errors:
> > ERROR: gcc.dg/vect/slp-3.c -flto -ffat-lto-objects: error executing dg-final: syntax error in target selector "target ! vect_partial_vectors || vect32 || s390_vx"
> > ERROR: gcc.dg/vect/slp-3.c: error executing dg-final: syntax error in target selector "target ! vect_partial_vectors || vect32 || s390_vx"
> > ERROR: gcc.dg/vect/slp-multitypes-11.c -flto -ffat-lto-objects: error executing dg-final: syntax error in target selector "target vect_unpack && vect_partial_vectors_usage_1 && ! s390_vx"
> > ERROR: gcc.dg/vect/slp-multitypes-11.c: error executing dg-final: syntax error in target selector "target vect_unpack && vect_partial_vectors_usage_1 && ! s390_vx"
>
> it appears that we are still missing some braces:
>
> diff --git a/gcc/testsuite/gcc.dg/vect/slp-3.c b/gcc/testsuite/gcc.dg/vect/slp-3.c
> index a0c6a72995bb..760b3fa35a2a 100644
> --- a/gcc/testsuite/gcc.dg/vect/slp-3.c
> +++ b/gcc/testsuite/gcc.dg/vect/slp-3.c
> @@ -144,4 +144,4 @@ int main (void)
> /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { target { { ! { vect_partial_vectors || vect32 } } || s390_vx } } } } */
> /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target { { vect_partial_vectors || vect32 } && { ! s390_vx } } } } } */
> /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" { target { { ! { vect_partial_vectors || vect32 } } || s390_vx } } } } */
> -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 4 "vect" { target { vect_partial_vectors || vect32 } && { ! s390_vx } } } } */
> +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 4 "vect" { target { { vect_partial_vectors || vect32 } && { ! s390_vx } } } } } */
>
> Would you mind double-checking and committing if it's OK?
I'm not a TCL expert, I certainly can't reproduce any ERROR with this
anymore on any target, though I think your change is ok.
So please just check it in yourself, you've my ack for it.
> I keep making mistakes with the dejagnu syntax. I suppose there is no better way
> to test the selector (and regex) syntax than just running an individual test case?
I'll defer that to TCL experts.
Jakub
@@ -141,8 +141,7 @@ int main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { target { ! { vect_partial_vectors || vect32 } || s390_vx } } } } */
-/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target { vect_partial_vectors || vect32 } && { ! s390_vx } } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" { target { ! { vect_partial_vectors || vect32 } || s390_vx } } } }*/
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { target { { ! { vect_partial_vectors || vect32 } } || s390_vx } } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target { { vect_partial_vectors || vect32 } && { ! s390_vx } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" { target { { ! { vect_partial_vectors || vect32 } } || s390_vx } } } } */
/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 4 "vect" { target { vect_partial_vectors || vect32 } && { ! s390_vx } } } } */
-
@@ -50,6 +50,5 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_unpack } } } */
/* The epilogues are vectorized using partial vectors. */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_unpack && { {! vect_partial_vectors_usage_1 } || s390_vx } } xfail { vect_variable_length && vect_load_lanes } } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target { vect_unpack && vect_partial_vectors_usage_1 && { ! s390_vx } } xfail { vect_variable_length && vect_load_lanes } } } } */
-
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target { vect_unpack && { { ! vect_partial_vectors_usage_1 } || s390_vx } } xfail { vect_variable_length && vect_load_lanes } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" { target { { vect_unpack && vect_partial_vectors_usage_1 } && { ! s390_vx } } xfail { vect_variable_length && vect_load_lanes } } } } */