gcc.dg/sms-3.c and gcc.dg/sms-6.c fail on powerpc when -fsched-pressure is used. The -fsched-pressure option changes the value returned by rs6000_issue_rate which in turn affects the computed initiation interval in the SMS code and leads to failure to modulo schedule the single loop in sms-3.c and 1 of the 3 loops in sms-6.c. This patch adds that option for powerpc and is a precursor to a patch I'll submit shortly that enables -fsched-pressure by default for the rs6000 port.
I have verified the updated tests pass both before and after my patch to enable -fsched-pressure is applied. Ok for trunk? -Pat testsuite/ChangeLog: 2016-12-20 Pat Haugen <pthau...@us.ibm.com> * gcc.dg/sms-3.c: Add -fno-sched-pressure for powerpc. * gcc.dg/sms-6.c: Likewise.
Index: gcc.dg/sms-3.c =================================================================== --- gcc.dg/sms-3.c (revision 243651) +++ gcc.dg/sms-3.c (working copy) @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -fmodulo-sched -funroll-loops -fdump-rtl-sms --param sms-min-sc=1 -fmodulo-sched-allow-regmoves" } */ +/* { dg-options "-O2 -fmodulo-sched -funroll-loops -fdump-rtl-sms --param sms-min-sc=1 -fmodulo-sched-allow-regmoves -fno-sched-pressure" { target powerpc*-*-* } } */ extern void abort (void); Index: gcc.dg/sms-6.c =================================================================== --- gcc.dg/sms-6.c (revision 243651) +++ gcc.dg/sms-6.c (working copy) @@ -1,7 +1,7 @@ /* { dg-do run } */ /* { dg-require-effective-target size32plus } */ /* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms --param sms-min-sc=1" } */ -/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms --param sms-min-sc=1 -fmodulo-sched-allow-regmoves" { target powerpc*-*-* } } */ +/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms --param sms-min-sc=1 -fmodulo-sched-allow-regmoves -fno-sched-pressure" { target powerpc*-*-* } } */ extern void abort (void);