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