OSDN Git Service

* gcc.target/i386/avx-recip-vec.c: New test.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / i386 / avx-truncf-vec.c
index 099ff82..a1ee6d4 100644 (file)
@@ -3,52 +3,7 @@
 /* { dg-require-effective-target avx } */
 /* { dg-skip-if "no M_PI" { vxworks_kernel } } */
 
-#include "avx-check.h"
+#define CHECK_H "avx-check.h"
+#define TEST avx_test
 
-#include <math.h>
-
-extern float truncf (float);
-
-#define NUM 64
-
-static void
-__attribute__((__target__("fpmath=sse")))
-init_src (float *src)
-{
-  int i, sign = 1;
-  float f = rand ();
-
-  for (i = 0; i < NUM; i++)
-    {
-      src[i] = (i + 1) * f * M_PI * sign;
-      if (i < (NUM / 2))
-       {
-          if ((i % 6) == 0)
-           f = f * src[i];
-        }
-      else if (i == (NUM / 2))
-       f = rand ();
-      else if ((i % 6) == 0)
-       f = 1 / (f * (i + 1) * src[i] * M_PI * sign);
-      sign = -sign;
-    }
-}
-
-static void
-__attribute__((__target__("fpmath=387")))
-avx_test (void)
-{
-  float a[NUM];
-  float r[NUM];
-  int i;
-
-  init_src (a);
-
-  for (i = 0; i < NUM; i++)
-    r[i] = truncf (a[i]);
-
-  /* check results:  */
-  for (i = 0; i < NUM; i++)
-    if (r[i] != truncf (a[i]))
-      abort();
-}
+#include "sse4_1-truncf-vec.c"