mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-10-30 10:45:40 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			411 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			411 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Test case for <sys/platform/x86.h> interface
 | |
|    Copyright (C) 2015-2025 Free Software Foundation, Inc.
 | |
|    This file is part of the GNU C Library.
 | |
| 
 | |
|    The GNU C Library is free software; you can redistribute it and/or
 | |
|    modify it under the terms of the GNU Lesser General Public
 | |
|    License as published by the Free Software Foundation; either
 | |
|    version 2.1 of the License, or (at your option) any later version.
 | |
| 
 | |
|    The GNU C Library is distributed in the hope that it will be useful,
 | |
|    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
|    Lesser General Public License for more details.
 | |
| 
 | |
|    You should have received a copy of the GNU Lesser General Public
 | |
|    License along with the GNU C Library; if not, see
 | |
|    <https://www.gnu.org/licenses/>.  */
 | |
| 
 | |
| #include <stdlib.h>
 | |
| #include <stdio.h>
 | |
| #include <sys/platform/x86.h>
 | |
| #include <support/check.h>
 | |
| 
 | |
| #define CHECK_CPU_FEATURE_PRESENT(name)		\
 | |
|   {						\
 | |
|     if (CPU_FEATURE_PRESENT (name))		\
 | |
|       printf ("  " #name "\n");			\
 | |
|   }
 | |
| 
 | |
| #define CHECK_CPU_FEATURE_ACTIVE(name)	\
 | |
|   {						\
 | |
|     if (CPU_FEATURE_ACTIVE(name))		\
 | |
|       printf ("  " #name "\n");			\
 | |
|   }
 | |
| 
 | |
| static int
 | |
| do_test (void)
 | |
| {
 | |
| #ifdef __SSE2__
 | |
|   TEST_VERIFY_EXIT (CPU_FEATURE_PRESENT (SSE2));
 | |
| #endif
 | |
| 
 | |
|   printf ("CPU features:\n");
 | |
|   CHECK_CPU_FEATURE_PRESENT (SSE3);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PCLMULQDQ);
 | |
|   CHECK_CPU_FEATURE_PRESENT (DTES64);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MONITOR);
 | |
|   CHECK_CPU_FEATURE_PRESENT (DS_CPL);
 | |
|   CHECK_CPU_FEATURE_PRESENT (VMX);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SMX);
 | |
|   CHECK_CPU_FEATURE_PRESENT (EIST);
 | |
|   CHECK_CPU_FEATURE_PRESENT (TM2);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SSSE3);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CNXT_ID);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SDBG);
 | |
|   CHECK_CPU_FEATURE_PRESENT (FMA);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CMPXCHG16B);
 | |
|   CHECK_CPU_FEATURE_PRESENT (XTPRUPDCTRL);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PDCM);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PCID);
 | |
|   CHECK_CPU_FEATURE_PRESENT (DCA);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SSE4_1);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SSE4_2);
 | |
|   CHECK_CPU_FEATURE_PRESENT (X2APIC);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MOVBE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (POPCNT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (TSC_DEADLINE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AES);
 | |
|   CHECK_CPU_FEATURE_PRESENT (XSAVE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (OSXSAVE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX);
 | |
|   CHECK_CPU_FEATURE_PRESENT (F16C);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RDRAND);
 | |
|   CHECK_CPU_FEATURE_PRESENT (FPU);
 | |
|   CHECK_CPU_FEATURE_PRESENT (VME);
 | |
|   CHECK_CPU_FEATURE_PRESENT (DE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PSE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (TSC);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MSR);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PAE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MCE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CX8);
 | |
|   CHECK_CPU_FEATURE_PRESENT (APIC);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SEP);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MTRR);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PGE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MCA);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CMOV);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PAT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PSE_36);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PSN);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CLFSH);
 | |
|   CHECK_CPU_FEATURE_PRESENT (DS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (ACPI);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MMX);
 | |
|   CHECK_CPU_FEATURE_PRESENT (FXSR);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SSE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SSE2);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (HTT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (TM);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PBE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (FSGSBASE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (TSC_ADJUST);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SGX);
 | |
|   CHECK_CPU_FEATURE_PRESENT (BMI1);
 | |
|   CHECK_CPU_FEATURE_PRESENT (HLE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX2);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SMEP);
 | |
|   CHECK_CPU_FEATURE_PRESENT (BMI2);
 | |
|   CHECK_CPU_FEATURE_PRESENT (ERMS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (INVPCID);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RTM);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RDT_M);
 | |
|   CHECK_CPU_FEATURE_PRESENT (DEPR_FPU_CS_DS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MPX);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RDT_A);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512F);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512DQ);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RDSEED);
 | |
