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
f(void)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" } } */
22