public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Haochen Jiang <haochen.jiang@intel.com>
To: gcc-patches@gcc.gnu.org
Cc: hongtao.liu@intel.com, ubizjak@gmail.com
Subject: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
Date: Fri,  1 Dec 2023 10:21:00 +0800	[thread overview]
Message-ID: <20231201022100.955917-2-haochen.jiang@intel.com> (raw)
In-Reply-To: <20231201022100.955917-1-haochen.jiang@intel.com>

Since Knight Landing and Knight Mill microarchitectures are EOL, we
would like to remove its support in GCC 15. In GCC 14, we will first
emit a warning for the usage.

gcc/ChangeLog:

	* config/i386/driver-i386.cc (host_detect_local_cpu):
	Do not append "-mno-" for Xeon Phi ISAs.
	* config/i386/i386-options.cc (ix86_option_override_internal):
	Emit a warning for KNL/KNM targets.
	* config/i386/i386.opt: Emit a warning for Xeon Phi ISAs.

gcc/testsuite/ChangeLog:

	* g++.dg/other/i386-2.C: Adjust testcases.
	* g++.dg/other/i386-3.C: Ditto.
	* g++.dg/pr80481.C: Ditto.
	* gcc.dg/pr71279.c: Ditto.
	* gcc.target/i386/avx5124fmadd-v4fmaddps-1.c: Ditto.
	* gcc.target/i386/avx5124fmadd-v4fmaddps-2.c: Ditto.
	* gcc.target/i386/avx5124fmadd-v4fmaddss-1.c: Ditto.
	* gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c: Ditto.
	* gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c: Ditto.
	* gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c: Ditto.
	* gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c: Ditto.
	* gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c: Ditto.
	* gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c: Ditto.
	* gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c: Ditto.
	* gcc.target/i386/avx512er-vexp2pd-1.c: Ditto.
	* gcc.target/i386/avx512er-vexp2pd-2.c: Ditto.
	* gcc.target/i386/avx512er-vexp2ps-1.c: Ditto.
	* gcc.target/i386/avx512er-vexp2ps-2.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28pd-2.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28ps-2.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28ps-3.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28ps-4.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28sd-1.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto.
	* gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28pd-1.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28pd-2.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ps-2.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ps-3.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ps-4.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ps-5.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ps-6.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto.
	* gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
	* gcc.target/i386/avx512f-gather-1.c: Ditto.
	* gcc.target/i386/avx512f-gather-2.c: Ditto.
	* gcc.target/i386/avx512f-gather-3.c: Ditto.
	* gcc.target/i386/avx512f-gather-4.c: Ditto.
	* gcc.target/i386/avx512f-gather-5.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherpd512-1.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherpd512-2.c: Ditto.
	* gcc.target/i386/avx512f-i32gatherps512-1.c: Ditto.
	* gcc.target/i386/avx512f-vect-perm-1.c: Ditto.
	* gcc.target/i386/avx512f-vect-perm-2.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Ditto.
	* gcc.target/i386/funcspec-56.inc: Ditto.
	* gcc.target/i386/pr101395-2.c: Ditto.
	* gcc.target/i386/pr101395-3.c: Ditto.
	* gcc.target/i386/pr103404.c: Ditto.
	* gcc.target/i386/pr104448.c: Ditto.
	* gcc.target/i386/pr107934.c: Ditto.
	* gcc.target/i386/pr57275.c: Ditto.
	* gcc.target/i386/pr64387.c: Ditto.
	* gcc.target/i386/pr70728.c: Ditto.
	* gcc.target/i386/pr71346.c: Ditto.
	* gcc.target/i386/pr82941-2.c: Ditto.
	* gcc.target/i386/pr82942-1.c: Ditto.
	* gcc.target/i386/pr82942-2.c: Ditto.
	* gcc.target/i386/pr82990-1.c: Ditto.
	* gcc.target/i386/pr82990-3.c: Ditto.
	* gcc.target/i386/pr82990-4.c: Ditto.
	* gcc.target/i386/pr82990-6.c: Ditto.
	* gcc.target/i386/pr88713-3.c: Ditto.
	* gcc.target/i386/pr89523-5.c: Ditto.
	* gcc.target/i386/pr89523-6.c: Ditto.
	* gcc.target/i386/pr91033.c: Ditto.
	* gcc.target/i386/pr94561.c: Ditto.
	* gcc.target/i386/prefetchwt1-1.c: Ditto.
	* gcc.target/i386/sse-12.c: Ditto.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-14.c: Ditto.
	* gcc.target/i386/sse-26.c: Ditto.
	* gcc.target/i386/pr69471-3.c: Removed.
