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

Reply via email to