As discussed in PR 83483, the gcc.dg/memcpy-6.c test I added
along with the -Wrestrict changes fails on many targets because
of bad assumptions on my part.  The test wasn't quite ready to
commit but I forgot to get back to it and finish it up.

Rather than remove it, the attached patch skips running it on
targets other than x86, the only ones I tested it on.  It's
known to pass on others (e.g., powerpc64le) so if it's thought
useful it can be enabled for those as well.

Martin
PR testsuite/83483 - [8 Regression] gcc.dg/memcpy-6.c FAILs

gcc/testsuite/ChangeLog:

	PR testsuite/83483
	* gcc.dg/memcpy-6.c: Skip for targets other than x86.

diff --git a/gcc/testsuite/gcc.dg/memcpy-6.c b/gcc/testsuite/gcc.dg/memcpy-6.c
index 1d76e7e..7ff735e 100644
--- a/gcc/testsuite/gcc.dg/memcpy-6.c
+++ b/gcc/testsuite/gcc.dg/memcpy-6.c
@@ -1,8 +1,12 @@
 /* Test to verify that overlapping memcpy with const sizes that are powers
    of two are folded into into the same code as memmove, but that they
-   are diagnosed nonetheless.
+   are diagnosed nonetheless.  Whether a call is folded depends on
+   the size of the copy, the alignment, and wheteber else the target
+   might decide to consider.  The test is only run on a small subset
+   of targets where it's known to pass (see PR testsuite/83483).
    { dg-do compile }
-   { dg-options "-O0 -Wrestrict -fdump-tree-optimized" } */
+   { dg-options "-O0 -Wrestrict -fdump-tree-optimized" }
+   { dg-skip-if "skip non-x86 targets" { ! { i?86-*-* x86_64-*-* } } }  */
 
 char a[32];
 

Reply via email to