1  /* { dg-do compile } */
       2  /* The pic register save adds unavoidable stack pointer references.  */
       3  /* { dg-skip-if "" { ia32 && { ! nonpic } } } */
       4  /* These options are selected to ensure 1 word needs to be allocated
       5     on the stack to maintain alignment for the call.  This should be
       6     transformed to push+pop.  We also want to force unwind info updates.  */
       7  /* { dg-options "-Os -fomit-frame-pointer -fasynchronous-unwind-tables" } */
       8  /* { dg-additional-options "-mpreferred-stack-boundary=3" { target ia32 } } */
       9  /* { dg-additional-options "-mpreferred-stack-boundary=4" { target { ! ia32 } } } */
      10  /* ms_abi has reserved stack-region.  */
      11  /* { dg-skip-if "" { x86_64-*-mingw* } } */
      12  
      13  extern void g (void);
      14  int
      15  f (void)
      16  {
      17    g ();
      18    return 42;
      19  }
      20  
      21  /* { dg-final { scan-assembler-not "(sub|add)(l|q)\[\\t \]*\\$\[0-9\]*,\[\\t \]*%\[re\]?sp" } } */