Message ID | 987c1aaa-ae0f-54aa-ac7f-20ab6305da0e@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On Tue, Dec 20, 2016 at 11:26:02AM -0600, Pat Haugen wrote: > 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? Yes please. Thanks, Segher > testsuite/ChangeLog: > 2016-12-20 Pat Haugen <pthaugen@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);