1 /* { dg-do compile } */
2 /* { dg-options "-mpreferred-stack-boundary=4 -O" } */
3 /* { dg-final { scan-assembler-not "and\[lq\]?\[^\\n\]*-64,\[^\\n\]*sp" } } */
4 /* We only guarantee we won't generate the stack alignment when
5    optimizing.  When not optimizing, the return value will be assigned
6    to a pseudo with the specified alignment, which in turn will force
7    stack alignment since the pseudo might have to be spilled.  Without
8    optimization, we wouldn't compute the actual stack requirements
9    after register allocation and reload, and just use the conservative
10    estimate.  */
11 
12 /* This compile only test is to detect an assertion failure in stack branch
13    development.  */
14 typedef int aligned __attribute__((aligned(64)));
15 
16 aligned
foo(void)17 foo (void) { }
18