1 #if __SIZEOF_INT__ == 4
2 typedef unsigned int V __attribute__((vector_size(16), may_alias));
11 { 0x11111111, 0x22222222, 0x33333333, 0x44444444 },
13 { 0x11111111, 0x22222222, 0x33333333, 0x44444444 },
16 { 0x11111111, 0x22222222, 0x33333333, 0x44444444 },
17 { 0+1*4, 1+2*4, 2+3*4, 3+4*4 },
18 { 0x11111111, 0x22222222, 0x33333333, 0x44444444 },
21 { 0x11111111, 0x22222222, 0x33333333, 0x44444444 },
23 { 0x44444444, 0x33333333, 0x22222222, 0x11111111 },
26 { 0x11111111, 0x22222222, 0x33333333, 0x44444444 },
28 { 0x11111111, 0x44444444, 0x33333333, 0x22222222 },
31 { 0x11111111, 0x22222222, 0x33333333, 0x44444444 },
33 { 0x11111111, 0x33333333, 0x22222222, 0x44444444 },
36 { 0x11223344, 0x55667788, 0x99aabbcc, 0xddeeff00 },
38 { 0xddeeff00, 0x55667788, 0x99aabbcc, 0x11223344 },
41 { 0x11223344, 0x55667788, 0x99aabbcc, 0xddeeff00 },
43 { 0x11223344, 0x11223344, 0x11223344, 0x11223344 },
46 { 0x11223344, 0x55667788, 0x99aabbcc, 0xddeeff00 },
48 { 0x55667788, 0x99aabbcc, 0x55667788, 0x99aabbcc },
52 extern void abort(void);
58 for (i = 0; i < sizeof(tests)/sizeof(tests[0]); ++i)
60 V r = __builtin_shuffle(tests[i].in, tests[i].mask);
61 if (__builtin_memcmp(&r, &tests[i].out, sizeof(V)) != 0)
68 #endif /* SIZEOF_INT */