skip memcpy-6.c for failing targets (PR 83483)

Message ID 18ec2f59-0783-2778-1afd-53d51dce7e67@gmail.com
State New
Headers show
Series
  • skip memcpy-6.c for failing targets (PR 83483)
Related show

Commit Message

Martin Sebor Dec. 20, 2017, 12:18 a.m.
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

Comments

Jeff Law Dec. 20, 2017, 4:29 a.m. | #1
On 12/19/2017 05:18 PM, Martin Sebor wrote:
> 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

> 

> gcc-83483.diff

> 

> 

> 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.

OK.
jeff

Patch

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