On Fri, Dec 1, 2023 at 8:34 AM Jiang, Haochen <haochen.ji...@intel.com> wrote:
>
> > -----Original Message-----
> > From: Richard Biener <richard.guent...@gmail.com>
> > Sent: Friday, December 1, 2023 3:04 PM
> > To: Jiang, Haochen <haochen.ji...@intel.com>
> > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <hongtao....@intel.com>;
> > ubiz...@gmail.com
> > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> >
> > 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
>
> I see, it could be a choice and might be better. But if we take this, how 
> should
> we define -mtune=knl remains a question.

I'd say mapping it to a "close" micro-architecture makes most sense, but
we could also simply keep the tuning entry for knl?

> > 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?
>
> If there is no objection, The intrinsics are planned to be removed in GCC 15.
> As far as concerned, almost nobody are using them with the latest GCC. And
> there is no complaint when removing them in ICC/ICX.

I see.  Replacing the header contents with #error "XYZ is no longer supported"
might be nicer.  OTOH x86intrin.h should simply no longer include them.

Richard.

> Thx,
> Haochen
>
> >
> > 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