---
 gcc/config/i386/driver-i386.cc                |  9 ++++--
 gcc/config/i386/i386-options.cc               | 25 +++++++++++++++++
 gcc/config/i386/i386.opt                      | 10 +++----
 gcc/testsuite/g++.dg/other/i386-2.C           |  5 ++++
 gcc/testsuite/g++.dg/other/i386-3.C           |  5 ++++
 gcc/testsuite/g++.dg/pr80481.C                |  2 +-
 gcc/testsuite/gcc.dg/pr71279.c                |  2 +-
 .../i386/avx5124fmadd-v4fmaddps-1.c           |  1 +
 .../i386/avx5124fmadd-v4fmaddps-2.c           |  1 +
 .../i386/avx5124fmadd-v4fmaddss-1.c           |  1 +
 .../i386/avx5124fmadd-v4fnmaddps-1.c          |  1 +
 .../i386/avx5124fmadd-v4fnmaddps-2.c          |  1 +
 .../i386/avx5124fmadd-v4fnmaddss-1.c          |  1 +
 .../i386/avx5124vnniw-vp4dpwssd-1.c           |  1 +
 .../i386/avx5124vnniw-vp4dpwssd-2.c           |  1 +
 .../i386/avx5124vnniw-vp4dpwssds-1.c          |  1 +
 .../i386/avx5124vnniw-vp4dpwssds-2.c          |  1 +
 .../gcc.target/i386/avx512er-vexp2pd-1.c      |  1 +
 .../gcc.target/i386/avx512er-vexp2pd-2.c      |  1 +
 .../gcc.target/i386/avx512er-vexp2ps-1.c      |  1 +
 .../gcc.target/i386/avx512er-vexp2ps-2.c      |  1 +
 .../gcc.target/i386/avx512er-vrcp28pd-1.c     |  1 +
 .../gcc.target/i386/avx512er-vrcp28pd-2.c     |  1 +
 .../gcc.target/i386/avx512er-vrcp28ps-1.c     |  1 +
 .../gcc.target/i386/avx512er-vrcp28ps-2.c     |  1 +
 .../gcc.target/i386/avx512er-vrcp28ps-3.c     |  1 +
 .../gcc.target/i386/avx512er-vrcp28ps-4.c     |  1 +
 .../gcc.target/i386/avx512er-vrcp28sd-1.c     |  1 +
 .../gcc.target/i386/avx512er-vrcp28sd-2.c     |  1 +
 .../gcc.target/i386/avx512er-vrcp28ss-1.c     |  1 +
 .../gcc.target/i386/avx512er-vrcp28ss-2.c     |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28pd-1.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28pd-2.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28ps-1.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28ps-2.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28ps-3.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28ps-4.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28ps-5.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28ps-6.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28sd-1.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28sd-2.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28ss-1.c   |  1 +
 .../gcc.target/i386/avx512er-vrsqrt28ss-2.c   |  1 +
 .../gcc.target/i386/avx512f-gather-1.c        |  2 +-
 .../gcc.target/i386/avx512f-gather-2.c        |  2 +-
 .../gcc.target/i386/avx512f-gather-3.c        |  2 +-
 .../gcc.target/i386/avx512f-gather-4.c        |  2 +-
 .../gcc.target/i386/avx512f-gather-5.c        |  2 +-
 .../gcc.target/i386/avx512f-i32gatherd512-1.c |  2 +-
 .../gcc.target/i386/avx512f-i32gatherd512-2.c |  2 +-
 .../i386/avx512f-i32gatherpd512-1.c           |  2 +-
 .../i386/avx512f-i32gatherpd512-2.c           |  2 +-
 .../i386/avx512f-i32gatherps512-1.c           |  2 +-
 .../gcc.target/i386/avx512f-vect-perm-1.c     | 28 +++++++++----------
 .../gcc.target/i386/avx512f-vect-perm-2.c     |  2 +-
 .../i386/avx512pf-vgatherpf0dpd-1.c           |  1 +
 .../i386/avx512pf-vgatherpf0dps-1.c           |  1 +
 .../i386/avx512pf-vgatherpf0qpd-1.c           |  1 +
 .../i386/avx512pf-vgatherpf0qps-1.c           |  1 +
 .../i386/avx512pf-vgatherpf1dpd-1.c           |  1 +
 .../i386/avx512pf-vgatherpf1dps-1.c           |  1 +
 .../i386/avx512pf-vgatherpf1qpd-1.c           |  1 +
 .../i386/avx512pf-vgatherpf1qps-1.c           |  1 +
 .../i386/avx512pf-vscatterpf0dpd-1.c          |  1 +
 .../i386/avx512pf-vscatterpf0dps-1.c          |  1 +
 .../i386/avx512pf-vscatterpf0qpd-1.c          |  1 +
 .../i386/avx512pf-vscatterpf0qps-1.c          |  1 +
 .../i386/avx512pf-vscatterpf1dpd-1.c          |  1 +
 .../i386/avx512pf-vscatterpf1dps-1.c          |  1 +
 .../i386/avx512pf-vscatterpf1qpd-1.c          |  1 +
 .../i386/avx512pf-vscatterpf1qps-1.c          |  1 +
 gcc/testsuite/gcc.target/i386/funcspec-56.inc | 12 --------
 gcc/testsuite/gcc.target/i386/pr103404.c      |  2 +-
 gcc/testsuite/gcc.target/i386/pr104448.c      |  1 +
 gcc/testsuite/gcc.target/i386/pr107934.c      |  2 +-
 gcc/testsuite/gcc.target/i386/pr64387.c       |  2 +-
 gcc/testsuite/gcc.target/i386/pr69471-3.c     | 11 --------
 gcc/testsuite/gcc.target/i386/pr70728.c       |  2 +-
 gcc/testsuite/gcc.target/i386/pr71346.c       |  2 +-
 gcc/testsuite/gcc.target/i386/pr82941-2.c     |  1 +
 gcc/testsuite/gcc.target/i386/pr82942-1.c     |  2 +-
 gcc/testsuite/gcc.target/i386/pr82942-2.c     |  2 ++
 gcc/testsuite/gcc.target/i386/pr82990-1.c     |  1 +
 gcc/testsuite/gcc.target/i386/pr82990-3.c     |  1 +
 gcc/testsuite/gcc.target/i386/pr82990-4.c     |  2 +-
 gcc/testsuite/gcc.target/i386/pr82990-6.c     |  1 +
 gcc/testsuite/gcc.target/i386/pr88713-3.c     |  2 +-
 gcc/testsuite/gcc.target/i386/pr89523-5.c     |  1 +
 gcc/testsuite/gcc.target/i386/pr89523-6.c     |  1 +
 gcc/testsuite/gcc.target/i386/pr91033.c       |  1 +
 gcc/testsuite/gcc.target/i386/pr94561.c       |  2 +-
 gcc/testsuite/gcc.target/i386/prefetchwt1-1.c |  1 +
 gcc/testsuite/gcc.target/i386/sse-12.c        |  5 ++++
 gcc/testsuite/gcc.target/i386/sse-13.c        |  5 ++++
 gcc/testsuite/gcc.target/i386/sse-14.c        |  5 ++++
 gcc/testsuite/gcc.target/i386/sse-26.c        |  1 +
 96 files changed, 162 insertions(+), 66 deletions(-)
 delete mode 100644 gcc/testsuite/gcc.target/i386/pr69471-3.c

diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc
index 204600e128a..0cfb2884d65 100644
--- a/gcc/config/i386/driver-i386.cc
+++ b/gcc/config/i386/driver-i386.cc
@@ -897,8 +897,13 @@ const char *host_detect_local_cpu (int argc, const char **argv)
 	      }
 	    /* Never push -mno-avx10.1-{256,512} under -march=native to
 	       avoid unnecessary warnings when building librarys.  */
