* g++.dg/other/i386-2.C (dg-options): Add -mavx512pf.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / avx256-unaligned-load-7.c
blobad16a5329bf1bd9e800cb8831ce236346359ad1a
1 /* { dg-do run } */
2 /* { dg-require-effective-target avx } */
3 /* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-load" } */
5 #include "avx-check.h"
7 #define N 128
9 char **ep;
10 char **fp;
11 char **mp;
12 char **lp;
14 __attribute__ ((noinline))
15 void
16 foo (void)
18 mp = (char **) malloc (N);
19 lp = (char **) malloc (N);
20 ep = (char **) malloc (N);
21 fp = (char **) malloc (N);
24 void
25 avx_test (void)
27 int i;
28 char **ap, **bp, **cp, **dp;
29 char *str = "STR";
31 foo ();
33 cp = mp;
34 dp = lp;
36 for (i = N; i >= 0; i--)
38 *cp++ = str;
39 *dp++ = str;
42 ap = ep;
43 bp = fp;
44 cp = mp;
45 dp = lp;
47 for (i = N; i >= 0; i--)
49 *ap++ = *cp++;
50 *bp++ = *dp++;
53 for (i = N; i >= 0; i--)
55 if (strcmp (*--ap, "STR") != 0)
56 abort ();
57 if (strcmp (*--bp, "STR") != 0)
58 abort ();