testsuite/105122 - adjust testcases after memcpy folding changes
Commit Message
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
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
@@ -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];
@@ -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
@@ -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__