-	    else if ((isa_names_table[i].feature != FEATURE_AVX10_1_256)
-		     && (isa_names_table[i].feature != FEATURE_AVX10_1_512)
+	    else if (isa_names_table[i].feature != FEATURE_AVX10_1_256
+		     && isa_names_table[i].feature != FEATURE_AVX10_1_512
+		     && isa_names_table[i].feature != FEATURE_AVX512PF
+		     && isa_names_table[i].feature != FEATURE_AVX512ER
+		     && isa_names_table[i].feature != FEATURE_AVX5124FMAPS
+		     && isa_names_table[i].feature != FEATURE_AVX5124VNNIW
+		     && isa_names_table[i].feature != FEATURE_PREFETCHWT1
 		     && check_avx512_features (cpu_model, cpu_features2,
 					       isa_names_table[i].feature))
 	      options = concat (options, neg_option,
diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc
index fb8638a3525..76a2127ea23 100644
--- a/gcc/config/i386/i386-options.cc
+++ b/gcc/config/i386/i386-options.cc
@@ -2098,6 +2098,18 @@ ix86_option_override_internal (bool main_args_p,
 		 : G_("%<target(\"tune=x86-64\")%> is deprecated; use "
 		      "%<target(\"tune=k8\")%> or %<target(\"tune=generic\")%>"
 		      " instead as appropriate"));
+      else if (!strcmp (opts->x_ix86_tune_string, "knl"))
+	warning (OPT_Wdeprecated,
+		 main_args_p
+		 ? G_("%<-mtune=knl%> support will be removed in GCC 15")
+		 : G_("%<target(\"tune=knl\")%> support will be removed in "
+		      "GCC 15"));
+      else if (!strcmp (opts->x_ix86_tune_string, "knm"))
+	warning (OPT_Wdeprecated,
+		 main_args_p
+		 ? G_("%<-mtune=knm%> support will be removed in GCC 15")
+		 : G_("%<target(\"tune=knm\")%> support will be removed in "
+		      "GCC 15"));
     }
   else
     {
@@ -2298,6 +2310,19 @@ ix86_option_override_internal (bool main_args_p,
 	    return false;
 	  }
 
+	if (!strcmp (opts->x_ix86_arch_string, "knl"))
+	  warning (OPT_Wdeprecated,
+		   main_args_p
+		   ? G_("%<-march=knl%> support will be removed in GCC 15")
+		   : G_("%<target(\"arch=knl\")%> support will be removed in "
+			"GCC 15"));
+	else if (!strcmp (opts->x_ix86_arch_string, "knm"))
+	  warning (OPT_Wdeprecated,
+		   main_args_p
+		   ? G_("%<-march=knm%> support will be removed in GCC 15")
+		   : G_("%<target(\"arch=knm\")%> support will be removed in "
+			"GCC 15"));
+
 	ix86_schedule = processor_alias_table[i].schedule;
 	ix86_arch = processor_alias_table[i].processor;
 
diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt
index b2edfac0b2a..f0199585f9c 100644
--- a/gcc/config/i386/i386.opt
+++ b/gcc/config/i386/i386.opt
@@ -738,11 +738,11 @@ Target Mask(ISA_AVX512F) Var(ix86_isa_flags) Save
 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation.
 
 mavx512pf
-Target Mask(ISA_AVX512PF) Var(ix86_isa_flags) Save
+Target Mask(ISA_AVX512PF) Var(ix86_isa_flags) Save Warn(AVX512PF support will be removed in GCC 15)
 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built-in functions and code generation.
 
 mavx512er
-Target Mask(ISA_AVX512ER) Var(ix86_isa_flags) Save
+Target Mask(ISA_AVX512ER) Var(ix86_isa_flags) Save Warn(AVX512ER support will be removed in GCC 15)
 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built-in functions and code generation.
 
 mavx512cd
@@ -770,11 +770,11 @@ Target Mask(ISA_AVX512VBMI) Var(ix86_isa_flags) Save
 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VBMI built-in functions and code generation.
 
 mavx5124fmaps
-Target Mask(ISA2_AVX5124FMAPS) Var(ix86_isa_flags2) Save
+Target Mask(ISA2_AVX5124FMAPS) Var(ix86_isa_flags2) Save Warn(AVX5124FMAPS support will be removed in GCC 15)
 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124FMAPS built-in functions and code generation.
 
 mavx5124vnniw
-Target Mask(ISA2_AVX5124VNNIW) Var(ix86_isa_flags2) Save
+Target Mask(ISA2_AVX5124VNNIW) Var(ix86_isa_flags2) Save Warn(AVX5124VNNIW support will be removed in GCC 15)
 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124VNNIW built-in functions and code generation.
 
 mavx512vpopcntdq
@@ -969,7 +969,7 @@ Target Mask(ISA_F16C) Var(ix86_isa_flags) Save
 Support F16C built-in functions and code generation.
 
 mprefetchwt1
-Target Mask(ISA_PREFETCHWT1) Var(ix86_isa_flags) Save
+Target Mask(ISA_PREFETCHWT1) Var(ix86_isa_flags) Save Warn(PREFETCHWT1 support will be removed in GCC 15)
 Support PREFETCHWT1 built-in functions and code generation.
 
 mfentry
diff --git a/gcc/testsuite/g++.dg/other/i386-2.C b/gcc/testsuite/g++.dg/other/i386-2.C
index 7d68967488d..b1c59579455 100644
--- a/gcc/testsuite/g++.dg/other/i386-2.C
+++ b/gcc/testsuite/g++.dg/other/i386-2.C
@@ -1,5 +1,10 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt  -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq -mclwb -mmwaitx -mclzero -mpku -msgx -mrdpid -mgfni -mavx512bitalg -mpconfig -mwbnoinvd -mavx512bf16 -menqcmd -mavx512vp2intersect -mserialize -mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni -mavx512fp16 -mavxifma -mavxvnniint8 -mavxneconvert -mcmpccxadd -mamx-fp16 -mprefetchi -mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "PREFETCHWT1 support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 /* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
    xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
diff --git a/gcc/testsuite/g++.dg/other/i386-3.C b/gcc/testsuite/g++.dg/other/i386-3.C
index 9b775c33ab4..f7b6d18a20e 100644
--- a/gcc/testsuite/g++.dg/other/i386-3.C
+++ b/gcc/testsuite/g++.dg/other/i386-3.C
@@ -1,5 +1,10 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O -fkeep-inline-functions -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq -mclwb -mmwaitx -mclzero -mpku -msgx -mrdpid -mgfni -mavx512bitalg -mpconfig -mwbnoinvd -mavx512bf16 -menqcmd -mavx512vp2intersect -mserialize -mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni -mavx512fp16 -mavxifma -mavxvnniint8 -mavxneconvert -mcmpccxadd -mamx-fp16 -mprefetchi -mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "PREFETCHWT1 support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 /* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
    xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
diff --git a/gcc/testsuite/g++.dg/pr80481.C b/gcc/testsuite/g++.dg/pr80481.C
index 3a886991463..c2931100906 100644
--- a/gcc/testsuite/g++.dg/pr80481.C
+++ b/gcc/testsuite/g++.dg/pr80481.C
@@ -1,7 +1,7 @@
 // { dg-do compile { target { i?86-*-* x86_64-*-* }  && { ! *-*-solaris* } } }
 // -fopenmp implies -pthread
 // { dg-require-effective-target pthread } 
-// { dg-options "-Ofast -funroll-loops -fopenmp -march=knl" }
+// { dg-options "-Ofast -funroll-loops -fopenmp -march=skylake-avx512" }
 // Disabling epilogues until we find a better way to deal with scans.
 // { dg-additional-options "--param vect-epilogues-nomask=0" }
 
diff --git a/gcc/testsuite/gcc.dg/pr71279.c b/gcc/testsuite/gcc.dg/pr71279.c
index 4ecc84b6425..46c7a95aea7 100644
--- a/gcc/testsuite/gcc.dg/pr71279.c
+++ b/gcc/testsuite/gcc.dg/pr71279.c
@@ -1,7 +1,7 @@
 /* PR middle-end/71279 */
 /* { dg-do compile } */
 /* { dg-options "-O3" } */
-/* { dg-additional-options "-march=knl" { target { i?86-*-* x86_64-*-* } } } */
+/* { dg-additional-options "-march=skylake-avx512" { target { i?86-*-* x86_64-*-* } } } */
 
 extern int a, b;
 long c[1][1][1];
diff --git a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-1.c b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-1.c
index 1035f253f06..3c3c9f619ad 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mavx5124fmaps" } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "v4fmaddps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "v4fmaddps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "v4fmaddps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-2.c b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-2.c
index f977b65dad0..ad453975b38 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -mavx5124fmaps" } */
 /* { dg-require-effective-target avx5124fmaps } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #define ESP_FLOAT 1.0
 
diff --git a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddss-1.c b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddss-1.c
index 2f1a558a1a2..53830420afa 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddss-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddss-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mavx5124fmaps" } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "v4fmaddss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "v4fmaddss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "v4fmaddss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c
index 45bd7dace48..acb666b3093 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mavx5124fmaps" } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "v4fnmaddps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "v4fnmaddps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "v4fnmaddps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c
index 3c75fcf2d15..5dcdfe48c0a 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -mavx5124fmaps" } */
 /* { dg-require-effective-target avx5124fmaps } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #define ESP_FLOAT 1.0
 
diff --git a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c
index 1755afb9332..bfeb46dc9a1 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mavx5124fmaps" } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "v4fnmaddss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "v4fnmaddss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "v4fnmaddss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c b/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c
index a234fddf54a..bcabfac416f 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mavx5124vnniw" } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vp4dpwssd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vp4dpwssd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vp4dpwssd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c b/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c
index a0a6825e7c9..9044ce5ea19 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -mavx5124vnniw" } */
 /* { dg-require-effective-target avx5124vnniw } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #define AVX5124VNNIW
 #include "avx512f-helper.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c b/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c
index d1bed37d1c0..e3e46c53368 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mavx5124vnniw" } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vp4dpwssds\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vp4dpwssds\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vp4dpwssds\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c b/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c
index e1e5536558c..193477c9864 100644
--- a/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -mavx5124vnniw" } */
 /* { dg-require-effective-target avx5124vnniw } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #define DEFAULT_VALUE 0x7ffffffe
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-1.c
index 7e1eb6bf63e..93766d87451 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vexp2pd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vexp2pd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vexp2pd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-2.c
index ce4e86c1f95..20457e1fcd2 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-1.c
index e5de38087fb..130a2e001c7 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vexp2ps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vexp2ps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vexp2ps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-2.c
index ab911c017a3..6294dfffee7 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-1.c
index f00b42ea50a..8959c0544a2 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vrcp28pd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrcp28pd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrcp28pd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-2.c
index 609aeaa31c6..aaab1dc0eb2 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-1.c
index 15f4a50cc1e..f0da889361d 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vrcp28ps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrcp28ps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrcp28ps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-2.c
index 4059e0e7f52..241327143e0 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-3.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-3.c
index e08bea41c3e..c0b1f7b3102 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-3.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-3.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-4.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-4.c
index 2c76d967184..b042849cba4 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-4.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-4.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-vrcp28ps-3.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-1.c
index 03e75cc5f3b..f70042580b6 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vrcp28sd\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrcp28sd\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+\[^\{\]*(?:\n|\[ \\t\]+#)" 1 } } */
 /* { dg-final { scan-assembler-times "vrcp28sd\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-2.c
index 93d370d0d78..b434c3c26d9 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-1.c
index 87a8ac3026f..c819c1abdae 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vrcp28ss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrcp28ss\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+\[^\{\]*(?:\n|\[ \\t\]+#)" 1 } } */
 /* { dg-final { scan-assembler-times "vrcp28ss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-2.c
index 4ffa92c66ee..f3b894b2f47 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-1.c
index a9dfd6a2cff..67822d15296 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vrsqrt28pd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrsqrt28pd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrsqrt28pd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-2.c
index 84a66addd55..3227df84b2e 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-1.c
index 415980d21ba..63ff4eab724 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vrsqrt28ps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrsqrt28ps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)"  1 } } */
 /* { dg-final { scan-assembler-times "vrsqrt28ps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)"  1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-2.c
index a92472e6191..911683f5e54 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-3.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-3.c
index 40aefb50844..a8ab49ed6c3 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-3.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-3.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include <math.h>
 #include "avx512er-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-4.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-4.c
index 2f5f73fd781..4a793a6b0ae 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-4.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-4.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-vrsqrt28ps-3.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-5.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-5.c
index 498f4d50aa5..9a8a88ae2b5 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-5.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-5.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include <math.h>
 #include "avx512er-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-6.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-6.c
index 77c5cba1cef..f1f013572f7 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-6.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-6.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-vrsqrt28ps-5.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-1.c
index ca549062b75..28f6b193b3b 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vrsqrt28sd\[ \\t\]+\[^\{^\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
 /* { dg-final { scan-assembler-times "vrsqrt28sd\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
 /* { dg-final { scan-assembler-times "vrsqrt28sd\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-2.c
index 2606191b97b..31910210571 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-1.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-1.c
index c97376ed746..29a9736f89c 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512er -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vrsqrt28ss\[ \\t\]+\[^\{^\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
 /* { dg-final { scan-assembler-times "vrsqrt28ss\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
 /* { dg-final { scan-assembler-times "vrsqrt28ss\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-2.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-2.c
index fa1c19b9f6b..f9c4488facc 100644
--- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-2.c
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512er } */
 /* { dg-options "-O2 -mavx512er" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "avx512er-check.h"
 #include "avx512f-mask-type.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-gather-1.c b/gcc/testsuite/gcc.target/i386/avx512f-gather-1.c
index eb9cbc1a635..305d402a846 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-gather-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-gather-1.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512f } */
-/* { dg-options "-O3 -mavx512f -mtune=knl" } */
+/* { dg-options "-O3 -mavx512f -march=sapphirerapids -mprefer-vector-width=512" } */
 
 #include "avx512f-check.h"
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-gather-2.c b/gcc/testsuite/gcc.target/i386/avx512f-gather-2.c
index df1b915fdd1..ef424b09b8e 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-gather-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-gather-2.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */ /* PR59617 */
-/* { dg-options "-O3 -mavx512f -fdump-tree-vect-details -mtune=knl" } */
+/* { dg-options "-O3 -mavx512f -march=sapphirerapids -fdump-tree-vect-details -mprefer-vector-width=512" } */
 /* Disabling epilogues until we find a better way to deal with scans.  */
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-gather-3.c b/gcc/testsuite/gcc.target/i386/avx512f-gather-3.c
index 2054a949325..51012c7dcdf 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-gather-3.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-gather-3.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512f } */
-/* { dg-options "-O3 -mavx512f -ffast-math -mtune=knl" } */
+/* { dg-options "-O3 -mavx512f -march=sapphirerapids -ffast-math -mprefer-vector-width=512" } */
 
 #include "avx512f-check.h"
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-gather-4.c b/gcc/testsuite/gcc.target/i386/avx512f-gather-4.c
index b500ca1fd48..10264c63757 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-gather-4.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-gather-4.c
@@ -1,6 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512f } */
-/* { dg-options "-O3 -mavx512f -mtune=knl" } */
+/* { dg-options "-O3 -mavx512f -march=sapphirerapids -mprefer-vector-width=512" } */
 
 #include "avx512f-check.h"
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-gather-5.c b/gcc/testsuite/gcc.target/i386/avx512f-gather-5.c
index 686da706edf..ad8cba58d96 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-gather-5.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-gather-5.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O3 -mavx512f -mtune=knl" } */
+/* { dg-options "-O3 -mavx512f -march=sapphirerapids -mprefer-vector-width=512" } */
 /* Disabling epilogues until we find a better way to deal with scans.  */
 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-1.c b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-1.c
