111
|
1 /* Driver fragment for __builtin_shuffle of any vector shape. */
|
|
2
|
|
3 // { dg-options "-std=c++11" }
|
|
4 // { dg-do run }
|
|
5
|
|
6 extern "C" void abort(void);
|
|
7
|
|
8 int main()
|
|
9 {
|
|
10 #ifndef UNSUPPORTED
|
|
11 int i;
|
|
12
|
|
13 for (i = 0; i < sizeof(in1)/sizeof(in1[0]); ++i)
|
|
14 {
|
|
15 V r = __builtin_shuffle(in1[i], mask1[i]);
|
|
16 if (__builtin_memcmp(&r, &out1[i], sizeof(V)) != 0)
|
|
17 abort();
|
|
18 }
|
|
19
|
|
20 for (i = 0; i < sizeof(in2)/sizeof(in2[0]); ++i)
|
|
21 {
|
|
22 V r = __builtin_shuffle(in2[i], in3, mask2[i]);
|
|
23 if (__builtin_memcmp(&r, &out2[i], sizeof(V)) != 0)
|
|
24 abort();
|
|
25 }
|
|
26 #endif
|
|
27
|
|
28 return 0;
|
|
29 }
|