1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mtune=generic -fshrink-wrap -fdump-rtl-pro_and_epilogue -fno-stack-protector" } */
3 /* { dg-additional-options "-mno-avx" { target ia32 } } */
4 /* { dg-skip-if "No shrink-wrapping preformed" { x86_64-*-mingw* } } */
5
6 #include <string.h>
7
8 int c;
9 int x[2000];
10 __attribute__((regparm(1))) void foo (int a, int b)
11 {
12 int t[200];
13 if (a == 0 || c == 0)
14 return;
15 memcpy (t, x + b, sizeof t);
16 c = t[a];
17 }
18
19 /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" "pro_and_epilogue" } } */