testsuite/105122 - adjust testcases after memcpy folding changes
authorRichard Biener <rguenther@suse.de>
Mon, 4 Apr 2022 06:41:59 +0000 (08:41 +0200)
committerRichard Biener <rguenther@suse.de>
Wed, 6 Apr 2022 06:14:23 +0000 (08:14 +0200)
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.

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

PR testsuite/105122
* 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
gcc/testsuite/gcc.dg/strlenopt-73.c
gcc/testsuite/gcc.dg/strlenopt-80.c

index 7ff735e..d4df039 100644 (file)
@@ -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];
 
index 170b66a..6e15303 100644 (file)
@@ -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
index a853402..a8adbf1 100644 (file)
@@ -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__