/* Driver fragment for __builtin_shuffle of any vector shape. */ | |
// { dg-do run { target c++11 } } | |
extern "C" void abort(void); | |
int main() | |
{ | |
#ifndef UNSUPPORTED | |
int i; | |
for (i = 0; i < sizeof(in1)/sizeof(in1[0]); ++i) | |
{ | |
V r = __builtin_shuffle(in1[i], mask1[i]); | |
if (__builtin_memcmp(&r, &out1[i], sizeof(V)) != 0) | |
abort(); | |
} | |
for (i = 0; i < sizeof(in2)/sizeof(in2[0]); ++i) | |
{ | |
V r = __builtin_shuffle(in2[i], in3, mask2[i]); | |
if (__builtin_memcmp(&r, &out2[i], sizeof(V)) != 0) | |
abort(); | |
} | |
#endif | |
return 0; | |
} |