On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang <haochen.ji...@intel.com> wrote:
>
> 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.

I think it's better to keep supporting -mtune/arch=knl without diagnostics
but simply not enable the ISAs we don't support.  The better question is
what to do about KNL specific intrinsics headers / intrinsics?  Will we
simply remove those?

Richard.

> 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 via email to