(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr25196.c
       1  /* { dg-do run } */
       2  /* { dg-require-effective-target ia32 } */
       3  /* { dg-options "-march=i386 -O3 -fomit-frame-pointer" } */
       4  
       5  /* For this test case, we used to do an invalid load motion after
       6     reload, because we missed autoincrements of the stack pointer.  */
       7  
       8  extern void abort (void);
       9  
      10  static int j;
      11  
      12  static void __attribute__((noinline))
      13  f1 (int a, int b, int c, int d, int e)
      14  {
      15    j = a;
      16  }
      17  
      18  int __attribute__((noinline))
      19  f2 (int a, int b, int c, int d, int e)
      20  {
      21    if ((b & 0x1111) != 1)
      22      f1 (a, b, c, d, e);
      23    return 0;
      24  }
      25  
      26  int
      27  main (void)
      28  {
      29    f2 (123, 0, 0, 0, 0);
      30    if (j != 123)
      31      abort ();
      32    return 0;
      33  }
      34