PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr80969-3.c
blobd902a771cc8f015815ec19b87c447c021a9f46cf
1 /* { dg-do run { target { { ! x32 } && avx512f_runtime } } } */
2 /* { dg-do compile { target { { ! x32 } && { ! avx512f_runtime } } } } */
3 /* { dg-options "-Ofast -mabi=ms -mavx512f" } */
4 /* { dg-require-effective-target avx512f } */
6 /* Test with alloca (and DRAP). */
8 #include <alloca.h>
10 int a[56];
11 volatile int b = -12345;
12 volatile const int d = 42;
14 void foo (int *x, int y, int z)
18 void (*volatile const foo_noinfo)(int *, int, int) = foo;
20 int main (int argc, char *argv[]) {
21 int c;
22 int *e = alloca (d);
23 foo_noinfo (e, d, 0);
24 for (; b; b++) {
25 c = b;
26 if (b & 1)
27 c = 2;
28 foo_noinfo (e, d, c);
29 a[-(b % 56)] = c;
31 return 0;