1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3
4 typedef long long v2di __attribute__ ((vector_size (16)));
5 typedef double v2df __attribute__ ((vector_size (16)));
6
7 v2di
8 construct_lanedi (long long *y)
9 {
10 v2di x = { y[0], y[1] };
11 return x;
12 }
13
14 v2df
15 construct_lanedf (double *y)
16 {
17 v2df x = { y[0], y[1] };
18 return x;
19 }
20
21 /* We can use the load_pair_lanes<mode> pattern to vec_concat two DI/DF
22 values from consecutive memory into a 2-element vector by using
23 a Q-reg LDR. */
24
25 /* { dg-final { scan-assembler-times "ldr\tq\[0-9\]+" 2 } } */
26 /* { dg-final { scan-assembler-not "ins\t" } } */