diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/i386/sse2-extract-1.c')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gcc.target/i386/sse2-extract-1.c | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/i386/sse2-extract-1.c b/gcc-4.8/gcc/testsuite/gcc.target/i386/sse2-extract-1.c deleted file mode 100644 index f701cee8c..000000000 --- a/gcc-4.8/gcc/testsuite/gcc.target/i386/sse2-extract-1.c +++ /dev/null @@ -1,102 +0,0 @@ -/* { dg-do run } */ -/* { dg-options "-O2 -msse2" } */ -/* { dg-require-effective-target sse2_runtime } */ - -extern void abort (void); -typedef unsigned long long uint64_t; - -#define vector(elcount, type) \ -__attribute__((vector_size((elcount)*sizeof(type)))) type - -#define FN(elcount, type, idx) \ -__attribute__((noinline, noclone)) \ -type f##type##elcount##_##idx (vector (elcount, type) x) { return x[idx] + 1; } -#define T2(elcount, type) \ - H (elcount, type) \ - F (elcount, type, 0) \ - F (elcount, type, 1) -#define T4(elcount, type) \ - T2 (elcount, type) \ - F (elcount, type, 2) \ - F (elcount, type, 3) -#define T8(elcount, type) \ - T4 (elcount, type) \ - F (elcount, type, 4) \ - F (elcount, type, 5) \ - F (elcount, type, 6) \ - F (elcount, type, 7) -#define T16(elcount, type) \ - T8 (elcount, type) \ - F (elcount, type, 8) \ - F (elcount, type, 9) \ - F (elcount, type, 10) \ - F (elcount, type, 11) \ - F (elcount, type, 12) \ - F (elcount, type, 13) \ - F (elcount, type, 14) \ - F (elcount, type, 15) -#define T32(elcount, type) \ - T16 (elcount, type) \ - F (elcount, type, 16) \ - F (elcount, type, 17) \ - F (elcount, type, 18) \ - F (elcount, type, 19) \ - F (elcount, type, 20) \ - F (elcount, type, 21) \ - F (elcount, type, 22) \ - F (elcount, type, 23) \ - F (elcount, type, 24) \ - F (elcount, type, 25) \ - F (elcount, type, 26) \ - F (elcount, type, 27) \ - F (elcount, type, 28) \ - F (elcount, type, 29) \ - F (elcount, type, 30) \ - F (elcount, type, 31) -#define TESTS_SSE2 \ -T2 (2, double) E \ -T2 (2, uint64_t) E \ -T4 (4, float) E \ -T4 (4, int) E \ -T8 (8, short) E \ -T16 (16, char) E -#define TESTS_AVX \ -T4 (4, double) E \ -T4 (4, uint64_t) E \ -T8 (8, float) E \ -T8 (8, int) E \ -T16 (16, short) E \ -T32 (32, char) E -#ifdef __AVX__ -#define TESTS TESTS_SSE2 TESTS_AVX -#else -#define TESTS TESTS_SSE2 -#endif - -#define F FN -#define H(elcount, type) -#define E -TESTS - -int -main () -{ -#undef F -#undef H -#undef E -#define H(elcount, type) \ - vector (elcount, type) v##type##elcount = { -#define E }; -#define F(elcount, type, idx) idx + 1, - TESTS -#undef F -#undef H -#undef E -#define H(elcount, type) -#define E -#define F(elcount, type, idx) \ - if (f##type##elcount##_##idx (v##type##elcount) != idx + 2) \ - abort (); - TESTS - return 0; -} |