aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaochen Jiang <haochen.jiang@intel.com>2023-11-10 10:03:37 +0800
committerHaochen Jiang <haochen.jiang@intel.com>2023-12-08 14:55:21 +0800
commit642190b4160da74c5d382c1cea71c6e617c557cb (patch)
tree7118ffdade858963631d0ef77f13713df50c3067
parentb241d91f1e344a7324f66b216f11b40bbb65cf2e (diff)
downloadgcc-642190b4160da74c5d382c1cea71c6e617c557cb.zip
gcc-642190b4160da74c5d382c1cea71c6e617c557cb.tar.gz
gcc-642190b4160da74c5d382c1cea71c6e617c557cb.tar.bz2
i386: Mark Xeon Phi ISAs as deprecated
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/pr103404.c: Ditto. * gcc.target/i386/pr104448.c: Ditto. * gcc.target/i386/pr107934.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.
-rw-r--r--gcc/config/i386/driver-i386.cc9
-rw-r--r--gcc/config/i386/i386-options.cc25
-rw-r--r--gcc/config/i386/i386.opt10
-rw-r--r--gcc/testsuite/g++.dg/other/i386-2.C5
-rw-r--r--gcc/testsuite/g++.dg/other/i386-3.C5
-rw-r--r--gcc/testsuite/g++.dg/pr80481.C2
-rw-r--r--gcc/testsuite/gcc.dg/pr71279.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddps-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fmaddss-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vexp2pd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vexp2ps-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28pd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28sd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrcp28ss-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28pd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-4.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-5.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28sd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ss-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-gather-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-gather-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-gather-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-gather-4.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-gather-5.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-i32gatherd512-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-i32gatherpd512-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-i32gatherps512-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vect-perm-1.c28
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vect-perm-2.c28
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/funcspec-56.inc12
-rw-r--r--gcc/testsuite/gcc.target/i386/pr103404.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr104448.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr107934.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr64387.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69471-3.c11
-rw-r--r--gcc/testsuite/gcc.target/i386/pr70728.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr71346.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr82941-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr82942-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr82942-2.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr82990-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr82990-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr82990-4.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr82990-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr88713-3.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr89523-5.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr89523-6.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr91033.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr94561.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/prefetchwt1-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-12.c5
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-13.c5
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-14.c5
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-26.c1
96 files changed, 175 insertions, 79 deletions
diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc
index 204600e..0cfb288 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 7d0a253..588a087 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
{
@@ -2300,6 +2312,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 b2edfac..f019958 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 7d68967..b1c5957 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 9b775c3..f7b6d18 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 3a88699..c293110 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 4ecc84b..46c7a95 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 1035f25..3c3c9f6 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 f977b65..ad45397 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 2f1a558..5383042 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 45bd7da..acb666b 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 3c75fcf..5dcdfe4 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 1755afb..bfeb46d 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 a234fdd..bcabfac 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 a0a6825..9044ce5 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 d1bed37..e3e46c5 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 e1e5536..193477c 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 7e1eb6b..93766d8 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 ce4e86c..20457e1 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 e5de380..130a2e0 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 ab911c0..6294dff 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 f00b42e..8959c05 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 609aeaa..aaab1dc 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 15f4a50..f0da889 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 4059e0e..2413271 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 e08bea4..c0b1f7b 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 2c76d96..b042849 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 03e75cc..f700425 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 93d370d..b434c3c 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 87a8ac3..c819c1a 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 4ffa92c..f3b894b 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 a9dfd6a..67822d1 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 84a66ad..3227df8 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 415980d..63ff4ea 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 a92472e..911683f 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 40aefb5..a8ab49e 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 2f5f73f..4a793a6 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 498f4d5..9a8a88a 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 77c5cba..f1f0135 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 ca54906..28f6b19 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 2606191..3191021 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 c97376e..29a9736 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 fa1c19b..f9c4488 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 eb9cbc1..305d402 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 df1b915..ef424b0 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 2054a94..51012c7 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 b500ca1..10264c6 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 686da70..ad8cba5 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 b27d6c9..55b8d39 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 faf96b6..d89ef04 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 b94de20..cf8e369 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 d697ec2..3af4915 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 9f3e655..1f1fab3 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 ea6760d..a5b7aba 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 29d00d7..e3e588a 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vect-perm-2.c
@@ -1,14 +1,14 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -ftree-vectorize -ffast-math -march=knl" } */
-/* { dg-final { scan-assembler-times "vpermpd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
-
-#define N 1024
-double d1[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-double d2[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
-
-void foo ()
-{
- int j;
- for (j=0; j<N; j++)
- d1[j] += d2[N-j];
-}
+/* { dg-do compile } */
+/* { 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
+double d1[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+double d2[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
+
+void foo ()
+{
+ int j;
+ for (j=0; j<N; j++)
+ d1[j] += d2[N-j];
+}
diff --git a/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dpd-1.c b/gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dpd-1.c
index 0c6fc43..f694f21 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 0953769..9376c1d 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 1fb8534..13cfac5 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 7ccba27..79fc548 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 5dffec1..1949fe1 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 0ffbc9c..a0fc183 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 22450ff..e3cedbb 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 ddc4eac..6ed7297 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 5a153ea..3fc2c02 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 d1173a2..5689e3a 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 67529e7..cf55963 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 9ff580f..eeb65d4 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 73a029d..39b36d1 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 439bc85..edcde85 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 3ae16cd..c4cdaa8 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 35cd7d3..95ab72e 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 210da1d..e910e1f 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 66f3364..3e970ef 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 b10345a..3cf913e 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 59106b29..67786cd 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 dd38142..332a639 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 3826f96..0000000
--- 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 89c140d..ff0e887 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 0a15869..d17e330 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 db2f858..cafa1bf 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 9cdf81a..b65b73d 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 ddb4e68..55572b0 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 ff1d6d4..a872889 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 201fa98..0c902cd 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 09f161c..4ee1fbc 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 063a61c..41fd1cb 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 85b6cf8..bd16d5e 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 6a769c7..cdf3190 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 82f795e..d69206d 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 43d99d5..3b52c66 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 49fdf7e..9dbfc2d 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 1b88516..742a320 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 a553a52..765fd4d 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 946182f..2972b9f 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 0d07aad..1eb3696 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 04ffe10..5e044b6 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"