/* { dg-do compile } */ /* { dg-options "-O2 -mtune=generic -fshrink-wrap -fdump-rtl-pro_and_epilogue" } */ /* { dg-skip-if "No shrink-wrapping preformed" { x86_64-*-mingw* } { "*" } { "" } } */ #include int c; int x[2000]; __attribute__((regparm(1))) void foo (int a, int b) { int t[200]; if (a == 0 || c == 0) return; memcpy (t, x + b, sizeof t); c = t[a]; } /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" "pro_and_epilogue" } } */ /* { dg-final { cleanup-rtl-dump "pro_and_epilogue" } } */