1/* PR target/40838 */
2/* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
3/* { dg-options "-w -mstackrealign -O3 -mno-sse -mpreferred-stack-boundary=4" } */
4
5float
6foo (float f)
7{
8  float array[128];
9  float x;
10  int i;
11  for (i = 0; i < sizeof(array) / sizeof(*array); i++)
12    array[i] = f;
13  for (i = 0; i < sizeof(array) / sizeof(*array); i++)
14    x += array[i];
15  return x;
16}
17
18/* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%esp" } } */
19