|   CHECK_CPU_FEATURE_PRESENT (ADX);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SMAP);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_IFMA);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CLFLUSHOPT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CLWB);
 | |
|   CHECK_CPU_FEATURE_PRESENT (TRACE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512PF);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512ER);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512CD);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SHA);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512BW);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512VL);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PREFETCHWT1);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_VBMI);
 | |
|   CHECK_CPU_FEATURE_PRESENT (UMIP);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PKU);
 | |
|   CHECK_CPU_FEATURE_PRESENT (OSPKE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (WAITPKG);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_VBMI2);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SHSTK);
 | |
|   CHECK_CPU_FEATURE_PRESENT (GFNI);
 | |
|   CHECK_CPU_FEATURE_PRESENT (VAES);
 | |
|   CHECK_CPU_FEATURE_PRESENT (VPCLMULQDQ);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_VNNI);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_BITALG);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_VPOPCNTDQ);
 | |
|   CHECK_CPU_FEATURE_PRESENT (LA57);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RDPID);
 | |
|   CHECK_CPU_FEATURE_PRESENT (KL);
 | |
|   CHECK_CPU_FEATURE_PRESENT (BUS_LOCK_DETECT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CLDEMOTE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MOVDIRI);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MOVDIR64B);
 | |
|   CHECK_CPU_FEATURE_PRESENT (ENQCMD);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SGX_LC);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PKS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SGX_KEYS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_4VNNIW);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_4FMAPS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (FSRM);
 | |
|   CHECK_CPU_FEATURE_PRESENT (UINTR);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_VP2INTERSECT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MD_CLEAR);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RTM_ALWAYS_ABORT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RTM_FORCE_ABORT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SERIALIZE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (HYBRID);
 | |
|   CHECK_CPU_FEATURE_PRESENT (TSXLDTRK);
 | |
|   CHECK_CPU_FEATURE_PRESENT (LBR);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PCONFIG);
 | |
|   CHECK_CPU_FEATURE_PRESENT (IBT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AMX_BF16);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_FP16);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AMX_TILE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AMX_INT8);
 | |
|   CHECK_CPU_FEATURE_PRESENT (IBRS_IBPB);
 | |
|   CHECK_CPU_FEATURE_PRESENT (STIBP);
 | |
|   CHECK_CPU_FEATURE_PRESENT (L1D_FLUSH);
 | |
|   CHECK_CPU_FEATURE_PRESENT (ARCH_CAPABILITIES);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CORE_CAPABILITIES);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SSBD);
 | |
|   CHECK_CPU_FEATURE_PRESENT (LAHF64_SAHF64);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SVM);
 | |
|   CHECK_CPU_FEATURE_PRESENT (LZCNT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SSE4A);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PREFETCHW);
 | |
|   CHECK_CPU_FEATURE_PRESENT (XOP);
 | |
|   CHECK_CPU_FEATURE_PRESENT (LWP);
 | |
|   CHECK_CPU_FEATURE_PRESENT (FMA4);
 | |
|   CHECK_CPU_FEATURE_PRESENT (TBM);
 | |
|   CHECK_CPU_FEATURE_PRESENT (SYSCALL_SYSRET);
 | |
|   CHECK_CPU_FEATURE_PRESENT (NX);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PAGE1GB);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RDTSCP);
 | |
|   CHECK_CPU_FEATURE_PRESENT (LM);
 | |
|   CHECK_CPU_FEATURE_PRESENT (XSAVEOPT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (XSAVEC);
 | |
|   CHECK_CPU_FEATURE_PRESENT (XGETBV_ECX_1);
 | |
|   CHECK_CPU_FEATURE_PRESENT (XSAVES);
 | |
|   CHECK_CPU_FEATURE_PRESENT (XFD);
 | |
|   CHECK_CPU_FEATURE_PRESENT (INVARIANT_TSC);
 | |
|   CHECK_CPU_FEATURE_PRESENT (WBNOINVD);
 | |
|   CHECK_CPU_FEATURE_PRESENT (RAO_INT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX_VNNI);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX512_BF16);
 | |
|   CHECK_CPU_FEATURE_PRESENT (LASS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (CMPCCXADD);
 | |
|   CHECK_CPU_FEATURE_PRESENT (ArchPerfmonExt);
 | |
|   CHECK_CPU_FEATURE_PRESENT (FZLRM);
 | |
|   CHECK_CPU_FEATURE_PRESENT (FSRS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (FSRCS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (WRMSRNS);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AMX_FP16);
 | |
|   CHECK_CPU_FEATURE_PRESENT (HRESET);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX_IFMA);
 | |
|   CHECK_CPU_FEATURE_PRESENT (LAM);
 | |
|   CHECK_CPU_FEATURE_PRESENT (MSRLIST);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX_VNNI_INT8);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX_NE_CONVERT);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AMX_COMPLEX);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PREFETCHI);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AVX10);
 | |
