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