From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS17314 8.43.84.0/22 X-Spam-Status: No, score=-4.2 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, UPPERCASE_50_75 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 81BA71F5AE for ; Fri, 23 Jul 2021 03:58:06 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 64A9B3835428 for ; Fri, 23 Jul 2021 03:58:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 64A9B3835428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1627012685; bh=pbfAOAIUT2NyDsXxjLwnMPslznMhz9xh4PwDAiDXcfM=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=cmh9j+wydOQeh5+C/CW6RBnWcBzXjjFLc08TQ95MsS1Z/ty4JjmnQwMJuhe5n2yu8 y0xMkJNejcZ/CKvQMWRU3GIBUWSmLtTkBIVE4fsnzYtlvotCiSc/8JtmI9MiVXpEYd KPwYEN16nIjdRmCS51cJ11jnRW8dB11X986xrKcs= Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by sourceware.org (Postfix) with ESMTPS id 28D5038618A2 for ; Fri, 23 Jul 2021 03:57:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 28D5038618A2 Received: by mail-pl1-x633.google.com with SMTP id a14so1761865plh.5 for ; Thu, 22 Jul 2021 20:57:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pbfAOAIUT2NyDsXxjLwnMPslznMhz9xh4PwDAiDXcfM=; b=dYp+kW+VQ7Y5tgEmCiEL8Z7rts83PsjoJDk3AOk7sRFm61rAl7tth+u3qTNpOMYgBM ZoVbfBAWOe2Pg8ASzRQMs8ApMijM59xsNk3Rx5fMmGVQeEUxttU88e11wDw0Y4auL/V6 5Xapl8vZPm4hdKmqcieb+eF5L31UcxJKlhsANeqCcY3X2O3vCafNgl07WaxSSH2mOlTs Nik019wFB2vyw2zSziSuOL0luXlF7lp6TXDo0wHcAZRbo/DOwbYDWqOIIl3+n+3YCzoE AhO1XEBvfH9Kpg9+ptCVP7a+y7n22z+Inq1ATmSnYP5zkEiJxCzdpgVJosyIEPJfel21 TDSQ== X-Gm-Message-State: AOAM530W5+qz5qCzKrOKAGjfHmEtc1nhuMCaSnNuHUiFAo5FgSm8zZrj afRGoDs7VsiOf5ptxKh2yGrzuEpjUvupZuC+gjM= X-Google-Smtp-Source: ABdhPJw8x9coM7hbD0worIUGzVM66PXuNMjz6wm6yNaYNlwcLNLeRNpMJ10rCJiQsiNGYG1rsGZK5R7n3ScHcqQhy50= X-Received: by 2002:a17:90a:d254:: with SMTP id o20mr12019294pjw.136.1627012660958; Thu, 22 Jul 2021 20:57:40 -0700 (PDT) MIME-Version: 1.0 References: <20210719151905.4026640-1-hjl.tools@gmail.com> <8b1b991e-3c93-0f46-1645-6f093edcddf2@redhat.com> In-Reply-To: <8b1b991e-3c93-0f46-1645-6f093edcddf2@redhat.com> Date: Thu, 22 Jul 2021 20:57:04 -0700 Message-ID: Subject: Re: [PATCH v3] x86: Install [BZ #27958] To: "Carlos O'Donell" Content-Type: text/plain; charset="UTF-8" X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: "H.J. Lu via Libc-alpha" Reply-To: "H.J. Lu" Cc: GNU C Library Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" On Thu, Jul 22, 2021 at 8:17 PM Carlos O'Donell wrote: > > On 7/19/21 11:19 AM, H.J. Lu wrote: > > 1. Install for which includes > > . > > 2. Rename HAS_CPU_FEATURE to CPU_FEATURE_PRESENT which checks if the > > processor has the feature. > > 3. Rename CPU_FEATURE_ACTIVE to CPU_FEATURE_POSSIBLE which checks if the > > Fix: > Rename CPU_FEATURE_USABLE to CPU_FEATURE_ACTIVE which checks if the Fixed. > Please post v4 and I'll ACK that after reviewing new commit message, and > the suggested wording change in the example. > > > feature is active. There may be other preconditions, like sufficient > > stack space or further setup for AMX, which must be satisfied before the > > feature can be used. > > Agreed. 100%. > > > > > This fixes BZ #27958. > > --- > > manual/platform.texi | 18 +- > > sysdeps/x86/Makefile | 2 +- > > sysdeps/x86/bits/platform/x86.h | 2 +- > > sysdeps/x86/cpu-features.c | 188 +++---- > > sysdeps/x86/dl-diagnostics-cpu.c | 4 +- > > sysdeps/x86/include/cpu-features.h | 20 +- > > sysdeps/x86/sys/platform/x86.h | 14 +- > > sysdeps/x86/tst-cet-legacy-10.c | 8 +- > > sysdeps/x86/tst-cpu-features-cpuinfo.c | 4 +- > > sysdeps/x86/tst-cpu-features-supports.c | 184 +++---- > > sysdeps/x86/tst-get-cpu-features.c | 670 ++++++++++++------------ > > sysdeps/x86/tst-ifunc-isa.h | 12 +- > > sysdeps/x86/tst-string-rtm.h | 2 +- > > sysdeps/x86_64/fpu/math-tests-arch.h | 6 +- > > 14 files changed, 570 insertions(+), 564 deletions(-) > > > > diff --git a/manual/platform.texi b/manual/platform.texi > > index 037dfc4f20..8e023d20d1 100644 > > --- a/manual/platform.texi > > +++ b/manual/platform.texi > > @@ -148,14 +148,16 @@ Return a pointer to x86 CPU feature structure used by query macros for x86 > > CPU feature @var{leaf}. > > @end deftypefun > > > > -@deftypefn Macro int HAS_CPU_FEATURE (@var{name}) > > +@deftypefn Macro int CPU_FEATURE_PRESENT (@var{name}) > > This macro returns a nonzero value (true) if the processor has the feature > > @var{name}. > > @end deftypefn > > > > -@deftypefn Macro int CPU_FEATURE_USABLE (@var{name}) > > +@deftypefn Macro int CPU_FEATURE_ACTIVE (@var{name}) > > This macro returns a nonzero value (true) if the processor has the feature > > -@var{name} and the feature is supported by the operating system. > > +@var{name} and the feature is active. There may be other preconditions, > > +like sufficient stack space or further setup for AMX, which must be > > +satisfied before the feature can be used. > > OK. Excellent text, good note "may be other preconditions," > > > @end deftypefn > > > > The supported processor features are: > > @@ -682,20 +684,20 @@ You could query if a processor supports @code{AVX} with: > > #include > > > > int > > -support_avx (void) > > +avx_present (void) > > @{ > > - return HAS_CPU_FEATURE (AVX); > > + return CPU_FEATURE_PRESENT (AVX); > > @} > > @end smallexample > > > > -and if @code{AVX} is usable with: > > +and if @code{AVX} may be supported with: > > Suggest: > and if @code{AVX} is active and may be used: I changed it to and if @code{AVX} is active and may be used with: I sent the v4 patch. Thanks. > > > > @smallexample > > #include > > > > int > > -usable_avx (void) > > +avx_active (void) > > @{ > > - return CPU_FEATURE_USABLE (AVX); > > + return CPU_FEATURE_ACTIVE (AVX); > > @} > > @end smallexample > > diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile > > index 346ec491b3..567ea54243 100644 > > --- a/sysdeps/x86/Makefile > > +++ b/sysdeps/x86/Makefile > > @@ -5,7 +5,7 @@ endif > > ifeq ($(subdir),elf) > > sysdep_routines += get-cpuid-feature-leaf > > sysdep-dl-routines += dl-get-cpu-features > > -sysdep_headers += sys/platform/x86.h > > +sysdep_headers += sys/platform/x86.h bits/platform/x86.h > > > > CFLAGS-get-cpuid-feature-leaf.o += $(no-stack-protector) > > > > diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h > > index 5509b1ad87..0757804e30 100644 > > --- a/sysdeps/x86/bits/platform/x86.h > > +++ b/sysdeps/x86/bits/platform/x86.h > > @@ -36,7 +36,7 @@ enum > > struct cpuid_feature > > { > > unsigned int cpuid_array[4]; > > - unsigned int usable_array[4]; > > + unsigned int active_array[4]; > > }; > > > > enum cpuid_register_index > > diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c > > index 563a206ac1..706a172ba9 100644 > > --- a/sysdeps/x86/cpu-features.c > > +++ b/sysdeps/x86/cpu-features.c > > @@ -40,69 +40,69 @@ extern void TUNABLE_CALLBACK (set_x86_shstk) (tunable_val_t *) > > #endif > > > > static void > > -update_usable (struct cpu_features *cpu_features) > > +update_active (struct cpu_features *cpu_features) > > { > > - /* Copy the cpuid bits to usable bits for CPU featuress whose usability > > + /* Copy the cpuid bits to active bits for CPU featuress whose usability > > in user space can be detected without additonal OS support. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, SSE3); > > - CPU_FEATURE_SET_USABLE (cpu_features, PCLMULQDQ); > > - CPU_FEATURE_SET_USABLE (cpu_features, SSSE3); > > - CPU_FEATURE_SET_USABLE (cpu_features, CMPXCHG16B); > > - CPU_FEATURE_SET_USABLE (cpu_features, SSE4_1); > > - CPU_FEATURE_SET_USABLE (cpu_features, SSE4_2); > > - CPU_FEATURE_SET_USABLE (cpu_features, MOVBE); > > - CPU_FEATURE_SET_USABLE (cpu_features, POPCNT); > > - CPU_FEATURE_SET_USABLE (cpu_features, AES); > > - CPU_FEATURE_SET_USABLE (cpu_features, OSXSAVE); > > - CPU_FEATURE_SET_USABLE (cpu_features, TSC); > > - CPU_FEATURE_SET_USABLE (cpu_features, CX8); > > - CPU_FEATURE_SET_USABLE (cpu_features, CMOV); > > - CPU_FEATURE_SET_USABLE (cpu_features, CLFSH); > > - CPU_FEATURE_SET_USABLE (cpu_features, MMX); > > - CPU_FEATURE_SET_USABLE (cpu_features, FXSR); > > - CPU_FEATURE_SET_USABLE (cpu_features, SSE); > > - CPU_FEATURE_SET_USABLE (cpu_features, SSE2); > > - CPU_FEATURE_SET_USABLE (cpu_features, HTT); > > - CPU_FEATURE_SET_USABLE (cpu_features, BMI1); > > - CPU_FEATURE_SET_USABLE (cpu_features, HLE); > > - CPU_FEATURE_SET_USABLE (cpu_features, BMI2); > > - CPU_FEATURE_SET_USABLE (cpu_features, ERMS); > > - CPU_FEATURE_SET_USABLE (cpu_features, RDSEED); > > - CPU_FEATURE_SET_USABLE (cpu_features, ADX); > > - CPU_FEATURE_SET_USABLE (cpu_features, CLFLUSHOPT); > > - CPU_FEATURE_SET_USABLE (cpu_features, CLWB); > > - CPU_FEATURE_SET_USABLE (cpu_features, SHA); > > - CPU_FEATURE_SET_USABLE (cpu_features, PREFETCHWT1); > > - CPU_FEATURE_SET_USABLE (cpu_features, OSPKE); > > - CPU_FEATURE_SET_USABLE (cpu_features, WAITPKG); > > - CPU_FEATURE_SET_USABLE (cpu_features, GFNI); > > - CPU_FEATURE_SET_USABLE (cpu_features, RDPID); > > - CPU_FEATURE_SET_USABLE (cpu_features, RDRAND); > > - CPU_FEATURE_SET_USABLE (cpu_features, CLDEMOTE); > > - CPU_FEATURE_SET_USABLE (cpu_features, MOVDIRI); > > - CPU_FEATURE_SET_USABLE (cpu_features, MOVDIR64B); > > - CPU_FEATURE_SET_USABLE (cpu_features, FSRM); > > - CPU_FEATURE_SET_USABLE (cpu_features, RTM_ALWAYS_ABORT); > > - CPU_FEATURE_SET_USABLE (cpu_features, SERIALIZE); > > - CPU_FEATURE_SET_USABLE (cpu_features, TSXLDTRK); > > - CPU_FEATURE_SET_USABLE (cpu_features, LAHF64_SAHF64); > > - CPU_FEATURE_SET_USABLE (cpu_features, LZCNT); > > - CPU_FEATURE_SET_USABLE (cpu_features, SSE4A); > > - CPU_FEATURE_SET_USABLE (cpu_features, PREFETCHW); > > - CPU_FEATURE_SET_USABLE (cpu_features, TBM); > > - CPU_FEATURE_SET_USABLE (cpu_features, RDTSCP); > > - CPU_FEATURE_SET_USABLE (cpu_features, WBNOINVD); > > - CPU_FEATURE_SET_USABLE (cpu_features, FZLRM); > > - CPU_FEATURE_SET_USABLE (cpu_features, FSRS); > > - CPU_FEATURE_SET_USABLE (cpu_features, FSRCS); > > - CPU_FEATURE_SET_USABLE (cpu_features, PTWRITE); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SSE3); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, PCLMULQDQ); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SSSE3); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, CMPXCHG16B); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SSE4_1); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SSE4_2); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, MOVBE); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, POPCNT); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AES); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, OSXSAVE); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, TSC); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, CX8); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, CMOV); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, CLFSH); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, MMX); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, FXSR); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SSE); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SSE2); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, HTT); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, BMI1); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, HLE); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, BMI2); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, ERMS); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, RDSEED); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, ADX); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, CLFLUSHOPT); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, CLWB); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SHA); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, PREFETCHWT1); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, OSPKE); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, WAITPKG); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, GFNI); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, RDPID); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, RDRAND); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, CLDEMOTE); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, MOVDIRI); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, MOVDIR64B); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, FSRM); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, RTM_ALWAYS_ABORT); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SERIALIZE); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, TSXLDTRK); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, LAHF64_SAHF64); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, LZCNT); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SSE4A); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, PREFETCHW); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, TBM); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, RDTSCP); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, WBNOINVD); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, FZLRM); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, FSRS); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, FSRCS); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, PTWRITE); > > > > if (!CPU_FEATURES_CPU_P (cpu_features, RTM_ALWAYS_ABORT)) > > - CPU_FEATURE_SET_USABLE (cpu_features, RTM); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, RTM); > > > > #if CET_ENABLED > > - CPU_FEATURE_SET_USABLE (cpu_features, IBT); > > - CPU_FEATURE_SET_USABLE (cpu_features, SHSTK); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, IBT); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, SHSTK); > > #endif > > > > /* Can we call xgetbv? */ > > @@ -131,17 +131,17 @@ update_usable (struct cpu_features *cpu_features) > > |= bit_arch_AVX_Fast_Unaligned_Load; > > } > > /* Determine if AVX-VNNI is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX_VNNI); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX_VNNI); > > /* Determine if FMA is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, FMA); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, FMA); > > /* Determine if VAES is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, VAES); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, VAES); > > /* Determine if VPCLMULQDQ is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, VPCLMULQDQ); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, VPCLMULQDQ); > > /* Determine if XOP is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, XOP); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, XOP); > > /* Determine if F16C is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, F16C); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, F16C); > > } > > > > /* Check if OPMASK state, upper 256-bit of ZMM0-ZMM15 and > > @@ -155,41 +155,41 @@ update_usable (struct cpu_features *cpu_features) > > { > > CPU_FEATURE_SET (cpu_features, AVX512F); > > /* Determine if AVX512CD is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512CD); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512CD); > > /* Determine if AVX512ER is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512ER); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512ER); > > /* Determine if AVX512PF is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512PF); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512PF); > > /* Determine if AVX512VL is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512VL); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512VL); > > /* Determine if AVX512DQ is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512DQ); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512DQ); > > /* Determine if AVX512BW is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512BW); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512BW); > > /* Determine if AVX512_4FMAPS is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512_4FMAPS); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512_4FMAPS); > > /* Determine if AVX512_4VNNIW is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512_4VNNIW); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512_4VNNIW); > > /* Determine if AVX512_BITALG is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512_BITALG); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512_BITALG); > > /* Determine if AVX512_IFMA is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512_IFMA); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512_IFMA); > > /* Determine if AVX512_VBMI is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512_VBMI); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512_VBMI); > > /* Determine if AVX512_VBMI2 is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512_VBMI2); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512_VBMI2); > > /* Determine if is AVX512_VNNI usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512_VNNI); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512_VNNI); > > /* Determine if AVX512_VPOPCNTDQ is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, > > + CPU_FEATURE_SET_ACTIVE (cpu_features, > > AVX512_VPOPCNTDQ); > > /* Determine if AVX512_VP2INTERSECT is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, > > + CPU_FEATURE_SET_ACTIVE (cpu_features, > > AVX512_VP2INTERSECT); > > /* Determine if AVX512_BF16 is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512_BF16); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512_BF16); > > /* Determine if AVX512_FP16 is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AVX512_FP16); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX512_FP16); > > } > > } > > } > > @@ -199,19 +199,19 @@ update_usable (struct cpu_features *cpu_features) > > == (bit_XTILECFG_state | bit_XTILEDATA_state)) > > { > > /* Determine if AMX_BF16 is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AMX_BF16); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AMX_BF16); > > /* Determine if AMX_TILE is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AMX_TILE); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AMX_TILE); > > /* Determine if AMX_INT8 is usable. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, AMX_INT8); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, AMX_INT8); > > } > > > > /* These features are usable only when OSXSAVE is enabled. */ > > CPU_FEATURE_SET (cpu_features, XSAVE); > > - CPU_FEATURE_SET_USABLE (cpu_features, XSAVEOPT); > > - CPU_FEATURE_SET_USABLE (cpu_features, XSAVEC); > > - CPU_FEATURE_SET_USABLE (cpu_features, XGETBV_ECX_1); > > - CPU_FEATURE_SET_USABLE (cpu_features, XFD); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, XSAVEOPT); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, XSAVEC); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, XGETBV_ECX_1); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, XFD); > > > > /* For _dl_runtime_resolve, set xsave_state_size to xsave area > > size + integer register save size and align it to 64 bytes. */ > > @@ -289,8 +289,8 @@ update_usable (struct cpu_features *cpu_features) > > if (CPU_FEATURES_CPU_P (cpu_features, AESKLE)) > > { > > CPU_FEATURE_SET (cpu_features, AESKLE); > > - CPU_FEATURE_SET_USABLE (cpu_features, KL); > > - CPU_FEATURE_SET_USABLE (cpu_features, WIDE_KL); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, KL); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, WIDE_KL); > > } > > > > cpu_features->isa_1 = get_isa_level (cpu_features); > > @@ -426,7 +426,7 @@ init_cpu_features (struct cpu_features *cpu_features) > > > > get_extended_indices (cpu_features); > > > > - update_usable (cpu_features); > > + update_active (cpu_features); > > > > if (family == 0x06) > > { > > @@ -569,7 +569,7 @@ init_cpu_features (struct cpu_features *cpu_features) > > > > get_extended_indices (cpu_features); > > > > - update_usable (cpu_features); > > + update_active (cpu_features); > > > > ecx = cpu_features->features[CPUID_INDEX_1].cpuid.ecx; > > > > @@ -577,7 +577,7 @@ init_cpu_features (struct cpu_features *cpu_features) > > { > > /* Since the FMA4 bit is in CPUID_INDEX_80000001 and > > FMA4 requires AVX, determine if FMA4 is usable here. */ > > - CPU_FEATURE_SET_USABLE (cpu_features, FMA4); > > + CPU_FEATURE_SET_ACTIVE (cpu_features, FMA4); > > } > > > > if (family == 0x15) > > @@ -608,7 +608,7 @@ init_cpu_features (struct cpu_features *cpu_features) > > > > get_extended_indices (cpu_features); > > > > - update_usable (cpu_features); > > + update_active (cpu_features); > > > > model += extended_model; > > if (family == 0x6) > > @@ -652,7 +652,7 @@ init_cpu_features (struct cpu_features *cpu_features) > > { > > kind = arch_kind_other; > > get_common_indices (cpu_features, NULL, NULL, NULL, NULL); > > - update_usable (cpu_features); > > + update_active (cpu_features); > > } > > > > /* Support i586 if CX8 is available. */ > > diff --git a/sysdeps/x86/dl-diagnostics-cpu.c b/sysdeps/x86/dl-diagnostics-cpu.c > > index 5d04527ad1..715a9dd81f 100644 > > --- a/sysdeps/x86/dl-diagnostics-cpu.c > > +++ b/sysdeps/x86/dl-diagnostics-cpu.c > > @@ -62,8 +62,8 @@ _dl_diagnostics_cpu (void) > > cpu_features->features[index].cpuid_array[reg]); > > for (unsigned int reg = 0; reg < 4; ++reg) > > print_cpu_feature_internal > > - (index, "usable", reg, > > - cpu_features->features[index].usable_array[reg]); > > + (index, "active", reg, > > + cpu_features->features[index].active_array[reg]); > > } > > > > /* The preferred indicators are not part of the ABI and need to be > > diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h > > index 59e01df543..fc589e98b9 100644 > > --- a/sysdeps/x86/include/cpu-features.h > > +++ b/sysdeps/x86/include/cpu-features.h > > @@ -43,11 +43,11 @@ enum > > > > /* Only used directly in cpu-features.c. */ > > #define CPU_FEATURE_SET(ptr, name) \ > > - ptr->features[index_cpu_##name].usable.reg_##name |= bit_cpu_##name; > > + ptr->features[index_cpu_##name].active.reg_##name |= bit_cpu_##name; > > #define CPU_FEATURE_UNSET(ptr, name) \ > > - ptr->features[index_cpu_##name].usable.reg_##name &= ~bit_cpu_##name; > > -#define CPU_FEATURE_SET_USABLE(ptr, name) \ > > - ptr->features[index_cpu_##name].usable.reg_##name \ > > + ptr->features[index_cpu_##name].active.reg_##name &= ~bit_cpu_##name; > > +#define CPU_FEATURE_SET_ACTIVE(ptr, name) \ > > + ptr->features[index_cpu_##name].active.reg_##name \ > > |= ptr->features[index_cpu_##name].cpuid.reg_##name & bit_cpu_##name; > > #define CPU_FEATURE_PREFERRED_P(ptr, name) \ > > ((ptr->preferred[index_arch_##name] & bit_arch_##name) != 0) > > @@ -55,10 +55,14 @@ enum > > #define CPU_FEATURE_CHECK_P(ptr, name, check) \ > > ((ptr->features[index_cpu_##name].check.reg_##name \ > > & bit_cpu_##name) != 0) > > -#define CPU_FEATURE_CPU_P(ptr, name) \ > > +#define CPU_FEATURE_PRESENT_P(ptr, name) \ > > CPU_FEATURE_CHECK_P (ptr, name, cpuid) > > +#define CPU_FEATURE_ACTIVE_P(ptr, name) \ > > + CPU_FEATURE_CHECK_P (ptr, name, active) > > +#define CPU_FEATURE_CPU_P(ptr, name) \ > > + CPU_FEATURE_PRESENT_P (ptr, name) > > #define CPU_FEATURE_USABLE_P(ptr, name) \ > > - CPU_FEATURE_CHECK_P (ptr, name, usable) > > + CPU_FEATURE_ACTIVE_P (ptr, name) > > > > /* HAS_CPU_FEATURE evaluates to true if CPU supports the feature. */ > > #define HAS_CPU_FEATURE(name) \ > > @@ -846,8 +850,8 @@ struct cpuid_feature_internal > > }; > > union > > { > > - unsigned int usable_array[4]; > > - struct cpuid_registers usable; > > + unsigned int active_array[4]; > > + struct cpuid_registers active; > > }; > > }; > > > > diff --git a/sysdeps/x86/sys/platform/x86.h b/sysdeps/x86/sys/platform/x86.h > > index e930219944..2d119f312f 100644 > > --- a/sysdeps/x86/sys/platform/x86.h > > +++ b/sysdeps/x86/sys/platform/x86.h > > @@ -30,7 +30,7 @@ extern const struct cpuid_feature *__x86_get_cpuid_feature_leaf (unsigned int) > > __attribute__ ((pure)); > > > > static __inline__ _Bool > > -x86_cpu_has_feature (unsigned int __index) > > +x86_cpu_present (unsigned int __index) > > { > > const struct cpuid_feature *__ptr = __x86_get_cpuid_feature_leaf > > (__index / (8 * sizeof (unsigned int) * 4)); > > @@ -43,7 +43,7 @@ x86_cpu_has_feature (unsigned int __index) > > } > > > > static __inline__ _Bool > > -x86_cpu_is_usable (unsigned int __index) > > +x86_cpu_active (unsigned int __index) > > { > > const struct cpuid_feature *__ptr = __x86_get_cpuid_feature_leaf > > (__index / (8 * sizeof (unsigned int) * 4)); > > @@ -52,13 +52,13 @@ x86_cpu_is_usable (unsigned int __index) > > unsigned int __bit = __reg & (8 * sizeof (unsigned int) - 1); > > __reg /= 8 * sizeof (unsigned int); > > > > - return __ptr->usable_array[__reg] & (1 << __bit); > > + return __ptr->active_array[__reg] & (1 << __bit); > > } > > > > -/* HAS_CPU_FEATURE evaluates to true if CPU supports the feature. */ > > -#define HAS_CPU_FEATURE(name) x86_cpu_has_feature (x86_cpu_##name) > > -/* CPU_FEATURE_USABLE evaluates to true if the feature is usable. */ > > -#define CPU_FEATURE_USABLE(name) x86_cpu_is_usable (x86_cpu_##name) > > +/* CPU_FEATURE_PRESENT evaluates to true if CPU supports the feature. */ > > +#define CPU_FEATURE_PRESENT(name) x86_cpu_present (x86_cpu_##name) > > +/* CPU_FEATURE_ACTIVE evaluates to true if the feature is active. */ > > +#define CPU_FEATURE_ACTIVE(name) x86_cpu_active (x86_cpu_##name) > > > > __END_DECLS > > > > diff --git a/sysdeps/x86/tst-cet-legacy-10.c b/sysdeps/x86/tst-cet-legacy-10.c > > index a618557f45..cee4013c92 100644 > > --- a/sysdeps/x86/tst-cet-legacy-10.c > > +++ b/sysdeps/x86/tst-cet-legacy-10.c > > @@ -1,4 +1,4 @@ > > -/* Check CPU_FEATURE_USABLE on IBT and SHSTK. > > +/* Check CPU_FEATURE_ACTIVE on IBT and SHSTK. > > Copyright (C) 2021 Free Software Foundation, Inc. > > This file is part of the GNU C Library. > > > > @@ -21,19 +21,19 @@ > > #include > > #include > > > > -/* Check that CPU_FEATURE_USABLE on IBT and SHSTK matches _get_ssp. */ > > +/* Check that CPU_FEATURE_ACTIVE on IBT and SHSTK matches _get_ssp. */ > > > > static int > > do_test (void) > > { > > if (_get_ssp () != 0) > > { > > - if (CPU_FEATURE_USABLE (IBT) && CPU_FEATURE_USABLE (SHSTK)) > > + if (CPU_FEATURE_ACTIVE (IBT) && CPU_FEATURE_ACTIVE (SHSTK)) > > return EXIT_SUCCESS; > > } > > else > > { > > - if (!CPU_FEATURE_USABLE (IBT) && !CPU_FEATURE_USABLE (SHSTK)) > > + if (!CPU_FEATURE_ACTIVE (IBT) && !CPU_FEATURE_ACTIVE (SHSTK)) > > return EXIT_SUCCESS; > > } > > > > diff --git a/sysdeps/x86/tst-cpu-features-cpuinfo.c b/sysdeps/x86/tst-cpu-features-cpuinfo.c > > index f457e8677b..62b70adf3f 100644 > > --- a/sysdeps/x86/tst-cpu-features-cpuinfo.c > > +++ b/sysdeps/x86/tst-cpu-features-cpuinfo.c > > @@ -55,7 +55,7 @@ get_cpuinfo (void) > > > > int > > check_proc (const char *proc_name, const char *search_name, int flag, > > - int usable, const char *name) > > + int active, const char *name) > > { > > int found = 0; > > > > @@ -79,7 +79,7 @@ check_proc (const char *proc_name, const char *search_name, int flag, > > > > if (found != flag) > > { > > - if (found || usable) > > + if (found || active) > > printf (" *** failure ***\n"); > > else > > { > > diff --git a/sysdeps/x86/tst-cpu-features-supports.c b/sysdeps/x86/tst-cpu-features-supports.c > > index 867ea6b8e8..9d76e6bd3f 100644 > > --- a/sysdeps/x86/tst-cpu-features-supports.c > > +++ b/sysdeps/x86/tst-cpu-features-supports.c > > @@ -20,15 +20,15 @@ > > #include > > > > int > > -check_supports (int supports, int usable, const char *supports_name, > > +check_supports (int supports, int active, const char *supports_name, > > const char *name) > > { > > printf ("Checking %s:\n", name); > > - printf (" %s: %d\n", name, usable); > > + printf (" %s: %d\n", name, active); > > printf (" __builtin_cpu_supports (%s): %d\n", > > supports_name, supports); > > > > - if ((supports != 0) != (usable != 0)) > > + if ((supports != 0) != (active != 0)) > > { > > printf (" *** failure ***\n"); > > return 1; > > @@ -37,15 +37,15 @@ check_supports (int supports, int usable, const char *supports_name, > > return 0; > > } > > > > -#define CHECK_SUPPORTS(str, name) \ > > +#define CHECK_FEATURE_ACTIVE(str, name) \ > > check_supports (__builtin_cpu_supports (#str), \ > > - CPU_FEATURE_USABLE (name), \ > > - #str, "CPU_FEATURE_USABLE (" #name ")"); > > + CPU_FEATURE_ACTIVE (name), \ > > + #str, "CPU_FEATURE_ACTIVE (" #name ")"); > > > > -#define CHECK_CPU_SUPPORTS(str, name) \ > > +#define CHECK_FEATURE_PRESENT(str, name) \ > > check_supports (__builtin_cpu_supports (#str), \ > > - HAS_CPU_FEATURE (name), \ > > - #str, "HAS_CPU_FEATURE (" #name ")"); > > + CPU_FEATURE_PRESENT (name), \ > > + #str, "CPU_FEATURE_PRESENT (" #name ")"); > > > > static int > > do_test (int argc, char **argv) > > @@ -53,140 +53,140 @@ do_test (int argc, char **argv) > > int fails = 0; > > > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_SUPPORTS (adx, ADX); > > + fails += CHECK_FEATURE_ACTIVE (adx, ADX); > > #endif > > #if __GNUC_PREREQ (6, 0) > > - fails += CHECK_SUPPORTS (aes, AES); > > + fails += CHECK_FEATURE_ACTIVE (aes, AES); > > #endif > > #if __GNUC_PREREQ (11, 1) > > - fails += CHECK_SUPPORTS (amx-bf16, AMX_BF16); > > - fails += CHECK_SUPPORTS (amx-int8, AMX_INT8); > > - fails += CHECK_SUPPORTS (amx-tile, AMX_TILE); > > + fails += CHECK_FEATURE_ACTIVE (amx-bf16, AMX_BF16); > > + fails += CHECK_FEATURE_ACTIVE (amx-int8, AMX_INT8); > > + fails += CHECK_FEATURE_ACTIVE (amx-tile, AMX_TILE); > > #endif > > - fails += CHECK_SUPPORTS (avx, AVX); > > - fails += CHECK_SUPPORTS (avx2, AVX2); > > + fails += CHECK_FEATURE_ACTIVE (avx, AVX); > > + fails += CHECK_FEATURE_ACTIVE (avx2, AVX2); > > #if __GNUC_PREREQ (7, 0) > > - fails += CHECK_SUPPORTS (avx5124fmaps, AVX512_4FMAPS); > > - fails += CHECK_SUPPORTS (avx5124vnniw, AVX512_4VNNIW); > > + fails += CHECK_FEATURE_ACTIVE (avx5124fmaps, AVX512_4FMAPS); > > + fails += CHECK_FEATURE_ACTIVE (avx5124vnniw, AVX512_4VNNIW); > > #endif > > #if __GNUC_PREREQ (10, 0) > > - fails += CHECK_SUPPORTS (avx512bf16, AVX512_BF16); > > + fails += CHECK_FEATURE_ACTIVE (avx512bf16, AVX512_BF16); > > #endif > > #if __GNUC_PREREQ (8, 0) > > - fails += CHECK_SUPPORTS (avx512bitalg, AVX512_BITALG); > > + fails += CHECK_FEATURE_ACTIVE (avx512bitalg, AVX512_BITALG); > > #endif > > #if __GNUC_PREREQ (6, 0) > > - fails += CHECK_SUPPORTS (avx512ifma, AVX512_IFMA); > > - fails += CHECK_SUPPORTS (avx512vbmi, AVX512_VBMI); > > + fails += CHECK_FEATURE_ACTIVE (avx512ifma, AVX512_IFMA); > > + fails += CHECK_FEATURE_ACTIVE (avx512vbmi, AVX512_VBMI); > > #endif > > #if __GNUC_PREREQ (8, 0) > > - fails += CHECK_SUPPORTS (avx512vbmi2, AVX512_VBMI2); > > - fails += CHECK_SUPPORTS (avx512vnni, AVX512_VNNI); > > + fails += CHECK_FEATURE_ACTIVE (avx512vbmi2, AVX512_VBMI2); > > + fails += CHECK_FEATURE_ACTIVE (avx512vnni, AVX512_VNNI); > > #endif > > #if __GNUC_PREREQ (10, 0) > > - fails += CHECK_SUPPORTS (avx512vp2intersect, AVX512_VP2INTERSECT); > > + fails += CHECK_FEATURE_ACTIVE (avx512vp2intersect, AVX512_VP2INTERSECT); > > #endif > > #if __GNUC_PREREQ (7, 0) > > - fails += CHECK_SUPPORTS (avx512vpopcntdq, AVX512_VPOPCNTDQ); > > + fails += CHECK_FEATURE_ACTIVE (avx512vpopcntdq, AVX512_VPOPCNTDQ); > > #endif > > #if __GNUC_PREREQ (6, 0) > > - fails += CHECK_SUPPORTS (avx512bw, AVX512BW); > > - fails += CHECK_SUPPORTS (avx512cd, AVX512CD); > > - fails += CHECK_SUPPORTS (avx512er, AVX512ER); > > - fails += CHECK_SUPPORTS (avx512dq, AVX512DQ); > > + fails += CHECK_FEATURE_ACTIVE (avx512bw, AVX512BW); > > + fails += CHECK_FEATURE_ACTIVE (avx512cd, AVX512CD); > > + fails += CHECK_FEATURE_ACTIVE (avx512er, AVX512ER); > > + fails += CHECK_FEATURE_ACTIVE (avx512dq, AVX512DQ); > > #endif > > #if __GNUC_PREREQ (5, 0) > > - fails += CHECK_SUPPORTS (avx512f, AVX512F); > > + fails += CHECK_FEATURE_ACTIVE (avx512f, AVX512F); > > #endif > > #if __GNUC_PREREQ (6, 0) > > - fails += CHECK_SUPPORTS (avx512pf, AVX512PF); > > - fails += CHECK_SUPPORTS (avx512vl, AVX512VL); > > + fails += CHECK_FEATURE_ACTIVE (avx512pf, AVX512PF); > > + fails += CHECK_FEATURE_ACTIVE (avx512vl, AVX512VL); > > #endif > > #if __GNUC_PREREQ (5, 0) > > - fails += CHECK_SUPPORTS (bmi, BMI1); > > - fails += CHECK_SUPPORTS (bmi2, BMI2); > > + fails += CHECK_FEATURE_ACTIVE (bmi, BMI1); > > + fails += CHECK_FEATURE_ACTIVE (bmi2, BMI2); > > #endif > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_SUPPORTS (cldemote, CLDEMOTE); > > - fails += CHECK_SUPPORTS (clflushopt, CLFLUSHOPT); > > - fails += CHECK_SUPPORTS (clwb, CLWB); > > + fails += CHECK_FEATURE_ACTIVE (cldemote, CLDEMOTE); > > + fails += CHECK_FEATURE_ACTIVE (clflushopt, CLFLUSHOPT); > > + fails += CHECK_FEATURE_ACTIVE (clwb, CLWB); > > #endif > > - fails += CHECK_SUPPORTS (cmov, CMOV); > > + fails += CHECK_FEATURE_ACTIVE (cmov, CMOV); > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_SUPPORTS (cmpxchg16b, CMPXCHG16B); > > - fails += CHECK_SUPPORTS (cmpxchg8b, CX8); > > - fails += CHECK_SUPPORTS (enqcmd, ENQCMD); > > - fails += CHECK_SUPPORTS (f16c, F16C); > > + fails += CHECK_FEATURE_ACTIVE (cmpxchg16b, CMPXCHG16B); > > + fails += CHECK_FEATURE_ACTIVE (cmpxchg8b, CX8); > > + fails += CHECK_FEATURE_ACTIVE (enqcmd, ENQCMD); > > + fails += CHECK_FEATURE_ACTIVE (f16c, F16C); > > #endif > > #if __GNUC_PREREQ (4, 9) > > - fails += CHECK_SUPPORTS (fma, FMA); > > - fails += CHECK_SUPPORTS (fma4, FMA4); > > + fails += CHECK_FEATURE_ACTIVE (fma, FMA); > > + fails += CHECK_FEATURE_ACTIVE (fma4, FMA4); > > #endif > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_CPU_SUPPORTS (fsgsbase, FSGSBASE); > > - fails += CHECK_SUPPORTS (fxsave, FXSR); > > + fails += CHECK_FEATURE_PRESENT (fsgsbase, FSGSBASE); > > + fails += CHECK_FEATURE_ACTIVE (fxsave, FXSR); > > #endif > > #if __GNUC_PREREQ (8, 0) > > - fails += CHECK_SUPPORTS (gfni, GFNI); > > + fails += CHECK_FEATURE_ACTIVE (gfni, GFNI); > > #endif > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_SUPPORTS (hle, HLE); > > - fails += CHECK_CPU_SUPPORTS (ibt, IBT); > > - fails += CHECK_SUPPORTS (lahf_lm, LAHF64_SAHF64); > > - fails += CHECK_CPU_SUPPORTS (lm, LM); > > - fails += CHECK_SUPPORTS (lwp, LWP); > > - fails += CHECK_SUPPORTS (lzcnt, LZCNT); > > -#endif > > - fails += CHECK_SUPPORTS (mmx, MMX); > > + fails += CHECK_FEATURE_ACTIVE (hle, HLE); > > + fails += CHECK_FEATURE_PRESENT (ibt, IBT); > > + fails += CHECK_FEATURE_ACTIVE (lahf_lm, LAHF64_SAHF64); > > + fails += CHECK_FEATURE_PRESENT (lm, LM); > > + fails += CHECK_FEATURE_ACTIVE (lwp, LWP); > > + fails += CHECK_FEATURE_ACTIVE (lzcnt, LZCNT); > > +#endif > > + fails += CHECK_FEATURE_ACTIVE (mmx, MMX); > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_SUPPORTS (movbe, MOVBE); > > - fails += CHECK_SUPPORTS (movdiri, MOVDIRI); > > - fails += CHECK_SUPPORTS (movdir64b, MOVDIR64B); > > - fails += CHECK_SUPPORTS (osxsave, OSXSAVE); > > - fails += CHECK_SUPPORTS (pconfig, PCONFIG); > > - fails += CHECK_SUPPORTS (pku, PKU); > > -#endif > > - fails += CHECK_SUPPORTS (popcnt, POPCNT); > > + fails += CHECK_FEATURE_ACTIVE (movbe, MOVBE); > > + fails += CHECK_FEATURE_ACTIVE (movdiri, MOVDIRI); > > + fails += CHECK_FEATURE_ACTIVE (movdir64b, MOVDIR64B); > > + fails += CHECK_FEATURE_ACTIVE (osxsave, OSXSAVE); > > + fails += CHECK_FEATURE_ACTIVE (pconfig, PCONFIG); > > + fails += CHECK_FEATURE_ACTIVE (pku, PKU); > > +#endif > > + fails += CHECK_FEATURE_ACTIVE (popcnt, POPCNT); > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_SUPPORTS (prefetchwt1, PREFETCHWT1); > > - fails += CHECK_SUPPORTS (ptwrite, PTWRITE); > > - fails += CHECK_SUPPORTS (rdpid, RDPID); > > - fails += CHECK_SUPPORTS (rdrnd, RDRAND); > > - fails += CHECK_SUPPORTS (rdseed, RDSEED); > > - fails += CHECK_CPU_SUPPORTS (rtm, RTM); > > - fails += CHECK_SUPPORTS (serialize, SERIALIZE); > > - fails += CHECK_SUPPORTS (sha, SHA); > > - fails += CHECK_CPU_SUPPORTS (shstk, SHSTK); > > -#endif > > - fails += CHECK_SUPPORTS (sse, SSE); > > - fails += CHECK_SUPPORTS (sse2, SSE2); > > - fails += CHECK_SUPPORTS (sse3, SSE3); > > - fails += CHECK_SUPPORTS (sse4.1, SSE4_1); > > - fails += CHECK_SUPPORTS (sse4.2, SSE4_2); > > + fails += CHECK_FEATURE_ACTIVE (prefetchwt1, PREFETCHWT1); > > + fails += CHECK_FEATURE_ACTIVE (ptwrite, PTWRITE); > > + fails += CHECK_FEATURE_ACTIVE (rdpid, RDPID); > > + fails += CHECK_FEATURE_ACTIVE (rdrnd, RDRAND); > > + fails += CHECK_FEATURE_ACTIVE (rdseed, RDSEED); > > + fails += CHECK_FEATURE_PRESENT (rtm, RTM); > > + fails += CHECK_FEATURE_ACTIVE (serialize, SERIALIZE); > > + fails += CHECK_FEATURE_ACTIVE (sha, SHA); > > + fails += CHECK_FEATURE_PRESENT (shstk, SHSTK); > > +#endif > > + fails += CHECK_FEATURE_ACTIVE (sse, SSE); > > + fails += CHECK_FEATURE_ACTIVE (sse2, SSE2); > > + fails += CHECK_FEATURE_ACTIVE (sse3, SSE3); > > + fails += CHECK_FEATURE_ACTIVE (sse4.1, SSE4_1); > > + fails += CHECK_FEATURE_ACTIVE (sse4.2, SSE4_2); > > #if __GNUC_PREREQ (4, 9) > > - fails += CHECK_SUPPORTS (sse4a, SSE4A); > > + fails += CHECK_FEATURE_ACTIVE (sse4a, SSE4A); > > #endif > > - fails += CHECK_SUPPORTS (ssse3, SSSE3); > > + fails += CHECK_FEATURE_ACTIVE (ssse3, SSSE3); > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_SUPPORTS (tbm, TBM); > > - fails += CHECK_SUPPORTS (tsxldtrk, TSXLDTRK); > > - fails += CHECK_SUPPORTS (vaes, VAES); > > + fails += CHECK_FEATURE_ACTIVE (tbm, TBM); > > + fails += CHECK_FEATURE_ACTIVE (tsxldtrk, TSXLDTRK); > > + fails += CHECK_FEATURE_ACTIVE (vaes, VAES); > > #endif > > #if __GNUC_PREREQ (8, 0) > > - fails += CHECK_SUPPORTS (vpclmulqdq, VPCLMULQDQ); > > + fails += CHECK_FEATURE_ACTIVE (vpclmulqdq, VPCLMULQDQ); > > #endif > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_SUPPORTS (waitpkg, WAITPKG); > > - fails += CHECK_SUPPORTS (wbnoinvd, WBNOINVD); > > + fails += CHECK_FEATURE_ACTIVE (waitpkg, WAITPKG); > > + fails += CHECK_FEATURE_ACTIVE (wbnoinvd, WBNOINVD); > > #endif > > #if __GNUC_PREREQ (4, 9) > > - fails += CHECK_SUPPORTS (xop, XOP); > > + fails += CHECK_FEATURE_ACTIVE (xop, XOP); > > #endif > > #if __GNUC_PREREQ (11, 0) > > - fails += CHECK_SUPPORTS (xsave, XSAVE); > > - fails += CHECK_SUPPORTS (xsavec, XSAVEC); > > - fails += CHECK_SUPPORTS (xsaveopt, XSAVEOPT); > > - fails += CHECK_CPU_SUPPORTS (xsaves, XSAVES); > > + fails += CHECK_FEATURE_ACTIVE (xsave, XSAVE); > > + fails += CHECK_FEATURE_ACTIVE (xsavec, XSAVEC); > > + fails += CHECK_FEATURE_ACTIVE (xsaveopt, XSAVEOPT); > > + fails += CHECK_FEATURE_PRESENT (xsaves, XSAVES); > > #endif > > > > printf ("%d differences between __builtin_cpu_supports and glibc code.\n", > > diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c > > index 11fa3054b9..b833811e8a 100644 > > --- a/sysdeps/x86/tst-get-cpu-features.c > > +++ b/sysdeps/x86/tst-get-cpu-features.c > > @@ -21,353 +21,353 @@ > > #include > > #include > > > > -#define CHECK_CPU_FEATURE(name) \ > > - { \ > > - if (HAS_CPU_FEATURE (name)) \ > > - printf (" " #name "\n"); \ > > +#define CHECK_CPU_FEATURE_PRESENT(name) \ > > + { \ > > + if (CPU_FEATURE_PRESENT (name)) \ > > + printf (" " #name "\n"); \ > > } > > > > -#define CHECK_CPU_FEATURE_USABLE(name) \ > > - { \ > > - if (CPU_FEATURE_USABLE(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 (HAS_CPU_FEATURE (SSE2)); > > + TEST_VERIFY_EXIT (CPU_FEATURE_PRESENT (SSE2)); > > #endif > > > > printf ("CPU features:\n"); > > - CHECK_CPU_FEATURE (SSE3); > > - CHECK_CPU_FEATURE (PCLMULQDQ); > > - CHECK_CPU_FEATURE (DTES64); > > - CHECK_CPU_FEATURE (MONITOR); > > - CHECK_CPU_FEATURE (DS_CPL); > > - CHECK_CPU_FEATURE (VMX); > > - CHECK_CPU_FEATURE (SMX); > > - CHECK_CPU_FEATURE (EIST); > > - CHECK_CPU_FEATURE (TM2); > > - CHECK_CPU_FEATURE (SSSE3); > > - CHECK_CPU_FEATURE (CNXT_ID); > > - CHECK_CPU_FEATURE (SDBG); > > - CHECK_CPU_FEATURE (FMA); > > - CHECK_CPU_FEATURE (CMPXCHG16B); > > - CHECK_CPU_FEATURE (XTPRUPDCTRL); > > - CHECK_CPU_FEATURE (PDCM); > > - CHECK_CPU_FEATURE (PCID); > > - CHECK_CPU_FEATURE (DCA); > > - CHECK_CPU_FEATURE (SSE4_1); > > - CHECK_CPU_FEATURE (SSE4_2); > > - CHECK_CPU_FEATURE (X2APIC); > > - CHECK_CPU_FEATURE (MOVBE); > > - CHECK_CPU_FEATURE (POPCNT); > > - CHECK_CPU_FEATURE (TSC_DEADLINE); > > - CHECK_CPU_FEATURE (AES); > > - CHECK_CPU_FEATURE (XSAVE); > > - CHECK_CPU_FEATURE (OSXSAVE); > > - CHECK_CPU_FEATURE (AVX); > > - CHECK_CPU_FEATURE (F16C); > > - CHECK_CPU_FEATURE (RDRAND); > > - CHECK_CPU_FEATURE (FPU); > > - CHECK_CPU_FEATURE (VME); > > - CHECK_CPU_FEATURE (DE); > > - CHECK_CPU_FEATURE (PSE); > > - CHECK_CPU_FEATURE (TSC); > > - CHECK_CPU_FEATURE (MSR); > > - CHECK_CPU_FEATURE (PAE); > > - CHECK_CPU_FEATURE (MCE); > > - CHECK_CPU_FEATURE (CX8); > > - CHECK_CPU_FEATURE (APIC); > > - CHECK_CPU_FEATURE (SEP); > > - CHECK_CPU_FEATURE (MTRR); > > - CHECK_CPU_FEATURE (PGE); > > - CHECK_CPU_FEATURE (MCA); > > - CHECK_CPU_FEATURE (CMOV); > > - CHECK_CPU_FEATURE (PAT); > > - CHECK_CPU_FEATURE (PSE_36); > > - CHECK_CPU_FEATURE (PSN); > > - CHECK_CPU_FEATURE (CLFSH); > > - CHECK_CPU_FEATURE (DS); > > - CHECK_CPU_FEATURE (ACPI); > > - CHECK_CPU_FEATURE (MMX); > > - CHECK_CPU_FEATURE (FXSR); > > - CHECK_CPU_FEATURE (SSE); > > - CHECK_CPU_FEATURE (SSE2); > > - CHECK_CPU_FEATURE (SS); > > - CHECK_CPU_FEATURE (HTT); > > - CHECK_CPU_FEATURE (TM); > > - CHECK_CPU_FEATURE (PBE); > > - CHECK_CPU_FEATURE (FSGSBASE); > > - CHECK_CPU_FEATURE (TSC_ADJUST); > > - CHECK_CPU_FEATURE (SGX); > > - CHECK_CPU_FEATURE (BMI1); > > - CHECK_CPU_FEATURE (HLE); > > - CHECK_CPU_FEATURE (AVX2); > > - CHECK_CPU_FEATURE (SMEP); > > - CHECK_CPU_FEATURE (BMI2); > > - CHECK_CPU_FEATURE (ERMS); > > - CHECK_CPU_FEATURE (INVPCID); > > - CHECK_CPU_FEATURE (RTM); > > - CHECK_CPU_FEATURE (RDT_M); > > - CHECK_CPU_FEATURE (DEPR_FPU_CS_DS); > > - CHECK_CPU_FEATURE (MPX); > > - CHECK_CPU_FEATURE (RDT_A); > > - CHECK_CPU_FEATURE (AVX512F); > > - CHECK_CPU_FEATURE (AVX512DQ); > > - CHECK_CPU_FEATURE (RDSEED); > > - CHECK_CPU_FEATURE (ADX); > > - CHECK_CPU_FEATURE (SMAP); > > - CHECK_CPU_FEATURE (AVX512_IFMA); > > - CHECK_CPU_FEATURE (CLFLUSHOPT); > > - CHECK_CPU_FEATURE (CLWB); > > - CHECK_CPU_FEATURE (TRACE); > > - CHECK_CPU_FEATURE (AVX512PF); > > - CHECK_CPU_FEATURE (AVX512ER); > > - CHECK_CPU_FEATURE (AVX512CD); > > - CHECK_CPU_FEATURE (SHA); > > - CHECK_CPU_FEATURE (AVX512BW); > > - CHECK_CPU_FEATURE (AVX512VL); > > - CHECK_CPU_FEATURE (PREFETCHWT1); > > - CHECK_CPU_FEATURE (AVX512_VBMI); > > - CHECK_CPU_FEATURE (UMIP); > > - CHECK_CPU_FEATURE (PKU); > > - CHECK_CPU_FEATURE (OSPKE); > > - CHECK_CPU_FEATURE (WAITPKG); > > - CHECK_CPU_FEATURE (AVX512_VBMI2); > > - CHECK_CPU_FEATURE (SHSTK); > > - CHECK_CPU_FEATURE (GFNI); > > - CHECK_CPU_FEATURE (VAES); > > - CHECK_CPU_FEATURE (VPCLMULQDQ); > > - CHECK_CPU_FEATURE (AVX512_VNNI); > > - CHECK_CPU_FEATURE (AVX512_BITALG); > > - CHECK_CPU_FEATURE (AVX512_VPOPCNTDQ); > > - CHECK_CPU_FEATURE (RDPID); > > - CHECK_CPU_FEATURE (KL); > > - CHECK_CPU_FEATURE (CLDEMOTE); > > - CHECK_CPU_FEATURE (MOVDIRI); > > - CHECK_CPU_FEATURE (MOVDIR64B); > > - CHECK_CPU_FEATURE (ENQCMD); > > - CHECK_CPU_FEATURE (SGX_LC); > > - CHECK_CPU_FEATURE (PKS); > > - CHECK_CPU_FEATURE (AVX512_4VNNIW); > > - CHECK_CPU_FEATURE (AVX512_4FMAPS); > > - CHECK_CPU_FEATURE (FSRM); > > - CHECK_CPU_FEATURE (UINTR); > > - CHECK_CPU_FEATURE (AVX512_VP2INTERSECT); > > - CHECK_CPU_FEATURE (MD_CLEAR); > > - CHECK_CPU_FEATURE (RTM_ALWAYS_ABORT); > > - CHECK_CPU_FEATURE (SERIALIZE); > > - CHECK_CPU_FEATURE (HYBRID); > > - CHECK_CPU_FEATURE (TSXLDTRK); > > - CHECK_CPU_FEATURE (PCONFIG); > > - CHECK_CPU_FEATURE (IBT); > > - CHECK_CPU_FEATURE (AMX_BF16); > > - CHECK_CPU_FEATURE (AVX512_FP16); > > - CHECK_CPU_FEATURE (AMX_TILE); > > - CHECK_CPU_FEATURE (AMX_INT8); > > - CHECK_CPU_FEATURE (IBRS_IBPB); > > - CHECK_CPU_FEATURE (STIBP); > > - CHECK_CPU_FEATURE (L1D_FLUSH); > > - CHECK_CPU_FEATURE (ARCH_CAPABILITIES); > > - CHECK_CPU_FEATURE (CORE_CAPABILITIES); > > - CHECK_CPU_FEATURE (SSBD); > > - CHECK_CPU_FEATURE (LAHF64_SAHF64); > > - CHECK_CPU_FEATURE (SVM); > > - CHECK_CPU_FEATURE (LZCNT); > > - CHECK_CPU_FEATURE (SSE4A); > > - CHECK_CPU_FEATURE (PREFETCHW); > > - CHECK_CPU_FEATURE (XOP); > > - CHECK_CPU_FEATURE (LWP); > > - CHECK_CPU_FEATURE (FMA4); > > - CHECK_CPU_FEATURE (TBM); > > - CHECK_CPU_FEATURE (SYSCALL_SYSRET); > > - CHECK_CPU_FEATURE (NX); > > - CHECK_CPU_FEATURE (PAGE1GB); > > - CHECK_CPU_FEATURE (RDTSCP); > > - CHECK_CPU_FEATURE (LM); > > - CHECK_CPU_FEATURE (XSAVEOPT); > > - CHECK_CPU_FEATURE (XSAVEC); > > - CHECK_CPU_FEATURE (XGETBV_ECX_1); > > - CHECK_CPU_FEATURE (XSAVES); > > - CHECK_CPU_FEATURE (XFD); > > - CHECK_CPU_FEATURE (INVARIANT_TSC); > > - CHECK_CPU_FEATURE (WBNOINVD); > > - CHECK_CPU_FEATURE (AVX_VNNI); > > - CHECK_CPU_FEATURE (AVX512_BF16); > > - CHECK_CPU_FEATURE (FZLRM); > > - CHECK_CPU_FEATURE (FSRS); > > - CHECK_CPU_FEATURE (FSRCS); > > - CHECK_CPU_FEATURE (HRESET); > > - CHECK_CPU_FEATURE (LAM); > > - CHECK_CPU_FEATURE (AESKLE); > > - CHECK_CPU_FEATURE (WIDE_KL); > > - CHECK_CPU_FEATURE (PTWRITE); > > + 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 (RDPID); > > + CHECK_CPU_FEATURE_PRESENT (KL); > > + 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 (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 (SERIALIZE); > > + CHECK_CPU_FEATURE_PRESENT (HYBRID); > > + CHECK_CPU_FEATURE_PRESENT (TSXLDTRK); > > + 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 (AVX_VNNI); > > + CHECK_CPU_FEATURE_PRESENT (AVX512_BF16); > > + CHECK_CPU_FEATURE_PRESENT (FZLRM); > > + CHECK_CPU_FEATURE_PRESENT (FSRS); > > + CHECK_CPU_FEATURE_PRESENT (FSRCS); > > + CHECK_CPU_FEATURE_PRESENT (HRESET); > > + CHECK_CPU_FEATURE_PRESENT (LAM); > > + CHECK_CPU_FEATURE_PRESENT (AESKLE); > > + CHECK_CPU_FEATURE_PRESENT (WIDE_KL); > > + CHECK_CPU_FEATURE_PRESENT (PTWRITE); > > > > - printf ("Usable CPU features:\n"); > > - CHECK_CPU_FEATURE_USABLE (SSE3); > > - CHECK_CPU_FEATURE_USABLE (PCLMULQDQ); > > - CHECK_CPU_FEATURE_USABLE (DTES64); > > - CHECK_CPU_FEATURE_USABLE (MONITOR); > > - CHECK_CPU_FEATURE_USABLE (DS_CPL); > > - CHECK_CPU_FEATURE_USABLE (VMX); > > - CHECK_CPU_FEATURE_USABLE (SMX); > > - CHECK_CPU_FEATURE_USABLE (EIST); > > - CHECK_CPU_FEATURE_USABLE (TM2); > > - CHECK_CPU_FEATURE_USABLE (SSSE3); > > - CHECK_CPU_FEATURE_USABLE (CNXT_ID); > > - CHECK_CPU_FEATURE_USABLE (SDBG); > > - CHECK_CPU_FEATURE_USABLE (FMA); > > - CHECK_CPU_FEATURE_USABLE (CMPXCHG16B); > > - CHECK_CPU_FEATURE_USABLE (XTPRUPDCTRL); > > - CHECK_CPU_FEATURE_USABLE (PDCM); > > - CHECK_CPU_FEATURE_USABLE (PCID); > > - CHECK_CPU_FEATURE_USABLE (DCA); > > - CHECK_CPU_FEATURE_USABLE (SSE4_1); > > - CHECK_CPU_FEATURE_USABLE (SSE4_2); > > - CHECK_CPU_FEATURE_USABLE (X2APIC); > > - CHECK_CPU_FEATURE_USABLE (MOVBE); > > - CHECK_CPU_FEATURE_USABLE (POPCNT); > > - CHECK_CPU_FEATURE_USABLE (TSC_DEADLINE); > > - CHECK_CPU_FEATURE_USABLE (AES); > > - CHECK_CPU_FEATURE_USABLE (XSAVE); > > - CHECK_CPU_FEATURE_USABLE (OSXSAVE); > > - CHECK_CPU_FEATURE_USABLE (AVX); > > - CHECK_CPU_FEATURE_USABLE (F16C); > > - CHECK_CPU_FEATURE_USABLE (RDRAND); > > - CHECK_CPU_FEATURE_USABLE (FPU); > > - CHECK_CPU_FEATURE_USABLE (VME); > > - CHECK_CPU_FEATURE_USABLE (DE); > > - CHECK_CPU_FEATURE_USABLE (PSE); > > - CHECK_CPU_FEATURE_USABLE (TSC); > > - CHECK_CPU_FEATURE_USABLE (MSR); > > - CHECK_CPU_FEATURE_USABLE (PAE); > > - CHECK_CPU_FEATURE_USABLE (MCE); > > - CHECK_CPU_FEATURE_USABLE (CX8); > > - CHECK_CPU_FEATURE_USABLE (APIC); > > - CHECK_CPU_FEATURE_USABLE (SEP); > > - CHECK_CPU_FEATURE_USABLE (MTRR); > > - CHECK_CPU_FEATURE_USABLE (PGE); > > - CHECK_CPU_FEATURE_USABLE (MCA); > > - CHECK_CPU_FEATURE_USABLE (CMOV); > > - CHECK_CPU_FEATURE_USABLE (PAT); > > - CHECK_CPU_FEATURE_USABLE (PSE_36); > > - CHECK_CPU_FEATURE_USABLE (PSN); > > - CHECK_CPU_FEATURE_USABLE (CLFSH); > > - CHECK_CPU_FEATURE_USABLE (DS); > > - CHECK_CPU_FEATURE_USABLE (ACPI); > > - CHECK_CPU_FEATURE_USABLE (MMX); > > - CHECK_CPU_FEATURE_USABLE (FXSR); > > - CHECK_CPU_FEATURE_USABLE (SSE); > > - CHECK_CPU_FEATURE_USABLE (SSE2); > > - CHECK_CPU_FEATURE_USABLE (SS); > > - CHECK_CPU_FEATURE_USABLE (HTT); > > - CHECK_CPU_FEATURE_USABLE (TM); > > - CHECK_CPU_FEATURE_USABLE (PBE); > > - CHECK_CPU_FEATURE_USABLE (FSGSBASE); > > - CHECK_CPU_FEATURE_USABLE (TSC_ADJUST); > > - CHECK_CPU_FEATURE_USABLE (SGX); > > - CHECK_CPU_FEATURE_USABLE (BMI1); > > - CHECK_CPU_FEATURE_USABLE (HLE); > > - CHECK_CPU_FEATURE_USABLE (AVX2); > > - CHECK_CPU_FEATURE_USABLE (SMEP); > > - CHECK_CPU_FEATURE_USABLE (BMI2); > > - CHECK_CPU_FEATURE_USABLE (ERMS); > > - CHECK_CPU_FEATURE_USABLE (INVPCID); > > - CHECK_CPU_FEATURE_USABLE (RTM); > > - CHECK_CPU_FEATURE_USABLE (RDT_M); > > - CHECK_CPU_FEATURE_USABLE (DEPR_FPU_CS_DS); > > - CHECK_CPU_FEATURE_USABLE (MPX); > > - CHECK_CPU_FEATURE_USABLE (RDT_A); > > - CHECK_CPU_FEATURE_USABLE (AVX512F); > > - CHECK_CPU_FEATURE_USABLE (AVX512DQ); > > - CHECK_CPU_FEATURE_USABLE (RDSEED); > > - CHECK_CPU_FEATURE_USABLE (ADX); > > - CHECK_CPU_FEATURE_USABLE (SMAP); > > - CHECK_CPU_FEATURE_USABLE (AVX512_IFMA); > > - CHECK_CPU_FEATURE_USABLE (CLFLUSHOPT); > > - CHECK_CPU_FEATURE_USABLE (CLWB); > > - CHECK_CPU_FEATURE_USABLE (TRACE); > > - CHECK_CPU_FEATURE_USABLE (AVX512PF); > > - CHECK_CPU_FEATURE_USABLE (AVX512ER); > > - CHECK_CPU_FEATURE_USABLE (AVX512CD); > > - CHECK_CPU_FEATURE_USABLE (SHA); > > - CHECK_CPU_FEATURE_USABLE (AVX512BW); > > - CHECK_CPU_FEATURE_USABLE (AVX512VL); > > - CHECK_CPU_FEATURE_USABLE (PREFETCHWT1); > > - CHECK_CPU_FEATURE_USABLE (AVX512_VBMI); > > - CHECK_CPU_FEATURE_USABLE (UMIP); > > - CHECK_CPU_FEATURE_USABLE (PKU); > > - CHECK_CPU_FEATURE_USABLE (OSPKE); > > - CHECK_CPU_FEATURE_USABLE (WAITPKG); > > - CHECK_CPU_FEATURE_USABLE (AVX512_VBMI2); > > - CHECK_CPU_FEATURE_USABLE (SHSTK); > > - CHECK_CPU_FEATURE_USABLE (GFNI); > > - CHECK_CPU_FEATURE_USABLE (VAES); > > - CHECK_CPU_FEATURE_USABLE (VPCLMULQDQ); > > - CHECK_CPU_FEATURE_USABLE (AVX512_VNNI); > > - CHECK_CPU_FEATURE_USABLE (AVX512_BITALG); > > - CHECK_CPU_FEATURE_USABLE (AVX512_VPOPCNTDQ); > > - CHECK_CPU_FEATURE_USABLE (RDPID); > > - CHECK_CPU_FEATURE_USABLE (KL); > > - CHECK_CPU_FEATURE_USABLE (CLDEMOTE); > > - CHECK_CPU_FEATURE_USABLE (MOVDIRI); > > - CHECK_CPU_FEATURE_USABLE (MOVDIR64B); > > - CHECK_CPU_FEATURE_USABLE (ENQCMD); > > - CHECK_CPU_FEATURE_USABLE (SGX_LC); > > - CHECK_CPU_FEATURE_USABLE (PKS); > > - CHECK_CPU_FEATURE_USABLE (AVX512_4VNNIW); > > - CHECK_CPU_FEATURE_USABLE (AVX512_4FMAPS); > > - CHECK_CPU_FEATURE_USABLE (FSRM); > > - CHECK_CPU_FEATURE_USABLE (AVX512_VP2INTERSECT); > > - CHECK_CPU_FEATURE_USABLE (MD_CLEAR); > > - CHECK_CPU_FEATURE_USABLE (RTM_ALWAYS_ABORT); > > - CHECK_CPU_FEATURE_USABLE (SERIALIZE); > > - CHECK_CPU_FEATURE_USABLE (HYBRID); > > - CHECK_CPU_FEATURE_USABLE (TSXLDTRK); > > - CHECK_CPU_FEATURE_USABLE (PCONFIG); > > - CHECK_CPU_FEATURE_USABLE (IBT); > > - CHECK_CPU_FEATURE_USABLE (AMX_BF16); > > - CHECK_CPU_FEATURE_USABLE (AVX512_FP16); > > - CHECK_CPU_FEATURE_USABLE (AMX_TILE); > > - CHECK_CPU_FEATURE_USABLE (AMX_INT8); > > - CHECK_CPU_FEATURE_USABLE (IBRS_IBPB); > > - CHECK_CPU_FEATURE_USABLE (STIBP); > > - CHECK_CPU_FEATURE_USABLE (L1D_FLUSH); > > - CHECK_CPU_FEATURE_USABLE (ARCH_CAPABILITIES); > > - CHECK_CPU_FEATURE_USABLE (CORE_CAPABILITIES); > > - CHECK_CPU_FEATURE_USABLE (SSBD); > > - CHECK_CPU_FEATURE_USABLE (LAHF64_SAHF64); > > - CHECK_CPU_FEATURE_USABLE (SVM); > > - CHECK_CPU_FEATURE_USABLE (LZCNT); > > - CHECK_CPU_FEATURE_USABLE (SSE4A); > > - CHECK_CPU_FEATURE_USABLE (PREFETCHW); > > - CHECK_CPU_FEATURE_USABLE (XOP); > > - CHECK_CPU_FEATURE_USABLE (LWP); > > - CHECK_CPU_FEATURE_USABLE (FMA4); > > - CHECK_CPU_FEATURE_USABLE (TBM); > > - CHECK_CPU_FEATURE_USABLE (SYSCALL_SYSRET); > > - CHECK_CPU_FEATURE_USABLE (NX); > > - CHECK_CPU_FEATURE_USABLE (PAGE1GB); > > - CHECK_CPU_FEATURE_USABLE (RDTSCP); > > - CHECK_CPU_FEATURE_USABLE (LM); > > - CHECK_CPU_FEATURE_USABLE (XSAVEOPT); > > - CHECK_CPU_FEATURE_USABLE (XSAVEC); > > - CHECK_CPU_FEATURE_USABLE (XGETBV_ECX_1); > > - CHECK_CPU_FEATURE_USABLE (XSAVES); > > - CHECK_CPU_FEATURE_USABLE (XFD); > > - CHECK_CPU_FEATURE_USABLE (INVARIANT_TSC); > > - CHECK_CPU_FEATURE_USABLE (WBNOINVD); > > - CHECK_CPU_FEATURE_USABLE (AVX_VNNI); > > - CHECK_CPU_FEATURE_USABLE (AVX512_BF16); > > - CHECK_CPU_FEATURE_USABLE (FZLRM); > > - CHECK_CPU_FEATURE_USABLE (FSRS); > > - CHECK_CPU_FEATURE_USABLE (FSRCS); > > - CHECK_CPU_FEATURE_USABLE (AESKLE); > > - CHECK_CPU_FEATURE_USABLE (WIDE_KL); > > - CHECK_CPU_FEATURE_USABLE (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 (AVX_VNNI); > > + CHECK_CPU_FEATURE_ACTIVE (AVX512_BF16); > > + CHECK_CPU_FEATURE_ACTIVE (FZLRM); > > + CHECK_CPU_FEATURE_ACTIVE (FSRS); > > + CHECK_CPU_FEATURE_ACTIVE (FSRCS); > > + CHECK_CPU_FEATURE_ACTIVE (AESKLE); > > + CHECK_CPU_FEATURE_ACTIVE (WIDE_KL); > > + CHECK_CPU_FEATURE_ACTIVE (PTWRITE); > > > > return 0; > > } > > diff --git a/sysdeps/x86/tst-ifunc-isa.h b/sysdeps/x86/tst-ifunc-isa.h > > index 6d906966a7..85616e29ad 100644 > > --- a/sysdeps/x86/tst-ifunc-isa.h > > +++ b/sysdeps/x86/tst-ifunc-isa.h > > @@ -1,4 +1,4 @@ > > -/* IFUNC resolver with CPU_FEATURE_USABLE. > > +/* IFUNC resolver with CPU_FEATURE_ACTIVE. > > Copyright (C) 2021 Free Software Foundation, Inc. > > This file is part of the GNU C Library. > > > > @@ -32,15 +32,15 @@ enum isa > > __attribute__ ((__optimize__ ("-fno-stack-protector"))) > > get_isa (void) > > { > > - if (CPU_FEATURE_USABLE (AVX512F)) > > + if (CPU_FEATURE_ACTIVE (AVX512F)) > > return avx512f; > > - if (CPU_FEATURE_USABLE (AVX2)) > > + if (CPU_FEATURE_ACTIVE (AVX2)) > > return avx2; > > - if (CPU_FEATURE_USABLE (AVX)) > > + if (CPU_FEATURE_ACTIVE (AVX)) > > return avx; > > - if (CPU_FEATURE_USABLE (SSE4_2)) > > + if (CPU_FEATURE_ACTIVE (SSE4_2)) > > return sse4_2; > > - if (CPU_FEATURE_USABLE (SSE2)) > > + if (CPU_FEATURE_ACTIVE (SSE2)) > > return sse2; > > return none; > > } > > diff --git a/sysdeps/x86/tst-string-rtm.h b/sysdeps/x86/tst-string-rtm.h > > index d2470afa1e..6f11f19a6e 100644 > > --- a/sysdeps/x86/tst-string-rtm.h > > +++ b/sysdeps/x86/tst-string-rtm.h > > @@ -26,7 +26,7 @@ static int > > do_test_1 (const char *name, unsigned int loop, int (*prepare) (void), > > int (*function) (void)) > > { > > - if (!CPU_FEATURE_USABLE (RTM)) > > + if (!CPU_FEATURE_ACTIVE (RTM)) > > return EXIT_UNSUPPORTED; > > > > int status = prepare (); > > diff --git a/sysdeps/x86_64/fpu/math-tests-arch.h b/sysdeps/x86_64/fpu/math-tests-arch.h > > index f521e218b9..952d919a45 100644 > > --- a/sysdeps/x86_64/fpu/math-tests-arch.h > > +++ b/sysdeps/x86_64/fpu/math-tests-arch.h > > @@ -24,7 +24,7 @@ > > # define CHECK_ARCH_EXT \ > > do \ > > { \ > > - if (!CPU_FEATURE_USABLE (AVX)) return; \ > > + if (!CPU_FEATURE_ACTIVE (AVX)) return; \ > > } \ > > while (0) > > > > @@ -34,7 +34,7 @@ > > # define CHECK_ARCH_EXT \ > > do \ > > { \ > > - if (!CPU_FEATURE_USABLE (AVX2)) return; \ > > + if (!CPU_FEATURE_ACTIVE (AVX2)) return; \ > > } \ > > while (0) > > > > @@ -44,7 +44,7 @@ > > # define CHECK_ARCH_EXT \ > > do \ > > { \ > > - if (!CPU_FEATURE_USABLE (AVX512F)) return; \ > > + if (!CPU_FEATURE_ACTIVE (AVX512F)) return; \ > > } \ > > while (0) > > > > > > > -- > Cheers, > Carlos. > -- H.J.