|   CHECK_CPU_FEATURE_PRESENT (APX_F);
 | |
|   CHECK_CPU_FEATURE_PRESENT (AESKLE);
 | |
|   CHECK_CPU_FEATURE_PRESENT (WIDE_KL);
 | |
|   CHECK_CPU_FEATURE_PRESENT (PTWRITE);
 | |
| 
 | |
|   printf ("Possible CPU features:\n");
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SSE3);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PCLMULQDQ);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (DTES64);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MONITOR);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (DS_CPL);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (VMX);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SMX);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (EIST);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (TM2);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SSSE3);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CNXT_ID);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SDBG);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (FMA);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CMPXCHG16B);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (XTPRUPDCTRL);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PDCM);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PCID);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (DCA);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SSE4_1);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SSE4_2);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (X2APIC);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MOVBE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (POPCNT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (TSC_DEADLINE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AES);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (XSAVE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (OSXSAVE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (F16C);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (RDRAND);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (FPU);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (VME);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (DE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PSE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (TSC);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MSR);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PAE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MCE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CX8);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (APIC);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SEP);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MTRR);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PGE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MCA);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CMOV);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PAT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PSE_36);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PSN);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CLFSH);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (DS);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (ACPI);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MMX);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (FXSR);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SSE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SSE2);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SS);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (HTT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (TM);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PBE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (FSGSBASE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (TSC_ADJUST);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SGX);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (BMI1);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (HLE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX2);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SMEP);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (BMI2);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (ERMS);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (INVPCID);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (RTM);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (RDT_M);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (DEPR_FPU_CS_DS);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MPX);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (RDT_A);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512F);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512DQ);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (RDSEED);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (ADX);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SMAP);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_IFMA);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CLFLUSHOPT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CLWB);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (TRACE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512PF);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512ER);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512CD);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SHA);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512BW);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512VL);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PREFETCHWT1);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_VBMI);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (UMIP);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PKU);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (OSPKE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (WAITPKG);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_VBMI2);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SHSTK);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (GFNI);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (VAES);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (VPCLMULQDQ);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_VNNI);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_BITALG);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_VPOPCNTDQ);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (RDPID);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (KL);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CLDEMOTE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MOVDIRI);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MOVDIR64B);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (ENQCMD);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SGX_LC);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PKS);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_4VNNIW);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_4FMAPS);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (FSRM);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_VP2INTERSECT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (MD_CLEAR);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (RTM_ALWAYS_ABORT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SERIALIZE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (HYBRID);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (TSXLDTRK);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PCONFIG);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (IBT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AMX_BF16);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_FP16);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AMX_TILE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AMX_INT8);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (IBRS_IBPB);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (STIBP);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (L1D_FLUSH);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (ARCH_CAPABILITIES);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CORE_CAPABILITIES);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SSBD);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (LAHF64_SAHF64);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SVM);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (LZCNT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SSE4A);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PREFETCHW);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (XOP);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (LWP);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (FMA4);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (TBM);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (SYSCALL_SYSRET);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (NX);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PAGE1GB);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (RDTSCP);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (LM);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (XSAVEOPT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (XSAVEC);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (XGETBV_ECX_1);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (XSAVES);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (XFD);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (INVARIANT_TSC);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (WBNOINVD);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (RAO_INT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX512_BF16);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (CMPCCXADD);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (FZLRM);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (FSRS);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (FSRCS);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AMX_FP16);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX_IFMA);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI_INT8);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX_NE_CONVERT);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AMX_COMPLEX);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PREFETCHI);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AVX10);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (APX_F);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (AESKLE);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (WIDE_KL);
 | |
|   CHECK_CPU_FEATURE_ACTIVE (PTWRITE);
 | |
| 
 | |
|   if (CPU_FEATURE_ACTIVE (AVX10))
 | |
|     {
 | |
|       CHECK_CPU_FEATURE_ACTIVE (AVX10_XMM);
 | |
|       CHECK_CPU_FEATURE_ACTIVE (AVX10_YMM);
 | |
|       CHECK_CPU_FEATURE_ACTIVE (AVX10_ZMM);
 | |
|     }
 | |
|   return 0;
 | |
| }
 | |
| 
 | |
| #include <support/test-driver.c>
 |