1 /* Driver fragment for __builtin_shuffle of any vector shape. */
3 extern void abort (void);
8 #define T(num, msk...) \
9 __attribute__((noinline, noclone)) void \
14 c = __builtin_shuffle (a, mask); \
15 d = __builtin_shuffle (a, b, mask); \
16 __asm ("" : : "r" (&c), "r" (&d) : "memory"); \
17 for (i = 0; i < N; ++i) \
18 if (c[i] != a[mask[i] & (N - 1)]) \
20 else if ((mask[i] & N)) \
22 if (d[i] != b[mask[i] & (N - 1)]) \
25 else if (d[i] != a[mask[i] & (N - 1)]) \
39 for (i = 0; i < N; ++i)
46 #define T(num, msk...) \