index b27d6c9f8e2..55b8d398522 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-1.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mavx512f -O2 -mtune=knl" } */
+/* { dg-options "-mavx512f -O2" } */
 /* { dg-final { scan-assembler-times "vpgatherdd\[ \\t\]+\[^\{\n\]*zmm\[0-9\]\[^\n\]*zmm\[0-9\]{%k\[1-7\]}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-2.c b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-2.c
index faf96b6e6f7..d89ef048d82 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-2.c
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-options "-mavx512f -O2 -mtune=knl" } */
+/* { dg-options "-mavx512f -O2" } */
 /* { dg-require-effective-target avx512f } */
 
 #include "avx512f-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-1.c b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-1.c
index b94de200e67..cf8e36905e5 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-1.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mavx512f -O2 -mtune=knl" } */
+/* { dg-options "-mavx512f -O2" } */
 /* { dg-final { scan-assembler-times "vgatherdpd\[ \\t\]+\[^\{\n\]*ymm\[0-9\]\[^\n\]*zmm\[0-9\]{%k\[1-7\]}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-2.c b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-2.c
index d697ec22c8e..3af491548ba 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-2.c
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-options "-mavx512f -O2 -mtune=knl" } */
+/* { dg-options "-mavx512f -O2" } */
 /* { dg-require-effective-target avx512f } */
 
 #include "avx512f-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherps512-1.c b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherps512-1.c
