1 /* { dg-do compile } */
2 /* { dg-options "-O2 -msse2 -mno-sse4" } */
3
4 typedef unsigned long long v2di __attribute__((vector_size(16)));
5 typedef double v2df __attribute__((vector_size(16)));
6
7 v2di foo(v2di x,v2di y) { return (v2di){y[0],x[1]}; }
8 v2df bar(v2df x,v2df y) { return (v2df){y[0],x[1]}; }
9
10 /* { dg-final { scan-assembler-times "\tmovsd\t" 2 } } */
11 /* { dg-final { scan-assembler-not "shufpd" } } */
12 /* { dg-final { scan-assembler-not "movdqa" } } */
13 /* { dg-final { scan-assembler-not "pshufd" } } */
14 /* { dg-final { scan-assembler-not "punpckldq" } } */
15 /* { dg-final { scan-assembler-not "movq" } } */