Merged revisions 208012,208018-208019,208021,208023-208030,208033,208037,208040-20804...
[official-gcc.git] / main / gcc / testsuite / g++.dg / torture / vshuf-main.inc
blob697bd019733d731d447606f71d673b2cc55b1251
1 /* Driver fragment for __builtin_shuffle of any vector shape.  */
3 // { dg-do run { target c++11 } }
5 extern "C" void abort(void);
7 int main()
9 #ifndef UNSUPPORTED
10   int i;
12   for (i = 0; i < sizeof(in1)/sizeof(in1[0]); ++i)
13     {
14       V r = __builtin_shuffle(in1[i], mask1[i]);
15       if (__builtin_memcmp(&r, &out1[i], sizeof(V)) != 0)
16         abort();
17     }
19   for (i = 0; i < sizeof(in2)/sizeof(in2[0]); ++i)
20     {
21       V r = __builtin_shuffle(in2[i], in3, mask2[i]);
22       if (__builtin_memcmp(&r, &out2[i], sizeof(V)) != 0)
23         abort();
24     }
25 #endif
27   return 0;