(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
sms-3.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O2 -fmodulo-sched -funroll-loops -fdump-rtl-sms --param sms-min-sc=1 -fmodulo-sched-allow-regmoves" } */
       3  /* { dg-options "-O2 -fmodulo-sched -funroll-loops -fdump-rtl-sms --param sms-min-sc=1 -fmodulo-sched-allow-regmoves -fno-sched-pressure" { target powerpc*-*-* } } */
       4  
       5  extern void abort (void);
       6  
       7  int X[1000]={0};
       8  int Y[1000]={0};
       9  
      10  extern void abort (void);
      11  
      12  __attribute__ ((noinline))
      13  int
      14  foo (int len, long a)
      15  {
      16    int i;
      17    long res = a;
      18  
      19    len = 1000;
      20    for (i = 0; i < len; i++)
      21      res += X[i]* Y[i];
      22  
      23    if (res != 601)
      24      abort ();
      25  
      26  }
      27  
      28  int
      29  main ()
      30  {
      31    X[0] = Y[1] = 2;
      32    Y[0] = X[1] = 21;
      33    X[2] = Y[3] = 3;
      34    Y[2] = X[3] = 31;
      35    X[4] = Y[5] = 4;
      36    Y[4] = X[5] = 41;
      37  
      38    foo (6, 3);
      39    return 0;
      40  }