[PR,testsuite/47013] Fix SMS testsuite faliures

Submitted by Revital Eres on May 12, 2011, 1:26 p.m.

Details

Message ID BANLkTi=ObCAdS0aO5oQ30agx_95eh6qiMg@mail.gmail.com
State New
Headers show

Commit Message

Revital Eres May 12, 2011, 1:26 p.m.
Hello,

The attached patch fixes SMS testsuite failures seen on PowerPC and SPU.

Tested ppc64-redhat-linux on both with -m32,-m64 and SPU.

OK for mainline?

Thanks,
Revital

testsuite/Changelog

        PR rtl-optimization/47013
        * gcc.dg/sms-2.c: Change scan-tree-dump-times and the code itself
        to preserve the function.
        * gcc.dg/sms-6.c: Add --param sms-min-sc=1
         -fmodulo-sched-allow-regmoves,
         and -mno-update for PowerPC.
        * gcc.dg/sms-3.c: Add --param sms-min-sc=1 and
        -fmodulo-sched-allow-regmoves flags.
        * gcc.dg/sms-7.c: Add -fmodulo-sched-allow-regmoves and
        --param sms-min-sc=1 flags and -mno-update for
        PowerPC. Increase the SMS succeeded loops for the SPU.
        * gcc.dg/sms-4.c: Add --param sms-min-sc=1 -mno-update
        for PowerPC.
        * gcc.dg/sms-8.c: Add --param sms-min-sc=1 and -m32 for
        PowerPC. Change scan-rtl-dump-times for PowerPC.
        * gcc.dg/sms-5.c: Add --param sms-min-sc=1 flag and
        -mno-update for PowerPC.

Patch hide | download patch | download mbox

Index: testsuite/gcc.dg/sms-2.c
===================================================================
--- testsuite/gcc.dg/sms-2.c	(revision 173693)
+++ testsuite/gcc.dg/sms-2.c	(working copy)
@@ -4,12 +4,11 @@ 
 /* { dg-do compile } */
 /* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms" } */
 
-
+int th, h, em, nlwm, nlwS, nlw, sy;
 void
 fun (nb)
      int nb;
 {
-  int th, h, em, nlwm, nlwS, nlw, sy;
 
   while (nb--)
     while (h--)
@@ -33,5 +32,5 @@  fun (nb)
       }
 }
 
-/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target spu-*-* powerpc*-*-* } } } */
+/* { dg-final { scan-rtl-dump-times "SMS loop many exits" 1 "sms" { target spu-*-* powerpc*-*-* } } } */
 /* { dg-final { cleanup-rtl-dump "sms" } } */
Index: testsuite/gcc.dg/sms-6.c
===================================================================
--- testsuite/gcc.dg/sms-6.c	(revision 173693)
+++ testsuite/gcc.dg/sms-6.c	(working copy)
@@ -1,5 +1,7 @@ 
 /* { dg-do run } */
-/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms" } */
+/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms  --param sms-min-sc=1 " } */
+/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms  -mno-update --param sms-min-sc=1 -fmodulo-sched-allow-regmoves " { target powerpc*-*-*} } */
+
 
 extern void abort (void);
 
Index: testsuite/gcc.dg/sms-3.c
===================================================================
--- testsuite/gcc.dg/sms-3.c	(revision 173693)
+++ testsuite/gcc.dg/sms-3.c	(working copy)
@@ -1,5 +1,5 @@ 
 /* { dg-do run } */
-/* { dg-options "-O2 -fmodulo-sched -funroll-loops -fdump-rtl-sms" } */
+/* { dg-options "-O2 -fmodulo-sched -funroll-loops -fdump-rtl-sms --param sms-min-sc=1 -fmodulo-sched-allow-regmoves" } */
 
 extern void abort (void);
 
Index: testsuite/gcc.dg/sms-7.c
===================================================================
--- testsuite/gcc.dg/sms-7.c	(revision 173693)
+++ testsuite/gcc.dg/sms-7.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do run } */
-/* { dg-options "-O2 -fmodulo-sched -fstrict-aliasing -fdump-rtl-sms" } */
+/* { dg-options "-O3 -fmodulo-sched -fstrict-aliasing -fdump-rtl-sms -fmodulo-sched-allow-regmoves --param sms-min-sc=1" } */
+/* { dg-options "-O2 -fmodulo-sched -fstrict-aliasing -fdump-rtl-sms --param sms-min-sc=1 -mno-update -fmodulo-sched-allow-regmoves" { target powerpc*-*-*} } */
 
 extern void abort (void);
 
@@ -44,7 +45,7 @@  int main()
   return 0;        
 }
 
-/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms"  { target spu-*-* } } } */
+/* { dg-final { scan-rtl-dump-times "SMS succeeded" 2 "sms"  { target spu-*-* } } } */
 /* { dg-final { scan-rtl-dump-times "SMS succeeded" 3  "sms" { target powerpc*-*-* } } } */
 /* { dg-final { cleanup-rtl-dump "sms" } } */
 
Index: testsuite/gcc.dg/sms-4.c
===================================================================
--- testsuite/gcc.dg/sms-4.c	(revision 173693)
+++ testsuite/gcc.dg/sms-4.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* Inspired from sbitmap_a_or_b_and_c_cg function in sbitmap.c.  */
 /* { dg-do run } */
-/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms" } */
+/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms  " } */
+/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms --param sms-min-sc=1 -mno-update" { target powerpc*-*-*} } */
 
 extern void abort (void);
 
Index: testsuite/gcc.dg/sms-8.c
===================================================================
--- testsuite/gcc.dg/sms-8.c	(revision 173693)
+++ testsuite/gcc.dg/sms-8.c	(working copy)
@@ -3,7 +3,8 @@ 
     that was not fixed by reg-moves.  */
 
  /* { dg-do run } */
- /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms" } */
+ /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms --param sms-min-sc=1" } */
+ /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms --param sms-min-sc=1 -m32" { target powerpc*-*-*} } */
 
 extern void abort (void);
 
@@ -35,7 +36,7 @@  main ()
   return 0;
 }
 
-/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target powerpc*-*-* } } } */
+/* { dg-final { scan-rtl-dump-times "SMS loop with subreg in lhs" 1 "sms" { target powerpc-*-* } } } */
 /* { dg-final { cleanup-rtl-dump "sms" } } */
 
 
Index: testsuite/gcc.dg/sms-5.c
===================================================================
--- testsuite/gcc.dg/sms-5.c	(revision 173693)
+++ testsuite/gcc.dg/sms-5.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do run } */
-/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -funroll-loops -fdump-rtl-sms" } */
+/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -funroll-loops -fdump-rtl-sms --param sms-min-sc=1" } */
+ /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -funroll-loops -fdump-rtl-sms -mno-update --param sms-min-sc=1" { target powerpc*-*-*} } */
 /* This is the same test as loop-2e.c test.  It is related to a fix in
    the generation of the prolog and epilog.  */