/* { dg-do run } */ /* { dg-require-effective-target avx } */ /* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-load" } */ #include "avx-check.h" #define N 8 float a[N+3] = { -1, -1, -1, 24.43, 68.346, 43.35, 546.46, 46.79, 82.78, 82.7, 9.4 }; float b[N]; float c[N]; void foo (void) { int i; for (i = 0; i < N; i++) b[i] = a[i+3] * 2; } __attribute__ ((noinline)) float bar (float x) { return x * 2; } void avx_test (void) { int i; foo (); for (i = 0; i < N; i++) c[i] = bar (a[i+3]); for (i = 0; i < N; i++) if (b[i] != c[i]) abort (); }