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];