131
|
1 /* PR tree-optimization/85331 */
|
145
|
2 /* { dg-require-effective-target double64plus } */
|
131
|
3
|
|
4 typedef double V __attribute__((vector_size (2 * sizeof (double))));
|
|
5 typedef long long W __attribute__((vector_size (2 * sizeof (long long))));
|
|
6
|
|
7 __attribute__((noipa)) void
|
|
8 foo (V *r)
|
|
9 {
|
|
10 V y = { 1.0, 2.0 };
|
|
11 W m = { 10000000001LL, 0LL };
|
|
12 *r = __builtin_shuffle (y, m);
|
|
13 }
|
|
14
|
|
15 int
|
|
16 main ()
|
|
17 {
|
|
18 V r;
|
|
19 foo (&r);
|
|
20 if (r[0] != 2.0 || r[1] != 1.0)
|
|
21 __builtin_abort ();
|
|
22 return 0;
|
|
23 }
|