1#include <stdlib.h> 2#include "cpuid.h" 3 4static void adx_test (void); 5 6static void __attribute__ ((noinline)) do_test (void) 7{ 8 adx_test (); 9} 10 11 int 12main () 13{ 14 unsigned int eax, ebx, ecx, edx; 15 16 if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx)) 17 return 0; 18 19 /* Run ADX test only if host has ADX support. */ 20 21 if (__get_cpuid_max (0, NULL) < 7) 22 return 0; 23 24 __cpuid_count (7, 0, eax, ebx, ecx, edx); 25 26 if ((ebx & bit_ADX) == bit_ADX) 27 { 28 do_test (); 29#ifdef DEBUG 30 printf ("PASSED\n"); 31#endif 32 return 0; 33 } 34#ifdef DEBUG 35 printf ("SKIPPED\n"); 36#endif 37 38 return 0; 39} 40 41