(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
s390/
20050524-1.c
       1  /* This test case used to abort due to a reload bug with
       2     elimination offsets.  */
       3  
       4  /* { dg-do run } */
       5  /* { dg-options "-O2 -mpacked-stack" } */
       6  
       7  extern void abort (void);
       8  
       9  double bar (double) __attribute__ ((noinline));
      10  double bar (double x) { return x; }
      11  
      12  double
      13  foo (int j, double f0, double f2, double f4, double f6, double x) __attribute__ ((noinline));
      14  
      15  double
      16  foo (int j, double f0, double f2, double f4, double f6, double x)
      17  {
      18    if (j)
      19      return bar (x) + 4.0;
      20    else
      21      return bar (x);
      22  }
      23  
      24  int
      25  main (void)
      26  {
      27    if (foo (0, 0, 0, 0, 0, 10) != 10)
      28      abort ();
      29    if (foo (1, 0, 0, 0, 0, 10) != 14)
      30      abort ();
      31  
      32    return 0;
      33  }
      34