diff --git a/gcc/testsuite/gcc.target/i386/stack-check-17.c b/gcc/testsuite/gcc.target/i386/stack-check-17.c index d2ef83b..dcd2930 100644 --- a/gcc/testsuite/gcc.target/i386/stack-check-17.c +++ b/gcc/testsuite/gcc.target/i386/stack-check-17.c @@ -29,9 +29,11 @@ f3 (void) into either a stack slot or callee saved register. The former would be rather dumb. So assume it does not happen. - So search for two/four pushes for the callee register saves/argument - pushes and no pops (since the function has no reachable epilogue). */ -/* { dg-final { scan-assembler-times "push\[ql\]" 2 { target { ! ia32 } } } } */ -/* { dg-final { scan-assembler-times "push\[ql\]" 4 { target { ia32 } } } } */ + So search for two pushes for the callee register saves pushes + and no pops (since the function has no reachable epilogue). + + This is slightly different than upstream because the code we + generate for argument setup is slightly different. */ +/* { dg-final { scan-assembler-times "push\[ql\]" 2 } } */ /* { dg-final { scan-assembler-not "pop" } } */ diff --git a/gcc/testsuite/gcc.target/i386/stack-check-18.c b/gcc/testsuite/gcc.target/i386/stack-check-18.c index 6dbff44..1638f77 100644 --- a/gcc/testsuite/gcc.target/i386/stack-check-18.c +++ b/gcc/testsuite/gcc.target/i386/stack-check-18.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection -mtune=generic -fdump-rtl-expand" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-skip-if "" { *-*-* } { "-fstack-protector" } { "" } } */ int f1 (char *); diff --git a/gcc/testsuite/gcc.target/i386/stack-check-19.c b/gcc/testsuite/gcc.target/i386/stack-check-19.c index b92c126..c341801 100644 --- a/gcc/testsuite/gcc.target/i386/stack-check-19.c +++ b/gcc/testsuite/gcc.target/i386/stack-check-19.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-clash-protection -mtune=generic -fdump-rtl-expand" } */ /* { dg-require-effective-target supports_stack_clash_protection } */ +/* { dg-skip-if "" { *-*-* } { "-fstack-protector" } { "" } } */ int f1 (char *); @@ -24,6 +25,6 @@ f2 (const int size) in the probe loop and one that bypasses the residual probe. These will all be equality tests. */ -/* { dg-final { scan-assembler-times "(\?:je|jne)" 3 } } */ +/* { dg-final { scan-assembler-times "(\?:jmp|je|jne)" 3 } } */