diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/i386/m128-check.h')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gcc.target/i386/m128-check.h | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/i386/m128-check.h b/gcc-4.8/gcc/testsuite/gcc.target/i386/m128-check.h deleted file mode 100644 index 4e2deecb1..000000000 --- a/gcc-4.8/gcc/testsuite/gcc.target/i386/m128-check.h +++ /dev/null @@ -1,166 +0,0 @@ -#include <stdio.h> -#include <xmmintrin.h> - -#ifdef __SSE2__ -#include <emmintrin.h> - -typedef union -{ - __m128i x; - char a[16]; -} union128i_b; - -typedef union -{ - __m128i x; - unsigned char a[16]; -} union128i_ub; - -typedef union -{ - __m128i x; - short a[8]; -} union128i_w; - -typedef union -{ - __m128i x; - unsigned short a[8]; -} union128i_uw; - -typedef union -{ - __m128i x; - int a[4]; -} union128i_d; - -typedef union -{ - __m128i x; - long long a[2]; -} union128i_q; - -typedef union -{ - __m128d x; - double a[2]; -} union128d; -#endif - -typedef union -{ - __m128 x; - float a[4]; -} union128; - -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(A) (sizeof (A) / sizeof ((A)[0])) -#endif - -#ifdef DEBUG -#define PRINTF printf -#else -#define PRINTF(...) -#endif - -#define CHECK_EXP(UINON_TYPE, VALUE_TYPE, FMT) \ -static int \ -__attribute__((noinline, unused)) \ -check_##UINON_TYPE (UINON_TYPE u, const VALUE_TYPE *v) \ -{ \ - int i; \ - int err = 0; \ - \ - for (i = 0; i < ARRAY_SIZE (u.a); i++) \ - if (u.a[i] != v[i]) \ - { \ - err++; \ - PRINTF ("%i: " FMT " != " FMT "\n", \ - i, v[i], u.a[i]); \ - } \ - return err; \ -} - -#ifdef __SSE2__ -CHECK_EXP (union128i_b, char, "%d") -CHECK_EXP (union128i_ub, unsigned char, "%d") -CHECK_EXP (union128i_w, short, "%d") -CHECK_EXP (union128i_uw, unsigned short, "%d") -CHECK_EXP (union128i_d, int, "0x%x") -CHECK_EXP (union128i_q, long long, "0x%llx") -CHECK_EXP (union128d, double, "%f") -#endif - -CHECK_EXP (union128, float, "%f") - -#define ESP_FLOAT 0.000001 -#define ESP_DOUBLE 0.000001 -#define CHECK_ARRAY(ARRAY, TYPE, FMT) \ -static int \ -__attribute__((noinline, unused)) \ -checkV##ARRAY (const TYPE *v, const TYPE *e, int n) \ -{ \ - int i; \ - int err = 0; \ - \ - for (i = 0; i < n; i++) \ - if (v[i] != e[i]) \ - { \ - err++; \ - PRINTF ("%i: " FMT " != " FMT "\n", \ - i, v[i], e[i]); \ - } \ - return err; \ -} - -CHECK_ARRAY(i, int, "0x%x") -CHECK_ARRAY(l, long long, "0x%llx") - -#define CHECK_FP_ARRAY(ARRAY, TYPE, ESP, FMT) \ -static int \ -__attribute__((noinline, unused)) \ -checkV##ARRAY (const TYPE *v, const TYPE *e, int n) \ -{ \ - int i; \ - int err = 0; \ - \ - for (i = 0; i < n; i++) \ - if (v[i] > (e[i] + (ESP)) || v[i] < (e[i] - (ESP))) \ - if (e[i] != v[i]) \ - { \ - err++; \ - PRINTF ("%i: " FMT " != " FMT "\n", \ - i, v[i], e[i]); \ - } \ - return err; \ -} - -CHECK_FP_ARRAY (d, double, ESP_DOUBLE, "%f") -CHECK_FP_ARRAY (f, float, ESP_FLOAT, "%f") - -#ifdef NEED_IEEE754_FLOAT -union ieee754_float -{ - float d; - struct - { - unsigned long frac : 23; - unsigned exp : 8; - unsigned sign : 1; - } bits __attribute__((packed)); -}; -#endif - -#ifdef NEED_IEEE754_DOUBLE -union ieee754_double -{ - double d; - struct - { - unsigned long frac1 : 32; - unsigned long frac0 : 20; - unsigned exp : 11; - unsigned sign : 1; - } bits __attribute__((packed)); -}; -#endif |