(root)/
glibc-2.38/
sysdeps/
x86/
tst-get-cpu-features.c
       1  /* Test case for <sys/platform/x86.h> interface
       2     Copyright (C) 2015-2023 Free Software Foundation, Inc.
       3     This file is part of the GNU C Library.
       4  
       5     The GNU C Library is free software; you can redistribute it and/or
       6     modify it under the terms of the GNU Lesser General Public
       7     License as published by the Free Software Foundation; either
       8     version 2.1 of the License, or (at your option) any later version.
       9  
      10     The GNU C Library is distributed in the hope that it will be useful,
      11     but WITHOUT ANY WARRANTY; without even the implied warranty of
      12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      13     Lesser General Public License for more details.
      14  
      15     You should have received a copy of the GNU Lesser General Public
      16     License along with the GNU C Library; if not, see
      17     <https://www.gnu.org/licenses/>.  */
      18  
      19  #include <stdlib.h>
      20  #include <stdio.h>
      21  #include <sys/platform/x86.h>
      22  #include <support/check.h>
      23  
      24  #define CHECK_CPU_FEATURE_PRESENT(name)		\
      25    {						\
      26      if (CPU_FEATURE_PRESENT (name))		\
      27        printf ("  " #name "\n");			\
      28    }
      29  
      30  #define CHECK_CPU_FEATURE_ACTIVE(name)	\
      31    {						\
      32      if (CPU_FEATURE_ACTIVE(name))		\
      33        printf ("  " #name "\n");			\
      34    }
      35  
      36  static int
      37  do_test (void)
      38  {
      39  #ifdef __SSE2__
      40    TEST_VERIFY_EXIT (CPU_FEATURE_PRESENT (SSE2));
      41  #endif
      42  
      43    printf ("CPU features:\n");
      44    CHECK_CPU_FEATURE_PRESENT (SSE3);
      45    CHECK_CPU_FEATURE_PRESENT (PCLMULQDQ);
      46    CHECK_CPU_FEATURE_PRESENT (DTES64);
      47    CHECK_CPU_FEATURE_PRESENT (MONITOR);
      48    CHECK_CPU_FEATURE_PRESENT (DS_CPL);
      49    CHECK_CPU_FEATURE_PRESENT (VMX);
      50    CHECK_CPU_FEATURE_PRESENT (SMX);
      51    CHECK_CPU_FEATURE_PRESENT (EIST);
      52    CHECK_CPU_FEATURE_PRESENT (TM2);
      53    CHECK_CPU_FEATURE_PRESENT (SSSE3);
      54    CHECK_CPU_FEATURE_PRESENT (CNXT_ID);
      55    CHECK_CPU_FEATURE_PRESENT (SDBG);
      56    CHECK_CPU_FEATURE_PRESENT (FMA);
      57    CHECK_CPU_FEATURE_PRESENT (CMPXCHG16B);
      58    CHECK_CPU_FEATURE_PRESENT (XTPRUPDCTRL);
      59    CHECK_CPU_FEATURE_PRESENT (PDCM);
      60    CHECK_CPU_FEATURE_PRESENT (PCID);
      61    CHECK_CPU_FEATURE_PRESENT (DCA);
      62    CHECK_CPU_FEATURE_PRESENT (SSE4_1);
      63    CHECK_CPU_FEATURE_PRESENT (SSE4_2);
      64    CHECK_CPU_FEATURE_PRESENT (X2APIC);
      65    CHECK_CPU_FEATURE_PRESENT (MOVBE);
      66    CHECK_CPU_FEATURE_PRESENT (POPCNT);
      67    CHECK_CPU_FEATURE_PRESENT (TSC_DEADLINE);
      68    CHECK_CPU_FEATURE_PRESENT (AES);
      69    CHECK_CPU_FEATURE_PRESENT (XSAVE);
      70    CHECK_CPU_FEATURE_PRESENT (OSXSAVE);
      71    CHECK_CPU_FEATURE_PRESENT (AVX);
      72    CHECK_CPU_FEATURE_PRESENT (F16C);
      73    CHECK_CPU_FEATURE_PRESENT (RDRAND);
      74    CHECK_CPU_FEATURE_PRESENT (FPU);
      75    CHECK_CPU_FEATURE_PRESENT (VME);
      76    CHECK_CPU_FEATURE_PRESENT (DE);
      77    CHECK_CPU_FEATURE_PRESENT (PSE);
      78    CHECK_CPU_FEATURE_PRESENT (TSC);
      79    CHECK_CPU_FEATURE_PRESENT (MSR);
      80    CHECK_CPU_FEATURE_PRESENT (PAE);
      81    CHECK_CPU_FEATURE_PRESENT (MCE);
      82    CHECK_CPU_FEATURE_PRESENT (CX8);
      83    CHECK_CPU_FEATURE_PRESENT (APIC);
      84    CHECK_CPU_FEATURE_PRESENT (SEP);
      85    CHECK_CPU_FEATURE_PRESENT (MTRR);
      86    CHECK_CPU_FEATURE_PRESENT (PGE);
      87    CHECK_CPU_FEATURE_PRESENT (MCA);
      88    CHECK_CPU_FEATURE_PRESENT (CMOV);
      89    CHECK_CPU_FEATURE_PRESENT (PAT);
      90    CHECK_CPU_FEATURE_PRESENT (PSE_36);
      91    CHECK_CPU_FEATURE_PRESENT (PSN);
      92    CHECK_CPU_FEATURE_PRESENT (CLFSH);
      93    CHECK_CPU_FEATURE_PRESENT (DS);
      94    CHECK_CPU_FEATURE_PRESENT (ACPI);
      95    CHECK_CPU_FEATURE_PRESENT (MMX);
      96    CHECK_CPU_FEATURE_PRESENT (FXSR);
      97    CHECK_CPU_FEATURE_PRESENT (SSE);
      98    CHECK_CPU_FEATURE_PRESENT (SSE2);
      99    CHECK_CPU_FEATURE_PRESENT (SS);
     100    CHECK_CPU_FEATURE_PRESENT (HTT);
     101    CHECK_CPU_FEATURE_PRESENT (TM);
     102    CHECK_CPU_FEATURE_PRESENT (PBE);
     103    CHECK_CPU_FEATURE_PRESENT (FSGSBASE);
     104    CHECK_CPU_FEATURE_PRESENT (TSC_ADJUST);
     105    CHECK_CPU_FEATURE_PRESENT (SGX);
     106    CHECK_CPU_FEATURE_PRESENT (BMI1);
     107    CHECK_CPU_FEATURE_PRESENT (HLE);
     108    CHECK_CPU_FEATURE_PRESENT (AVX2);
     109    CHECK_CPU_FEATURE_PRESENT (SMEP);
     110    CHECK_CPU_FEATURE_PRESENT (BMI2);
     111    CHECK_CPU_FEATURE_PRESENT (ERMS);
     112    CHECK_CPU_FEATURE_PRESENT (INVPCID);
     113    CHECK_CPU_FEATURE_PRESENT (RTM);
     114    CHECK_CPU_FEATURE_PRESENT (RDT_M);
     115    CHECK_CPU_FEATURE_PRESENT (DEPR_FPU_CS_DS);
     116    CHECK_CPU_FEATURE_PRESENT (MPX);
     117    CHECK_CPU_FEATURE_PRESENT (RDT_A);
     118    CHECK_CPU_FEATURE_PRESENT (AVX512F);
     119    CHECK_CPU_FEATURE_PRESENT (AVX512DQ);
     120    CHECK_CPU_FEATURE_PRESENT (RDSEED);
     121    CHECK_CPU_FEATURE_PRESENT (ADX);
     122    CHECK_CPU_FEATURE_PRESENT (SMAP);
     123    CHECK_CPU_FEATURE_PRESENT (AVX512_IFMA);
     124    CHECK_CPU_FEATURE_PRESENT (CLFLUSHOPT);
     125    CHECK_CPU_FEATURE_PRESENT (CLWB);
     126    CHECK_CPU_FEATURE_PRESENT (TRACE);
     127    CHECK_CPU_FEATURE_PRESENT (AVX512PF);
     128    CHECK_CPU_FEATURE_PRESENT (AVX512ER);
     129    CHECK_CPU_FEATURE_PRESENT (AVX512CD);
     130    CHECK_CPU_FEATURE_PRESENT (SHA);
     131    CHECK_CPU_FEATURE_PRESENT (AVX512BW);
     132    CHECK_CPU_FEATURE_PRESENT (AVX512VL);
     133    CHECK_CPU_FEATURE_PRESENT (PREFETCHWT1);
     134    CHECK_CPU_FEATURE_PRESENT (AVX512_VBMI);
     135    CHECK_CPU_FEATURE_PRESENT (UMIP);
     136    CHECK_CPU_FEATURE_PRESENT (PKU);
     137    CHECK_CPU_FEATURE_PRESENT (OSPKE);
     138    CHECK_CPU_FEATURE_PRESENT (WAITPKG);
     139    CHECK_CPU_FEATURE_PRESENT (AVX512_VBMI2);
     140    CHECK_CPU_FEATURE_PRESENT (SHSTK);
     141    CHECK_CPU_FEATURE_PRESENT (GFNI);
     142    CHECK_CPU_FEATURE_PRESENT (VAES);
     143    CHECK_CPU_FEATURE_PRESENT (VPCLMULQDQ);
     144    CHECK_CPU_FEATURE_PRESENT (AVX512_VNNI);
     145    CHECK_CPU_FEATURE_PRESENT (AVX512_BITALG);
     146    CHECK_CPU_FEATURE_PRESENT (AVX512_VPOPCNTDQ);
     147    CHECK_CPU_FEATURE_PRESENT (LA57);
     148    CHECK_CPU_FEATURE_PRESENT (RDPID);
     149    CHECK_CPU_FEATURE_PRESENT (KL);
     150    CHECK_CPU_FEATURE_PRESENT (BUS_LOCK_DETECT);
     151    CHECK_CPU_FEATURE_PRESENT (CLDEMOTE);
     152    CHECK_CPU_FEATURE_PRESENT (MOVDIRI);
     153    CHECK_CPU_FEATURE_PRESENT (MOVDIR64B);
     154    CHECK_CPU_FEATURE_PRESENT (ENQCMD);
     155    CHECK_CPU_FEATURE_PRESENT (SGX_LC);
     156    CHECK_CPU_FEATURE_PRESENT (PKS);
     157    CHECK_CPU_FEATURE_PRESENT (SGX_KEYS);
     158    CHECK_CPU_FEATURE_PRESENT (AVX512_4VNNIW);
     159    CHECK_CPU_FEATURE_PRESENT (AVX512_4FMAPS);
     160    CHECK_CPU_FEATURE_PRESENT (FSRM);
     161    CHECK_CPU_FEATURE_PRESENT (UINTR);
     162    CHECK_CPU_FEATURE_PRESENT (AVX512_VP2INTERSECT);
     163    CHECK_CPU_FEATURE_PRESENT (MD_CLEAR);
     164    CHECK_CPU_FEATURE_PRESENT (RTM_ALWAYS_ABORT);
     165    CHECK_CPU_FEATURE_PRESENT (RTM_FORCE_ABORT);
     166    CHECK_CPU_FEATURE_PRESENT (SERIALIZE);
     167    CHECK_CPU_FEATURE_PRESENT (HYBRID);
     168    CHECK_CPU_FEATURE_PRESENT (TSXLDTRK);
     169    CHECK_CPU_FEATURE_PRESENT (LBR);
     170    CHECK_CPU_FEATURE_PRESENT (PCONFIG);
     171    CHECK_CPU_FEATURE_PRESENT (IBT);
     172    CHECK_CPU_FEATURE_PRESENT (AMX_BF16);
     173    CHECK_CPU_FEATURE_PRESENT (AVX512_FP16);
     174    CHECK_CPU_FEATURE_PRESENT (AMX_TILE);
     175    CHECK_CPU_FEATURE_PRESENT (AMX_INT8);
     176    CHECK_CPU_FEATURE_PRESENT (IBRS_IBPB);
     177    CHECK_CPU_FEATURE_PRESENT (STIBP);
     178    CHECK_CPU_FEATURE_PRESENT (L1D_FLUSH);
     179    CHECK_CPU_FEATURE_PRESENT (ARCH_CAPABILITIES);
     180    CHECK_CPU_FEATURE_PRESENT (CORE_CAPABILITIES);
     181    CHECK_CPU_FEATURE_PRESENT (SSBD);
     182    CHECK_CPU_FEATURE_PRESENT (LAHF64_SAHF64);
     183    CHECK_CPU_FEATURE_PRESENT (SVM);
     184    CHECK_CPU_FEATURE_PRESENT (LZCNT);
     185    CHECK_CPU_FEATURE_PRESENT (SSE4A);
     186    CHECK_CPU_FEATURE_PRESENT (PREFETCHW);
     187    CHECK_CPU_FEATURE_PRESENT (XOP);
     188    CHECK_CPU_FEATURE_PRESENT (LWP);
     189    CHECK_CPU_FEATURE_PRESENT (FMA4);
     190    CHECK_CPU_FEATURE_PRESENT (TBM);
     191    CHECK_CPU_FEATURE_PRESENT (SYSCALL_SYSRET);
     192    CHECK_CPU_FEATURE_PRESENT (NX);
     193    CHECK_CPU_FEATURE_PRESENT (PAGE1GB);
     194    CHECK_CPU_FEATURE_PRESENT (RDTSCP);
     195    CHECK_CPU_FEATURE_PRESENT (LM);
     196    CHECK_CPU_FEATURE_PRESENT (XSAVEOPT);
     197    CHECK_CPU_FEATURE_PRESENT (XSAVEC);
     198    CHECK_CPU_FEATURE_PRESENT (XGETBV_ECX_1);
     199    CHECK_CPU_FEATURE_PRESENT (XSAVES);
     200    CHECK_CPU_FEATURE_PRESENT (XFD);
     201    CHECK_CPU_FEATURE_PRESENT (INVARIANT_TSC);
     202    CHECK_CPU_FEATURE_PRESENT (WBNOINVD);
     203    CHECK_CPU_FEATURE_PRESENT (RAO_INT);
     204    CHECK_CPU_FEATURE_PRESENT (AVX_VNNI);
     205    CHECK_CPU_FEATURE_PRESENT (AVX512_BF16);
     206    CHECK_CPU_FEATURE_PRESENT (LASS);
     207    CHECK_CPU_FEATURE_PRESENT (CMPCCXADD);
     208    CHECK_CPU_FEATURE_PRESENT (ArchPerfmonExt);
     209    CHECK_CPU_FEATURE_PRESENT (FZLRM);
     210    CHECK_CPU_FEATURE_PRESENT (FSRS);
     211    CHECK_CPU_FEATURE_PRESENT (FSRCS);
     212    CHECK_CPU_FEATURE_PRESENT (WRMSRNS);
     213    CHECK_CPU_FEATURE_PRESENT (AMX_FP16);
     214    CHECK_CPU_FEATURE_PRESENT (HRESET);
     215    CHECK_CPU_FEATURE_PRESENT (AVX_IFMA);
     216    CHECK_CPU_FEATURE_PRESENT (LAM);
     217    CHECK_CPU_FEATURE_PRESENT (MSRLIST);
     218    CHECK_CPU_FEATURE_PRESENT (AVX_VNNI_INT8);
     219    CHECK_CPU_FEATURE_PRESENT (AVX_NE_CONVERT);
     220    CHECK_CPU_FEATURE_PRESENT (AMX_COMPLEX);
     221    CHECK_CPU_FEATURE_PRESENT (PREFETCHI);
     222    CHECK_CPU_FEATURE_PRESENT (APX_F);
     223    CHECK_CPU_FEATURE_PRESENT (AESKLE);
     224    CHECK_CPU_FEATURE_PRESENT (WIDE_KL);
     225    CHECK_CPU_FEATURE_PRESENT (PTWRITE);
     226  
     227    printf ("Possible CPU features:\n");
     228    CHECK_CPU_FEATURE_ACTIVE (SSE3);
     229    CHECK_CPU_FEATURE_ACTIVE (PCLMULQDQ);
     230    CHECK_CPU_FEATURE_ACTIVE (DTES64);
     231    CHECK_CPU_FEATURE_ACTIVE (MONITOR);
     232    CHECK_CPU_FEATURE_ACTIVE (DS_CPL);
     233    CHECK_CPU_FEATURE_ACTIVE (VMX);
     234    CHECK_CPU_FEATURE_ACTIVE (SMX);
     235    CHECK_CPU_FEATURE_ACTIVE (EIST);
     236    CHECK_CPU_FEATURE_ACTIVE (TM2);
     237    CHECK_CPU_FEATURE_ACTIVE (SSSE3);
     238    CHECK_CPU_FEATURE_ACTIVE (CNXT_ID);
     239    CHECK_CPU_FEATURE_ACTIVE (SDBG);
     240    CHECK_CPU_FEATURE_ACTIVE (FMA);
     241    CHECK_CPU_FEATURE_ACTIVE (CMPXCHG16B);
     242    CHECK_CPU_FEATURE_ACTIVE (XTPRUPDCTRL);
     243    CHECK_CPU_FEATURE_ACTIVE (PDCM);
     244    CHECK_CPU_FEATURE_ACTIVE (PCID);
     245    CHECK_CPU_FEATURE_ACTIVE (DCA);
     246    CHECK_CPU_FEATURE_ACTIVE (SSE4_1);
     247    CHECK_CPU_FEATURE_ACTIVE (SSE4_2);
     248    CHECK_CPU_FEATURE_ACTIVE (X2APIC);
     249    CHECK_CPU_FEATURE_ACTIVE (MOVBE);
     250    CHECK_CPU_FEATURE_ACTIVE (POPCNT);
     251    CHECK_CPU_FEATURE_ACTIVE (TSC_DEADLINE);
     252    CHECK_CPU_FEATURE_ACTIVE (AES);
     253    CHECK_CPU_FEATURE_ACTIVE (XSAVE);
     254    CHECK_CPU_FEATURE_ACTIVE (OSXSAVE);
     255    CHECK_CPU_FEATURE_ACTIVE (AVX);
     256    CHECK_CPU_FEATURE_ACTIVE (F16C);
     257    CHECK_CPU_FEATURE_ACTIVE (RDRAND);
     258    CHECK_CPU_FEATURE_ACTIVE (FPU);
     259    CHECK_CPU_FEATURE_ACTIVE (VME);
     260    CHECK_CPU_FEATURE_ACTIVE (DE);
     261    CHECK_CPU_FEATURE_ACTIVE (PSE);
     262    CHECK_CPU_FEATURE_ACTIVE (TSC);
     263    CHECK_CPU_FEATURE_ACTIVE (MSR);
     264    CHECK_CPU_FEATURE_ACTIVE (PAE);
     265    CHECK_CPU_FEATURE_ACTIVE (MCE);
     266    CHECK_CPU_FEATURE_ACTIVE (CX8);
     267    CHECK_CPU_FEATURE_ACTIVE (APIC);
     268    CHECK_CPU_FEATURE_ACTIVE (SEP);
     269    CHECK_CPU_FEATURE_ACTIVE (MTRR);
     270    CHECK_CPU_FEATURE_ACTIVE (PGE);
     271    CHECK_CPU_FEATURE_ACTIVE (MCA);
     272    CHECK_CPU_FEATURE_ACTIVE (CMOV);
     273    CHECK_CPU_FEATURE_ACTIVE (PAT);
     274    CHECK_CPU_FEATURE_ACTIVE (PSE_36);
     275    CHECK_CPU_FEATURE_ACTIVE (PSN);
     276    CHECK_CPU_FEATURE_ACTIVE (CLFSH);
     277    CHECK_CPU_FEATURE_ACTIVE (DS);
     278    CHECK_CPU_FEATURE_ACTIVE (ACPI);
     279    CHECK_CPU_FEATURE_ACTIVE (MMX);
     280    CHECK_CPU_FEATURE_ACTIVE (FXSR);
     281    CHECK_CPU_FEATURE_ACTIVE (SSE);
     282    CHECK_CPU_FEATURE_ACTIVE (SSE2);
     283    CHECK_CPU_FEATURE_ACTIVE (SS);
     284    CHECK_CPU_FEATURE_ACTIVE (HTT);
     285    CHECK_CPU_FEATURE_ACTIVE (TM);
     286    CHECK_CPU_FEATURE_ACTIVE (PBE);
     287    CHECK_CPU_FEATURE_ACTIVE (FSGSBASE);
     288    CHECK_CPU_FEATURE_ACTIVE (TSC_ADJUST);
     289    CHECK_CPU_FEATURE_ACTIVE (SGX);
     290    CHECK_CPU_FEATURE_ACTIVE (BMI1);
     291    CHECK_CPU_FEATURE_ACTIVE (HLE);
     292    CHECK_CPU_FEATURE_ACTIVE (AVX2);
     293    CHECK_CPU_FEATURE_ACTIVE (SMEP);
     294    CHECK_CPU_FEATURE_ACTIVE (BMI2);
     295    CHECK_CPU_FEATURE_ACTIVE (ERMS);
     296    CHECK_CPU_FEATURE_ACTIVE (INVPCID);
     297    CHECK_CPU_FEATURE_ACTIVE (RTM);
     298    CHECK_CPU_FEATURE_ACTIVE (RDT_M);
     299    CHECK_CPU_FEATURE_ACTIVE (DEPR_FPU_CS_DS);
     300    CHECK_CPU_FEATURE_ACTIVE (MPX);
     301    CHECK_CPU_FEATURE_ACTIVE (RDT_A);
     302    CHECK_CPU_FEATURE_ACTIVE (AVX512F);
     303    CHECK_CPU_FEATURE_ACTIVE (AVX512DQ);
     304    CHECK_CPU_FEATURE_ACTIVE (RDSEED);
     305    CHECK_CPU_FEATURE_ACTIVE (ADX);
     306    CHECK_CPU_FEATURE_ACTIVE (SMAP);
     307    CHECK_CPU_FEATURE_ACTIVE (AVX512_IFMA);
     308    CHECK_CPU_FEATURE_ACTIVE (CLFLUSHOPT);
     309    CHECK_CPU_FEATURE_ACTIVE (CLWB);
     310    CHECK_CPU_FEATURE_ACTIVE (TRACE);
     311    CHECK_CPU_FEATURE_ACTIVE (AVX512PF);
     312    CHECK_CPU_FEATURE_ACTIVE (AVX512ER);
     313    CHECK_CPU_FEATURE_ACTIVE (AVX512CD);
     314    CHECK_CPU_FEATURE_ACTIVE (SHA);
     315    CHECK_CPU_FEATURE_ACTIVE (AVX512BW);
     316    CHECK_CPU_FEATURE_ACTIVE (AVX512VL);
     317    CHECK_CPU_FEATURE_ACTIVE (PREFETCHWT1);
     318    CHECK_CPU_FEATURE_ACTIVE (AVX512_VBMI);
     319    CHECK_CPU_FEATURE_ACTIVE (UMIP);
     320    CHECK_CPU_FEATURE_ACTIVE (PKU);
     321    CHECK_CPU_FEATURE_ACTIVE (OSPKE);
     322    CHECK_CPU_FEATURE_ACTIVE (WAITPKG);
     323    CHECK_CPU_FEATURE_ACTIVE (AVX512_VBMI2);
     324    CHECK_CPU_FEATURE_ACTIVE (SHSTK);
     325    CHECK_CPU_FEATURE_ACTIVE (GFNI);
     326    CHECK_CPU_FEATURE_ACTIVE (VAES);
     327    CHECK_CPU_FEATURE_ACTIVE (VPCLMULQDQ);
     328    CHECK_CPU_FEATURE_ACTIVE (AVX512_VNNI);
     329    CHECK_CPU_FEATURE_ACTIVE (AVX512_BITALG);
     330    CHECK_CPU_FEATURE_ACTIVE (AVX512_VPOPCNTDQ);
     331    CHECK_CPU_FEATURE_ACTIVE (RDPID);
     332    CHECK_CPU_FEATURE_ACTIVE (KL);
     333    CHECK_CPU_FEATURE_ACTIVE (CLDEMOTE);
     334    CHECK_CPU_FEATURE_ACTIVE (MOVDIRI);
     335    CHECK_CPU_FEATURE_ACTIVE (MOVDIR64B);
     336    CHECK_CPU_FEATURE_ACTIVE (ENQCMD);
     337    CHECK_CPU_FEATURE_ACTIVE (SGX_LC);
     338    CHECK_CPU_FEATURE_ACTIVE (PKS);
     339    CHECK_CPU_FEATURE_ACTIVE (AVX512_4VNNIW);
     340    CHECK_CPU_FEATURE_ACTIVE (AVX512_4FMAPS);
     341    CHECK_CPU_FEATURE_ACTIVE (FSRM);
     342    CHECK_CPU_FEATURE_ACTIVE (AVX512_VP2INTERSECT);
     343    CHECK_CPU_FEATURE_ACTIVE (MD_CLEAR);
     344    CHECK_CPU_FEATURE_ACTIVE (RTM_ALWAYS_ABORT);
     345    CHECK_CPU_FEATURE_ACTIVE (SERIALIZE);
     346    CHECK_CPU_FEATURE_ACTIVE (HYBRID);
     347    CHECK_CPU_FEATURE_ACTIVE (TSXLDTRK);
     348    CHECK_CPU_FEATURE_ACTIVE (PCONFIG);
     349    CHECK_CPU_FEATURE_ACTIVE (IBT);
     350    CHECK_CPU_FEATURE_ACTIVE (AMX_BF16);
     351    CHECK_CPU_FEATURE_ACTIVE (AVX512_FP16);
     352    CHECK_CPU_FEATURE_ACTIVE (AMX_TILE);
     353    CHECK_CPU_FEATURE_ACTIVE (AMX_INT8);
     354    CHECK_CPU_FEATURE_ACTIVE (IBRS_IBPB);
     355    CHECK_CPU_FEATURE_ACTIVE (STIBP);
     356    CHECK_CPU_FEATURE_ACTIVE (L1D_FLUSH);
     357    CHECK_CPU_FEATURE_ACTIVE (ARCH_CAPABILITIES);
     358    CHECK_CPU_FEATURE_ACTIVE (CORE_CAPABILITIES);
     359    CHECK_CPU_FEATURE_ACTIVE (SSBD);
     360    CHECK_CPU_FEATURE_ACTIVE (LAHF64_SAHF64);
     361    CHECK_CPU_FEATURE_ACTIVE (SVM);
     362    CHECK_CPU_FEATURE_ACTIVE (LZCNT);
     363    CHECK_CPU_FEATURE_ACTIVE (SSE4A);
     364    CHECK_CPU_FEATURE_ACTIVE (PREFETCHW);
     365    CHECK_CPU_FEATURE_ACTIVE (XOP);
     366    CHECK_CPU_FEATURE_ACTIVE (LWP);
     367    CHECK_CPU_FEATURE_ACTIVE (FMA4);
     368    CHECK_CPU_FEATURE_ACTIVE (TBM);
     369    CHECK_CPU_FEATURE_ACTIVE (SYSCALL_SYSRET);
     370    CHECK_CPU_FEATURE_ACTIVE (NX);
     371    CHECK_CPU_FEATURE_ACTIVE (PAGE1GB);
     372    CHECK_CPU_FEATURE_ACTIVE (RDTSCP);
     373    CHECK_CPU_FEATURE_ACTIVE (LM);
     374    CHECK_CPU_FEATURE_ACTIVE (XSAVEOPT);
     375    CHECK_CPU_FEATURE_ACTIVE (XSAVEC);
     376    CHECK_CPU_FEATURE_ACTIVE (XGETBV_ECX_1);
     377    CHECK_CPU_FEATURE_ACTIVE (XSAVES);
     378    CHECK_CPU_FEATURE_ACTIVE (XFD);
     379    CHECK_CPU_FEATURE_ACTIVE (INVARIANT_TSC);
     380    CHECK_CPU_FEATURE_ACTIVE (WBNOINVD);
     381    CHECK_CPU_FEATURE_ACTIVE (RAO_INT);
     382    CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI);
     383    CHECK_CPU_FEATURE_ACTIVE (AVX512_BF16);
     384    CHECK_CPU_FEATURE_ACTIVE (CMPCCXADD);
     385    CHECK_CPU_FEATURE_ACTIVE (FZLRM);
     386    CHECK_CPU_FEATURE_ACTIVE (FSRS);
     387    CHECK_CPU_FEATURE_ACTIVE (FSRCS);
     388    CHECK_CPU_FEATURE_ACTIVE (AMX_FP16);
     389    CHECK_CPU_FEATURE_ACTIVE (AVX_IFMA);
     390    CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI_INT8);
     391    CHECK_CPU_FEATURE_ACTIVE (AVX_NE_CONVERT);
     392    CHECK_CPU_FEATURE_ACTIVE (AMX_COMPLEX);
     393    CHECK_CPU_FEATURE_ACTIVE (PREFETCHI);
     394    CHECK_CPU_FEATURE_ACTIVE (APX_F);
     395    CHECK_CPU_FEATURE_ACTIVE (AESKLE);
     396    CHECK_CPU_FEATURE_ACTIVE (WIDE_KL);
     397    CHECK_CPU_FEATURE_ACTIVE (PTWRITE);
     398  
     399    return 0;
     400  }
     401  
     402  #include <support/test-driver.c>