index 9f3e65520fc..1f1fab38d31 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-i32gatherps512-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-i32gatherps512-1.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mavx512f -O2 -mtune=knl" } */
+/* { dg-options "-mavx512f -O2" } */
 /* { dg-final { scan-assembler-times "vgatherdps\[ \\t\]+\[^\{\n\]*zmm\[0-9\]\[^\n\]*zmm\[0-9\]{%k\[1-7\]}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-1.c b/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-1.c
index ea6760d481c..a5b7abaedcd 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-1.c
@@ -1,14 +1,14 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-vectorize -ffast-math -march=knl" } */
-/* { dg-final { scan-assembler-times "vpermps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
-
-#define N 1024
-float f1[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-float f2[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-
-void foo ()
-{
-  int j;
-  for (j=0; j<N; j++)
-    f1[j] += f2[N-j];
-}
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-vectorize -ffast-math -march=skylake-avx512 -mprefer-vector-width=512" } */
+/* { dg-final { scan-assembler-times "vpermd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
+
+#define N 1024
+float f1[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+float f2[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+
+void foo ()
+{
+  int j;
+  for (j=0; j<N; j++)
+    f1[j] += f2[N-j];
+}
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-2.c
index 29d00d75ac9..cef44b1b6a5 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-2.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -ftree-vectorize -ffast-math -march=knl" } */
+/* { dg-options "-O2 -ftree-vectorize -ffast-math -march=skylake-avx512 -mprefer-vector-width=512" } */
 /* { dg-final { scan-assembler-times "vpermpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
 
 #define N 1024
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dpd-1.c
index 0c6fc4363f0..f694f2188dd 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dpd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vgatherpf0dpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dps-1.c
index 0953769697e..9376c1d6f38 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vgatherpf0dps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qpd-1.c
index 1fb853431ca..13cfac5c7e6 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qpd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vgatherpf0qpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qps-1.c
index 7ccba277b2a..79fc548619d 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vgatherpf0qps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dpd-1.c
index 5dffec17fbf..1949fe16f69 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dpd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vgatherpf1dpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dps-1.c
index 0ffbc9cfbd9..a0fc183c91e 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vgatherpf1dps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qpd-1.c
index 22450fff7d4..e3cedbb881c 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qpd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vgatherpf1qpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qps-1.c
index ddc4eacce3f..6ed7297376f 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vgatherpf1qps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c
index 5a153ea3d4c..3fc2c024ef3 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vscatterpf0dpd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 #include <immintrin.h>
 
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c
index d1173a2b7f3..5689e3a5151 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vscatterpf0dps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c
index 67529e7be83..cf5596377fe 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vscatterpf0qpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c
index 9ff580fea4d..eeb65d42f0f 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vscatterpf0qps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c
index 73a029d10a1..39b36d1bbe7 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vscatterpf1dpd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c
index 439bc853485..edcde856d8a 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vscatterpf1dps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c
index 3ae16cd2e19..c4cdaa8c590 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vscatterpf1qpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c
index 35cd7d3b5d3..95ab72eebe2 100644
--- a/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-times "vscatterpf1qps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/funcspec-56.inc b/gcc/testsuite/gcc.target/i386/funcspec-56.inc
index 210da1d1a8a..e910e1f9211 100644
--- a/gcc/testsuite/gcc.target/i386/funcspec-56.inc
+++ b/gcc/testsuite/gcc.target/i386/funcspec-56.inc
@@ -1,8 +1,6 @@
 /* Common 32-bit and 64-bit function specific options.  */
 
 extern void test_sgx (void)			__attribute__((__target__("sgx")));
-extern void test_avx5124fmaps(void)		__attribute__((__target__("avx5124fmaps")));
-extern void test_avx5124vnniw(void)		__attribute__((__target__("avx5124vnniw")));
 extern void test_avx512vpopcntdq(void)		__attribute__((__target__("avx512vpopcntdq")));
 
 extern void test_avx512vbmi (void)		__attribute__((__target__("avx512vbmi")));
@@ -10,8 +8,6 @@ extern void test_avx512ifma (void)		__attribute__((__target__("avx512ifma")));
 extern void test_avx512vl (void)		__attribute__((__target__("avx512vl")));
 extern void test_avx512bw (void)		__attribute__((__target__("avx512bw")));
 extern void test_avx512dq (void)		__attribute__((__target__("avx512dq")));
