Like rv32 and other targets, pr83403-[12].c need to bump
max-completely-peeled-insns to get the loops unrolled on x86 without
sse2 so as to enable the expected store motions.
Regstrapped on x86_64-linux-gnu. Also tested with ppc-vx7r2,
ppc64-vx7r2, arm-vx7r2, aarch64-vx7r2, x86_64-vx7r2, and x86-vx7r2. Ok
to install?
for gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/pr83403-1.c: Bump
max-completely-peeled-insns on x86.
* gcc.dg/tree-ssa/pr83403-2.c: Likewise.
---
gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c | 4 +++-
gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c
b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c
index f631265edd8e9..a8319643c98da 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c
@@ -1,7 +1,9 @@
/* { dg-do compile } */
/* { dg-options "-O3 -funroll-loops -fdump-tree-lim2-details" } */
/* { dg-additional-options "--param max-completely-peeled-insns=200" { target
{ s390*-*-* } } } */
-/* { dg-additional-options "--param max-completely-peeled-insns=300" { target
{ { arm*-*-* cris-*-* loongarch32-*-* m68k*-*-* } || rv32 } } } */
+/* { dg-additional-options "--param max-completely-peeled-insns=300" { target
{ { arm*-*-* cris-*-* loongarch32-*-* m68k*-*-* } || { x86 || rv32 } } } } */
+/* This param bump is only needed on x86 when sse2 is not enabled, but it
+ doesn't hurt to use it on other x86 variants. */
#define TYPE unsigned int
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c
b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c
index f14b5b4b5fd0f..65769b2fa3dbb 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c
@@ -1,7 +1,9 @@
/* { dg-do compile } */
/* { dg-options "-O3 -funroll-loops -fdump-tree-lim2-details" } */
/* { dg-additional-options "--param max-completely-peeled-insns=200" { target
{ s390*-*-* } } } */
-/* { dg-additional-options "--param max-completely-peeled-insns=300" { target
{ { arm*-*-* cris-*-* loongarch32*-*-* m68k*-*-* } || rv32 } } } */
+/* { dg-additional-options "--param max-completely-peeled-insns=300" { target
{ { arm*-*-* cris-*-* loongarch32*-*-* m68k*-*-* } || { x86 || rv32 } } } } */
+/* This param bump is only needed on x86 when sse2 is not enabled, but it
+ doesn't hurt to use it on other x86 variants. */
#define TYPE int
--
Alexandre Oliva, happy hacker https://blog.lx.oliva.nom.br/
Free Software Activist FSFLA co-founder GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity.
Excluding neuro-others for not behaving ""normal"" is *not* inclusive!