Rebase.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / avx256-unaligned-load-5.c
blob153b66f828797d7b07c3a030a6414573ed98dd34
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 8
9 float a[N+3] = { -1, -1, -1, 24.43, 68.346, 43.35,
10 546.46, 46.79, 82.78, 82.7, 9.4 };
11 float b[N];
12 float c[N];
14 void
15 foo (void)
17 int i;
19 for (i = 0; i < N; i++)
20 b[i] = a[i+3] * 2;
23 __attribute__ ((noinline))
24 float
25 bar (float x)
27 return x * 2;
30 void
31 avx_test (void)
33 int i;
35 foo ();
37 for (i = 0; i < N; i++)
38 c[i] = bar (a[i+3]);
40 for (i = 0; i < N; i++)
41 if (b[i] != c[i])
42 abort ();