-extern void test_avx512er (void)		__attribute__((__target__("avx512er")));
-extern void test_avx512pf (void)		__attribute__((__target__("avx512pf")));
 extern void test_avx512cd (void)		__attribute__((__target__("avx512cd")));
 extern void test_avx512f  (void)		__attribute__((__target__("avx512f")));
 extern void test_avx2 (void)			__attribute__((__target__("avx2")));
@@ -38,7 +34,6 @@ extern void test_rtm (void)			__attribute__((__target__("rtm")));
 extern void test_prfchw (void)			__attribute__((__target__("prfchw")));
 extern void test_rdseed (void)			__attribute__((__target__("rdseed")));
 extern void test_adx (void)			__attribute__((__target__("adx")));
-extern void test_prefetchwt1 (void)		__attribute__((__target__("prefetchwt1")));
 extern void test_clflushopt (void)		__attribute__((__target__("clflushopt")));
 extern void test_xsaves (void)			__attribute__((__target__("xsaves")));
 extern void test_xsavec (void)			__attribute__((__target__("xsavec")));
@@ -95,8 +90,6 @@ extern void test_sm4 (void)                     __attribute__((__target__("sm4")
 extern void test_user_msr (void)		__attribute__((__target__("usermsr")));
 
 extern void test_no_sgx (void)			__attribute__((__target__("no-sgx")));
-extern void test_no_avx5124fmaps(void)		__attribute__((__target__("no-avx5124fmaps")));
-extern void test_no_avx5124vnniw(void)		__attribute__((__target__("no-avx5124vnniw")));
 extern void test_no_avx512vpopcntdq(void)	__attribute__((__target__("no-avx512vpopcntdq")));
 
 extern void test_no_avx512vbmi (void)		__attribute__((__target__("no-avx512vbmi")));
@@ -104,8 +97,6 @@ extern void test_no_avx512ifma (void)		__attribute__((__target__("no-avx512ifma"
 extern void test_no_avx512vl (void)		__attribute__((__target__("no-avx512vl")));
 extern void test_no_avx512bw (void)		__attribute__((__target__("no-avx512bw")));
 extern void test_no_avx512dq (void)		__attribute__((__target__("no-avx512dq")));
-extern void test_no_avx512er (void)		__attribute__((__target__("no-avx512er")));
-extern void test_no_avx512pf (void)		__attribute__((__target__("no-avx512pf")));
 extern void test_no_avx512cd (void)		__attribute__((__target__("no-avx512cd")));
 extern void test_no_avx512f  (void)		__attribute__((__target__("no-avx512f")));
 extern void test_no_avx2 (void)			__attribute__((__target__("no-avx2")));
@@ -132,7 +123,6 @@ extern void test_no_rtm (void)			__attribute__((__target__("no-rtm")));
 extern void test_no_prfchw (void)		__attribute__((__target__("no-prfchw")));
 extern void test_no_rdseed (void)		__attribute__((__target__("no-rdseed")));
 extern void test_no_adx (void)			__attribute__((__target__("no-adx")));
-extern void test_no_prefetchwt1 (void)		__attribute__((__target__("no-prefetchwt1")));
 extern void test_no_clflushopt (void)		__attribute__((__target__("no-clflushopt")));
 extern void test_no_xsaves (void)		__attribute__((__target__("no-xsaves")));
 extern void test_no_xsavec (void)		__attribute__((__target__("no-xsavec")));
@@ -200,8 +190,6 @@ extern void test_arch_tremont (void)		__attribute__((__target__("arch=tremont"))
 extern void test_arch_sierraforest (void)       __attribute__((__target__("arch=sierraforest")));
 extern void test_arch_grandridge (void)		__attribute__((__target__("arch=grandridge")));
 extern void test_arch_clearwaterforest (void)	__attribute__((__target__("arch=clearwaterforest")));
-extern void test_arch_knl (void)		__attribute__((__target__("arch=knl")));
-extern void test_arch_knm (void)		__attribute__((__target__("arch=knm")));
 extern void test_arch_skylake (void)		__attribute__((__target__("arch=skylake")));
 extern void test_arch_skylake_avx512 (void)	__attribute__((__target__("arch=skylake-avx512")));
 extern void test_arch_cannonlake (void)		__attribute__((__target__("arch=cannonlake")));
diff --git a/gcc/testsuite/gcc.target/i386/pr103404.c b/gcc/testsuite/gcc.target/i386/pr103404.c
index 66f33645301..3e970ef4966 100644
--- a/gcc/testsuite/gcc.target/i386/pr103404.c
+++ b/gcc/testsuite/gcc.target/i386/pr103404.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-additional-options "-Og -fcse-follow-jumps -fno-dce -fno-early-inlining -fgcse -fharden-conditional-branches -frerun-cse-after-loop -fno-tree-ccp -mavx5124fmaps -std=c99 -w" } */
+/* { dg-additional-options "-Og -fcse-follow-jumps -fno-dce -fno-early-inlining -fgcse -fharden-conditional-branches -frerun-cse-after-loop -fno-tree-ccp -mavx512f -std=c99 -w" } */
 
 typedef unsigned __attribute__((__vector_size__ (4))) U;
 typedef unsigned __attribute__((__vector_size__ (16))) V;
diff --git a/gcc/testsuite/gcc.target/i386/pr104448.c b/gcc/testsuite/gcc.target/i386/pr104448.c
index b10345afc48..3cf913e94ea 100644
--- a/gcc/testsuite/gcc.target/i386/pr104448.c
+++ b/gcc/testsuite/gcc.target/i386/pr104448.c
@@ -1,6 +1,7 @@
 /* PR target/104448 */
 /* { dg-do compile { target { *-*-linux* && lp64 } } } */
 /* { dg-options "-mavx5124vnniw -mno-xsave -mabi=ms" } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 int
 main ()
diff --git a/gcc/testsuite/gcc.target/i386/pr107934.c b/gcc/testsuite/gcc.target/i386/pr107934.c
index 59106b29159..67786cd26af 100644
--- a/gcc/testsuite/gcc.target/i386/pr107934.c
+++ b/gcc/testsuite/gcc.target/i386/pr107934.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -mtune=knl -ffinite-math-only -msse2" } */
+/* { dg-options "-O2 -mtune=icelake-server -ffinite-math-only -msse2" } */
 
 int
 foo (__bf16 bf)
diff --git a/gcc/testsuite/gcc.target/i386/pr64387.c b/gcc/testsuite/gcc.target/i386/pr64387.c
index dd381425a27..332a639871c 100644
--- a/gcc/testsuite/gcc.target/i386/pr64387.c
+++ b/gcc/testsuite/gcc.target/i386/pr64387.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -ftree-vectorize -ffloat-store -mavx512er" } */
+/* { dg-options "-O2 -ftree-vectorize -ffloat-store -mavx2" } */
 
 float x[256];
 
diff --git a/gcc/testsuite/gcc.target/i386/pr69471-3.c b/gcc/testsuite/gcc.target/i386/pr69471-3.c
deleted file mode 100644
index 3826f969090..00000000000
--- a/gcc/testsuite/gcc.target/i386/pr69471-3.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-march=native -march=knl" } */
-
-/* NB: We want to verify that -march=native -march=processor is the same
-   as -march=processor.  Since it is very unlikely that GCC will be built
-   on KNL, -march=native will have -mno-avx512er and -march=knl should
-   enable AVX512ER.  */
-
-#ifndef __AVX512ER__
-# error __AVX512ER__ is not defined
-#endif
diff --git a/gcc/testsuite/gcc.target/i386/pr70728.c b/gcc/testsuite/gcc.target/i386/pr70728.c
index 89c140dde20..ff0e8873d00 100644
--- a/gcc/testsuite/gcc.target/i386/pr70728.c
+++ b/gcc/testsuite/gcc.target/i386/pr70728.c
@@ -1,6 +1,6 @@
 /* PR target/70728 */
 /* { dg-do compile } */
-/* { dg-options "-S -Ofast -march=knl" } */
+/* { dg-options "-S -Ofast -march=skylake-avx512" } */
 
 short a = -15726;
 int b = (int)-7003557328690506537LL;
diff --git a/gcc/testsuite/gcc.target/i386/pr71346.c b/gcc/testsuite/gcc.target/i386/pr71346.c
index 0a15869155a..d17e3306cb2 100644
--- a/gcc/testsuite/gcc.target/i386/pr71346.c
+++ b/gcc/testsuite/gcc.target/i386/pr71346.c
@@ -1,6 +1,6 @@
 /* PR target/71346 */
 /* { dg-do compile { target { ! ia32 } }  } */
-/* { dg-options "-O2 -ftree-vectorize -ffast-math -march=knl" } */
+/* { dg-options "-O2 -ftree-vectorize -ffast-math -march=skylake-avx512 -mno-avx512vl" } */
 
 typedef int rvec[3];
 int a;
diff --git a/gcc/testsuite/gcc.target/i386/pr82941-2.c b/gcc/testsuite/gcc.target/i386/pr82941-2.c
index db2f8589ab6..cafa1bf23ca 100644
--- a/gcc/testsuite/gcc.target/i386/pr82941-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr82941-2.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -march=knl" } */
+/* { dg-warning "'-march=knl' support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "pr82941-1.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/pr82942-1.c b/gcc/testsuite/gcc.target/i386/pr82942-1.c
index 9cdf81a9d60..b65b73d23ac 100644
--- a/gcc/testsuite/gcc.target/i386/pr82942-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr82942-1.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mavx512f -mno-avx512er -O2" } */
+/* { dg-options "-mavx512f -O2" } */
 
 #include "pr82941-1.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/pr82942-2.c b/gcc/testsuite/gcc.target/i386/pr82942-2.c
index ddb4e689659..55572b03c9b 100644
--- a/gcc/testsuite/gcc.target/i386/pr82942-2.c
+++ b/gcc/testsuite/gcc.target/i386/pr82942-2.c
@@ -1,5 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512f -mavx512er -mtune=knl -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "'-mtune=knl' support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "pr82941-1.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/pr82990-1.c b/gcc/testsuite/gcc.target/i386/pr82990-1.c
index ff1d6d40eb2..a87288987c9 100644
--- a/gcc/testsuite/gcc.target/i386/pr82990-1.c
+++ b/gcc/testsuite/gcc.target/i386/pr82990-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -march=knl -mvzeroupper" } */
+/* { dg-warning "'-march=knl' support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include <immintrin.h>
 
diff --git a/gcc/testsuite/gcc.target/i386/pr82990-3.c b/gcc/testsuite/gcc.target/i386/pr82990-3.c
index 201fa98d8d4..0c902cdf91b 100644
--- a/gcc/testsuite/gcc.target/i386/pr82990-3.c
+++ b/gcc/testsuite/gcc.target/i386/pr82990-3.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512f -mavx512er -mvzeroupper -O2" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "pr82941-1.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/pr82990-4.c b/gcc/testsuite/gcc.target/i386/pr82990-4.c
index 09f161c7291..4ee1fbcbcf7 100644
--- a/gcc/testsuite/gcc.target/i386/pr82990-4.c
+++ b/gcc/testsuite/gcc.target/i386/pr82990-4.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-mavx512f -mno-avx512er -mno-vzeroupper -O2" } */
+/* { dg-options "-mavx512f -mno-vzeroupper -O2" } */
 
 #include "pr82941-1.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/pr82990-6.c b/gcc/testsuite/gcc.target/i386/pr82990-6.c
index 063a61c111d..41fd1cb17b6 100644
--- a/gcc/testsuite/gcc.target/i386/pr82990-6.c
+++ b/gcc/testsuite/gcc.target/i386/pr82990-6.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -march=skylake-avx512 -mtune=knl" } */
+/* { dg-warning "'-mtune=knl' support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "pr82941-1.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/pr88713-3.c b/gcc/testsuite/gcc.target/i386/pr88713-3.c
index 85b6cf87a02..bd16d5e1d49 100644
--- a/gcc/testsuite/gcc.target/i386/pr88713-3.c
+++ b/gcc/testsuite/gcc.target/i386/pr88713-3.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-Ofast -mno-avx512er -march=skylake-avx512" } */
+/* { dg-options "-Ofast -march=skylake-avx512" } */
 
 #include <math.h>
 
diff --git a/gcc/testsuite/gcc.target/i386/pr89523-5.c b/gcc/testsuite/gcc.target/i386/pr89523-5.c
index 6a769c7a249..cdf3190c1b3 100644
--- a/gcc/testsuite/gcc.target/i386/pr89523-5.c
+++ b/gcc/testsuite/gcc.target/i386/pr89523-5.c
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { ! ia32 } } } */
 /* { dg-require-effective-target maybe_x32 } */
 /* { dg-options "-mx32 -O2 -mavx512pf" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "\tvgather" } } */
 /* { dg-final { scan-assembler-not "addr32 vgather" } } */
 
diff --git a/gcc/testsuite/gcc.target/i386/pr89523-6.c b/gcc/testsuite/gcc.target/i386/pr89523-6.c
index 82f795e085c..d69206d1115 100644
--- a/gcc/testsuite/gcc.target/i386/pr89523-6.c
+++ b/gcc/testsuite/gcc.target/i386/pr89523-6.c
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { ! ia32 } } } */
 /* { dg-require-effective-target maybe_x32 } */
 /* { dg-options "-mx32 -O2 -mavx512pf" } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler-not "\tvgather" } } */
 /* { dg-final { scan-assembler "addr32 vgather" } } */
 
diff --git a/gcc/testsuite/gcc.target/i386/pr91033.c b/gcc/testsuite/gcc.target/i386/pr91033.c
index 43d99d5a7dc..3b52c66380f 100644
--- a/gcc/testsuite/gcc.target/i386/pr91033.c
+++ b/gcc/testsuite/gcc.target/i386/pr91033.c
@@ -1,6 +1,7 @@
 /* PR tree-optimization/91033 */
 /* { dg-do compile { target pthread } } */
 /* { dg-options "-march=knl -O2 -fopenmp-simd -ftree-parallelize-loops=2" } */
+/* { dg-warning "'-march=knl' support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #define N 1024
 int a[N];
diff --git a/gcc/testsuite/gcc.target/i386/pr94561.c b/gcc/testsuite/gcc.target/i386/pr94561.c
index 49fdf7e687d..9dbfc2d3d69 100644
--- a/gcc/testsuite/gcc.target/i386/pr94561.c
+++ b/gcc/testsuite/gcc.target/i386/pr94561.c
@@ -1,6 +1,6 @@
 /* PR target/94561 */
 /* { dg-do compile } */
-/* { dg-options "-march=knl -O3 -funroll-loops" } */
+/* { dg-options "-mavx512f -O3 -funroll-loops" } */
 
 struct xi {
   long int mg;
diff --git a/gcc/testsuite/gcc.target/i386/prefetchwt1-1.c b/gcc/testsuite/gcc.target/i386/prefetchwt1-1.c
index 1b88516ede3..742a3203069 100644
--- a/gcc/testsuite/gcc.target/i386/prefetchwt1-1.c
+++ b/gcc/testsuite/gcc.target/i386/prefetchwt1-1.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mprefetchwt1 -O2" } */
+/* { dg-warning "PREFETCHWT1 support will be removed in GCC 15" "" { target *-*-* } 0 } */
 /* { dg-final { scan-assembler "\[ \\t\]+prefetchwt1\[ \\t\]+" } } */
 
 #include <x86intrin.h>
diff --git a/gcc/testsuite/gcc.target/i386/sse-12.c b/gcc/testsuite/gcc.target/i386/sse-12.c
index a553a5202d1..765fd4de778 100644
--- a/gcc/testsuite/gcc.target/i386/sse-12.c
+++ b/gcc/testsuite/gcc.target/i386/sse-12.c
@@ -4,6 +4,11 @@
    with -O -std=c89 -pedantic-errors.  */
 /* { dg-do compile } */
 /* { dg-options "-O -std=c89 -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512bw -mavx512dq -mavx512vl -mavx512vbmi -mavx512vbmi2 -mavx512ifma -mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq -mclwb -mmwaitx -mclzero -mpku -msgx -mrdpid -mgfni -mavx512bitalg -mpconfig -mwbnoinvd -mavx512bf16 -menqcmd -mavx512vp2intersect -mserialize -mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni -mavxifma -mavxvnniint8 -mavxneconvert -mamx-fp16 -mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4" } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "PREFETCHWT1 support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include <x86intrin.h>
 
diff --git a/gcc/testsuite/gcc.target/i386/sse-13.c b/gcc/testsuite/gcc.target/i386/sse-13.c
index 946182f0e76..2972b9f2544 100644
--- a/gcc/testsuite/gcc.target/i386/sse-13.c
+++ b/gcc/testsuite/gcc.target/i386/sse-13.c
@@ -1,6 +1,11 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512vl -mavx512dq -mavx512bw -mavx512vbmi -mavx512vbmi2 -mavx512ifma -mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq -mavx512vp2intersect -mclwb -mmwaitx -mclzero -mpku -msgx -mrdpid -mgfni -mavx512bitalg -mpconfig -mwbnoinvd -mavx512bf16 -menqcmd -mserialize -mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni -mavx512fp16 -mavxifma -mavxvnniint8 -mavxneconvert -mcmpccxadd -mamx-fp16 -mprefetchi -mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4" } */
 /* { dg-add-options bind_pic_locally } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "PREFETCHWT1 support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include <mm_malloc.h>
 
diff --git a/gcc/testsuite/gcc.target/i386/sse-14.c b/gcc/testsuite/gcc.target/i386/sse-14.c
index 0d07aadc7f8..1eb369697a3 100644
--- a/gcc/testsuite/gcc.target/i386/sse-14.c
+++ b/gcc/testsuite/gcc.target/i386/sse-14.c
@@ -1,6 +1,11 @@
 /* { dg-do compile } */
 /* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq -mclwb -mmwaitx -mclzero -mpku -msgx -mrdpid -mgfni -mpconfig -mwbnoinvd -mavx512vl -mavx512bf16 -menqcmd -mavx512vp2intersect -mserialize -mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni -mavx512fp16 -mavxifma -mavxvnniint8 -mavxneconvert -mamx-fp16 -mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4" } */
 /* { dg-add-options bind_pic_locally } */
+/* { dg-warning "AVX512ER support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX512PF support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124FMAPS support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "AVX5124VNNIW support will be removed in GCC 15" "" { target *-*-* } 0 } */
+/* { dg-warning "PREFETCHWT1 support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include <mm_malloc.h>
 
diff --git a/gcc/testsuite/gcc.target/i386/sse-26.c b/gcc/testsuite/gcc.target/i386/sse-26.c
index 04ffe10f42a..5e044b639c4 100644
--- a/gcc/testsuite/gcc.target/i386/sse-26.c
+++ b/gcc/testsuite/gcc.target/i386/sse-26.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse2 -mmmx -mno-sse3 -mno-3dnow -mno-fma -mno-fxsr -mno-xsave -mno-rtm -mno-prfchw -mno-rdseed -mno-adx -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-vaes -mno-vpclmulqdq" } */
 /* { dg-add-options bind_pic_locally } */
+/* { dg-warning "PREFETCHWT1 support will be removed in GCC 15" "" { target *-*-* } 0 } */
 
 #include "sse-13.c"
-- 
2.31.1


  reply	other threads:[~2023-12-01  2:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-01  2:20 [RFC] i386: Remove Xeon Phi ISA support Haochen Jiang
2023-12-01  2:21 ` Haochen Jiang [this message]
2023-12-01  7:04   ` [PATCH] i386: Mark Xeon Phi ISAs as deprecated Richard Biener
2023-12-01  7:33     ` Jiang, Haochen
2023-12-01  8:37       ` Richard Biener
2023-12-01  8:50         ` Jiang, Haochen
2023-12-06  2:32           ` Jiang, Haochen
2023-12-06  7:47             ` Richard Biener
2023-12-08  6:06               ` Hongtao Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231201022100.955917-2-haochen.jiang@intel.com \
    --to=haochen.jiang@intel.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hongtao.liu@intel.com \
    --cc=ubizjak@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).