1/* PR target/40838 */
2/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
3/* { dg-options "-w -mstackrealign -fomit-frame-pointer -O3 -march=barcelona -mpreferred-stack-boundary=4" } */
4
5struct s {
6	int x[8];
7};
8
9void g(struct s *);
10
11void f()
12{
13	int i;
14	struct s s;
15	for (i = 0; i < sizeof(s.x) / sizeof(*s.x); i++) s.x[i] = 0;
16	g(&s);
17}
18
19/* { dg-final { scan-assembler "andl\[\\t \]*\\$-16,\[\\t \]*%esp" } } */
20