On Tue, May 19, 2020 at 2:38 PM Uros Bizjak <ubiz...@gmail.com> wrote: > > On Tue, May 19, 2020 at 11:37 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > > > Add FEATURE_AVX512VP2INTERSECT to libgcc so that enum processor_features > > in libgcc matches enum processor_features in i386-builtins.c. Update > > GFNI check to support processors with SSE and AVX versions of GFNI. > > > > PR target/95212 > > PR target/95220 > > * config/i386/cpuinfo.c (get_available_features): Fix > > FEATURE_GFNI check. Also check FEATURE_AVX512VP2INTERSECT. > > * config/i386/cpuinfo.h (processor_features): Add > > FEATURE_AVX512VP2INTERSECT. > > OK for mainline and backports. >
Move FEATURE_AVX512VP2INTERSECT after FEATURE_AVX512BF16 to avoid changing libgcc ABI. I am checking it into master and GCC 10 branch. -- H.J.
From 00aa604bef585720c8d336108270259a0d4c2204 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" <hjl.tools@gmail.com> Date: Thu, 21 May 2020 04:17:06 -0700 Subject: [PATCH] libgcc: Move FEATURE_AVX512VP2INTERSECT after FEATURE_AVX512BF16 Move FEATURE_AVX512VP2INTERSECT after FEATURE_AVX512BF16 to avoid changing libgcc ABI. gcc/ PR target/95212 * config/i386/i386-builtins.c (processor_features): Move F_AVX512VP2INTERSECT after F_AVX512BF16. (isa_names_table): Likewise. libgcc/ PR target/95212 * config/i386/cpuinfo.h (processor_features): Move FEATURE_AVX512VP2INTERSECT after FEATURE_AVX512BF16. --- gcc/config/i386/i386-builtins.c | 6 +++--- libgcc/config/i386/cpuinfo.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gcc/config/i386/i386-builtins.c b/gcc/config/i386/i386-builtins.c index 4b203635428..be3ed0158f2 100644 --- a/gcc/config/i386/i386-builtins.c +++ b/gcc/config/i386/i386-builtins.c @@ -1911,8 +1911,8 @@ enum processor_features F_VPCLMULQDQ, F_AVX512VNNI, F_AVX512BITALG, - F_AVX512VP2INTERSECT, F_AVX512BF16, + F_AVX512VP2INTERSECT, F_MAX }; @@ -2062,8 +2062,8 @@ static const _isa_names_table isa_names_table[] = {"vpclmulqdq", F_VPCLMULQDQ, P_ZERO}, {"avx512vnni", F_AVX512VNNI, P_ZERO}, {"avx512bitalg", F_AVX512BITALG, P_ZERO}, - {"avx512vp2intersect",F_AVX512VP2INTERSECT, P_ZERO}, - {"avx512bf16", F_AVX512BF16, P_ZERO} + {"avx512bf16", F_AVX512BF16, P_ZERO}, + {"avx512vp2intersect",F_AVX512VP2INTERSECT, P_ZERO} }; /* This parses the attribute arguments to target in DECL and determines diff --git a/libgcc/config/i386/cpuinfo.h b/libgcc/config/i386/cpuinfo.h index fd6d12a7d68..0f97510cde1 100644 --- a/libgcc/config/i386/cpuinfo.h +++ b/libgcc/config/i386/cpuinfo.h @@ -122,8 +122,8 @@ enum processor_features FEATURE_VPCLMULQDQ, FEATURE_AVX512VNNI, FEATURE_AVX512BITALG, - FEATURE_AVX512VP2INTERSECT, - FEATURE_AVX512BF16 + FEATURE_AVX512BF16, + FEATURE_AVX512VP2INTERSECT }; extern struct __processor_model -- 2.26.2