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