testsuite/105122 - adjust testcases after memcpy folding changes

Message ID 20220404070140.D55A313B6A@imap2.suse-dmz.suse.de
State Committed
Commit e2a818641ba5d07ebe2c241906896c4886910d18
Headers
Series testsuite/105122 - adjust testcases after memcpy folding changes |

Commit Message

Richard Biener April 4, 2022, 7:01 a.m. UTC
  After r12-7931 we again honor MOVE_MAX when folding memcpy to
a load/store pair.  On i?86-*-* without SSE this now exposes the
change done in r12-2666-g29f0e955c97da0 which adjusts MOVE_MAX
from 16 to 4 on those targets.  This makes adjusting testcases
necessary that assume that we transform memcpy to load/store pairs
on GIMPLE for sizes larger or equal to 8.

Tested on x86_64-unknown-linux-gnu with -m32 -mno-sse.

OK?

2022-04-04  Richard Biener  <rguenther@suse.de>

	* gcc.dg/memcpy-6.c: Adjust.
	* gcc.dg/strlenopt-73.c: Likewise.
	* gcc.dg/strlenopt-80.c: Likewise.
---
 gcc/testsuite/gcc.dg/memcpy-6.c     | 3 ++-
 gcc/testsuite/gcc.dg/strlenopt-73.c | 2 +-
 gcc/testsuite/gcc.dg/strlenopt-80.c | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)
  

Comments

Jakub Jelinek April 5, 2022, 3:48 p.m. UTC | #1
On Mon, Apr 04, 2022 at 09:01:40AM +0200, Richard Biener wrote:
> After r12-7931 we again honor MOVE_MAX when folding memcpy to
> a load/store pair.  On i?86-*-* without SSE this now exposes the
> change done in r12-2666-g29f0e955c97da0 which adjusts MOVE_MAX
> from 16 to 4 on those targets.  This makes adjusting testcases
> necessary that assume that we transform memcpy to load/store pairs
> on GIMPLE for sizes larger or equal to 8.
> 
> Tested on x86_64-unknown-linux-gnu with -m32 -mno-sse.
> 
> OK?
> 
> 2022-04-04  Richard Biener  <rguenther@suse.de>
> 

Missing
	PR testsuite/105122
line?

> 	* gcc.dg/memcpy-6.c: Adjust.
> 	* gcc.dg/strlenopt-73.c: Likewise.
> 	* gcc.dg/strlenopt-80.c: Likewise.

Ok.

	Jakub
  

Patch

diff --git a/gcc/testsuite/gcc.dg/memcpy-6.c b/gcc/testsuite/gcc.dg/memcpy-6.c
index 7ff735e94d1..d4df03903c3 100644
--- a/gcc/testsuite/gcc.dg/memcpy-6.c
+++ b/gcc/testsuite/gcc.dg/memcpy-6.c
@@ -6,7 +6,8 @@ 
    of targets where it's known to pass (see PR testsuite/83483).
    { dg-do compile }
    { dg-options "-O0 -Wrestrict -fdump-tree-optimized" }
-   { dg-skip-if "skip non-x86 targets" { ! { i?86-*-* x86_64-*-* } } }  */
+   { dg-skip-if "skip non-x86 targets" { ! { i?86-*-* x86_64-*-* } } }
+   { dg-additional-options "-msse" { target i?86-*-* x86_64-*-* } } */
 
 char a[32];
 
diff --git a/gcc/testsuite/gcc.dg/strlenopt-73.c b/gcc/testsuite/gcc.dg/strlenopt-73.c
index 170b66a21b0..6e15303dc3c 100644
--- a/gcc/testsuite/gcc.dg/strlenopt-73.c
+++ b/gcc/testsuite/gcc.dg/strlenopt-73.c
@@ -69,7 +69,7 @@  void test_copy_cond_equal_length (void)
   T ( 0 ==, 33,  1, (i0 ? a32 : b32) + 32);
 }
 
-#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) \
+#if (defined(__i386__) && defined(__SSE__)) || defined(__x86_64__) || defined(__aarch64__) \
     || defined(__s390__) || defined(__powerpc64__)
 
 /* The following tests assume GCC transforms the memcpy calls into
diff --git a/gcc/testsuite/gcc.dg/strlenopt-80.c b/gcc/testsuite/gcc.dg/strlenopt-80.c
index a853402b5ce..a8adbf1eed5 100644
--- a/gcc/testsuite/gcc.dg/strlenopt-80.c
+++ b/gcc/testsuite/gcc.dg/strlenopt-80.c
@@ -5,7 +5,8 @@ 
    such a store.
    { dg-do compile { target { { aarch64*-*-* i?86-*-* x86_64-*-* } || { { powerpc*-*-* } && lp64 } } } }
 
-   { dg-options "-O2 -Wall -fdump-tree-optimized" } */
+   { dg-options "-O2 -Wall -fdump-tree-optimized" }
+   { dg-additional-options "-msse" { target i?86-*-* x86_64-*-* } } */
 
 #define CHAR_BIT      __CHAR_BIT__
 #define SIZE_MAX      __SIZE_MAX__