Viewing file: avx-pr94680.c (2.62 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do compile } */ /* { dg-options "-mavx -mno-avx512f -O2" } */ /* { dg-final { scan-assembler-times {(?n)vmov[a-z0-9]*[ \t]*%xmm[0-9]} 12 } } */ /* { dg-final { scan-assembler-not "pxor" } } */
typedef float v8sf __attribute__((vector_size(32))); typedef double v4df __attribute__ ((vector_size (32))); typedef long long v4di __attribute__((vector_size(32))); typedef int v8si __attribute__((vector_size(32))); typedef short v16hi __attribute__ ((vector_size (32))); typedef char v32qi __attribute__ ((vector_size (32)));
v4df foo_v4df (v4df x) { return __builtin_shuffle (x, (v4df) { 0, 0, 0, 0 }, (v4di) { 0, 1, 4, 5 }); }
v4df foo_v4df_l (v4df x) { return __builtin_shuffle ((v4df) { 0, 0, 0, 0 }, x, (v4di) { 4, 5, 1, 2 }); }
v4di foo_v4di (v4di x) { return __builtin_shuffle (x, (v4di) { 0, 0, 0, 0 }, (v4di) { 0, 1, 4, 7 }); }
v4di foo_v4di_l (v4di x) { return __builtin_shuffle ((v4di) { 0, 0, 0, 0 }, x, (v4di) { 4, 5, 3, 1 }); }
v8sf foo_v8sf (v8sf x) { return __builtin_shuffle ((v8sf) { 0, 0, 0, 0, 0, 0, 0, 0 }, x, (v8si) { 8, 9, 10, 11, 0, 1, 2, 3 }); }
v8sf foo_v8sf_l (v8sf x) { return __builtin_shuffle (x, (v8sf) { 0, 0, 0, 0, 0, 0, 0, 0 }, (v8si) { 0, 1, 2, 3, 8, 9, 10, 11 }); }
v8si foo_v8si (v8si x) { return __builtin_shuffle (x, (v8si) { 0, 0, 0, 0, 0, 0, 0, 0 }, (v8si) { 0, 1, 2, 3, 13, 12, 11, 15 }); }
v8si foo_v8si_l (v8si x) { return __builtin_shuffle ((v8si) { 0, 0, 0, 0, 0, 0, 0, 0 }, x, (v8si) { 8, 9, 10, 11, 7, 6, 5, 4 }); }
v16hi foo_v16hi (v16hi x) { return __builtin_shuffle (x, (v16hi) { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, (v16hi) { 0, 1, 2, 3, 4, 5, 6, 7, 24, 17, 26, 19, 28, 21, 30, 23 }); }
v16hi foo_v16hi_l (v16hi x) { return __builtin_shuffle ((v16hi) { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, x, (v16hi) { 16, 17, 18, 19, 20, 21, 22, 23, 15, 0, 13, 2, 11, 4, 9, 6 }); }
v32qi foo_v32qi (v32qi x) { return __builtin_shuffle (x, (v32qi) { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, (v32qi) { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 32, 49, 34, 58, 36, 53, 38, 39, 40, 60, 42, 43, 63, 45, 46, 47 }); }
v32qi foo_v32qi_l (v32qi x) { return __builtin_shuffle ((v32qi) { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, x, (v32qi) { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 31, 0, 29, 2, 27, 4, 25, 6, 23, 8, 21, 10, 19, 12, 17, 14 }); }
|