1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-load -mno-prefer-avx128" } */
3 
4 void
avx_test(char ** cp,char ** ep)5 avx_test (char **cp, char **ep)
6 {
7   int i;
8   char **ap = __builtin_assume_aligned (ep, 32);
9   for (i = 128; i > 0; i--)
10     *ap++ = *cp++;
11 }
12 
13 /* { dg-final { scan-assembler-not "(avx_loaddqu256|vmovdqu\[^\n\r]*movv32qi_internal)" } } */
14 /* { dg-final { scan-assembler "(sse2_loaddqu|(vmovdqu|vmovups)\[^\n\r]*movv16qi_internal)" } } */
15 /* { dg-final { scan-assembler "vinsert.128" } } */
16