OSDN Git Service

2010-06-07 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / i386 / pclmul-avx-check.h
1 #ifdef DEBUG
2 #include <stdio.h>
3 #endif
4 #include <stdlib.h>
5 #include "cpuid.h"
6
7 static void pclmul_avx_test (void);
8
9 static void
10 __attribute__ ((noinline))
11 do_test (void)
12 {
13   pclmul_avx_test ();
14 }
15
16 int
17 main ()
18 {
19   unsigned int eax, ebx, ecx, edx;
20  
21   if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
22     return 0;
23
24   /* Run PCLMUL + AVX test only if host has PCLMUL + AVX support.  */
25   if ((ecx & (bit_AVX | bit_PCLMUL)) == (bit_AVX | bit_PCLMUL))
26     {
27       do_test ();
28 #ifdef DEBUG
29       printf ("PASSED\n");
30 #endif
31     }
32 #ifdef DEBUG
33   else
34     printf ("SKIPPED\n");
35 #endif
36
37   return 0;
38 }