(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
pr60580_1.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O0 -fomit-frame-pointer -fno-inline --save-temps" } */
       3  
       4  void
       5  func_leaf (void)
       6  {
       7    int a = 0;
       8  }
       9  
      10  void
      11  func_no_leaf (void)
      12  {
      13    int a = 0;
      14    func_leaf ();
      15  }
      16  
      17  void
      18  func1 (void)
      19  {
      20    int a = 0;
      21    func_no_leaf ();
      22  }
      23  
      24  /*
      25   * This function calls XXX(), which modifies SP. This is incompatible to
      26   * -fomit-frame-pointer generated code as SP is used to access the frame.
      27   */
      28  __attribute__ ((optimize("no-omit-frame-pointer")))
      29  void
      30  func2 (void)
      31  {
      32    int a = 0;
      33    func_no_leaf ();
      34  }
      35  
      36  void
      37  func3 (void)
      38  {
      39    int a = 0;
      40    func_no_leaf ();
      41  }
      42  
      43  /* { dg-final { scan-assembler-times "stp\tx29, x30, \\\[sp, -\[0-9\]+\\\]!" 1 } } */
      44