public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH][PR target/81535] Fix tests on Power
@ 2017-07-28  4:42 Yury Gribov
  2017-08-04 20:35 ` [PATCH][PING][PR " Yury Gribov
  2017-08-07 23:33 ` [PATCH][PR " Segher Boessenkool
  0 siblings, 2 replies; 4+ messages in thread
From: Yury Gribov @ 2017-07-28  4:42 UTC (permalink / raw)
  To: gcc-patches; +Cc: seurer, wschmidt, meissner, marxin

[-- Attachment #1: Type: text/plain, Size: 513 bytes --]

Hi all,

This patch fixes issues reported in 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81535

I removed call to g in pr79439.c because gcc was duplicating the basic 
block with call depending on compiler flags (so scan-assembler-times 
pattern wasn't reliable anymore).  I also added alias to prevent 
inlining introduced by recent PR56727 patch.

I added Power-specific pattern in pr56727-2.c testcase and disabled 
testing on Power in pr56727-1.c.

Tested on powerpc64-unknown-linux-gnu.  Ok for trunk?

-Y

[-- Attachment #2: pr81535-1.patch --]
[-- Type: text/plain, Size: 2438 bytes --]

2017-07-28  Yury Gribov  <tetra2005@gmail.com>

	PR target/81535
	* gcc.dg/pr56727-1.c: Do not check output on Power.
	* gcc.dg/pr56727-2.c: Fix pattern for Power.
	* gcc.target/powerpc/pr79439.c: Prevent inlining.

diff -rupN gcc/gcc/testsuite/gcc.dg/pr56727-1.c gcc-81535/gcc/testsuite/gcc.dg/pr56727-1.c
--- gcc/gcc/testsuite/gcc.dg/pr56727-1.c	2017-07-28 02:39:54.770046466 +0000
+++ gcc-81535/gcc/testsuite/gcc.dg/pr56727-1.c	2017-07-28 04:25:04.805648587 +0000
@@ -1,6 +1,6 @@
 /* { dg-do compile { target fpic } } */
 /* { dg-options "-O2 -fPIC" } */
-/* { dg-final { scan-assembler-not "@(PLT|plt)" { target i?86-*-* x86_64-*-* powerpc*-*-* } } } */
+/* { dg-final { scan-assembler-not "@(PLT|plt)" { target i?86-*-* x86_64-*-* } } } */
 
 #define define_func(type) \
   void f_ ## type (type b) { f_ ## type (0); } \
diff -rupN gcc/gcc/testsuite/gcc.dg/pr56727-2.c gcc-81535/gcc/testsuite/gcc.dg/pr56727-2.c
--- gcc/gcc/testsuite/gcc.dg/pr56727-2.c	2017-07-28 02:39:54.770046466 +0000
+++ gcc-81535/gcc/testsuite/gcc.dg/pr56727-2.c	2017-07-28 04:21:19.195215187 +0000
@@ -1,10 +1,10 @@
 /* { dg-do compile { target fpic } } */
 /* { dg-options "-O2 -fPIC" } */
-/* { dg-final { scan-assembler "@(PLT|plt)" { target i?86-*-* x86_64-*-* powerpc*-*-linux* } } } */
 
 __attribute__((noinline, noclone))
 void f (short b)
 {
+  __builtin_setjmp (0);  /* Prevent tailcall */
   f (0);
 }
 
@@ -14,3 +14,5 @@ void h ()
 {
   g (0);
 }
+/* { dg-final { scan-assembler "@(PLT|plt)" { target i?86-*-* x86_64-*-* } } } */
+/* { dg-final { scan-assembler "bl f\n\[ \t\]*nop" { target powerpc*-*-linux* } } } */
diff -rupN gcc/gcc/testsuite/gcc.target/powerpc/pr79439.c gcc-81535/gcc/testsuite/gcc.target/powerpc/pr79439.c
--- gcc/gcc/testsuite/gcc.target/powerpc/pr79439.c	2017-07-28 02:39:55.750048426 +0000
+++ gcc-81535/gcc/testsuite/gcc.target/powerpc/pr79439.c	2017-07-28 04:13:47.834177237 +0000
@@ -8,22 +8,17 @@
 
 int f (void);
 
-void
-g (void)
-{
-}
-
 int
 rec (int a)
 {
   int ret = 0;
   if (a > 10 && f ())
     ret += rec (a - 1);
-  g ();
   return a + ret;
 }
 
+void rec_alias (short) __attribute__ ((alias ("rec")));
+
 /* { dg-final { scan-assembler-times {\mbl f\M}   1 } } */
-/* { dg-final { scan-assembler-times {\mbl g\M}   1 } } */
 /* { dg-final { scan-assembler-times {\mbl rec\M} 1 } } */
-/* { dg-final { scan-assembler-times {\mnop\M}    3 } } */
+/* { dg-final { scan-assembler-times {\mnop\M}    2 } } */

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-11-25  8:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-28  4:42 [PATCH][PR target/81535] Fix tests on Power Yury Gribov
2017-08-04 20:35 ` [PATCH][PING][PR " Yury Gribov
2017-08-07 23:33 ` [PATCH][PR " Segher Boessenkool
2017-11-25 10:00   ` Yury Gribov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).