On Wed, Dec 6, 2023 at 3:52 PM Richard Biener
<richard.guent...@gmail.com> wrote:
>
> On Wed, Dec 6, 2023 at 3:33 AM Jiang, Haochen <haochen.ji...@intel.com> wrote:
> >
> > > -----Original Message-----
> > > From: Jiang, Haochen
> > > Sent: Friday, December 1, 2023 4:51 PM
> > > To: Richard Biener <richard.guent...@gmail.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
> > >
> > > > -----Original Message-----
> > > > From: Richard Biener <richard.guent...@gmail.com>
> > > > Sent: Friday, December 1, 2023 4:37 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 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?
> > >
> > > Actually I have written a removal test patch, one of the issue might be 
> > > there is
> > > something specific about knl in tuning for VZEROUPPER, which is also 
> > > reflected
> > > in
> > > PR82990.
> > >
> > > /* X86_TUNE_EMIT_VZEROUPPER: This enables vzeroupper instruction
> > > insertion
> > >    before a transfer of control flow out of the function.  */
> > > DEF_TUNE (X86_TUNE_EMIT_VZEROUPPER, "emit_vzeroupper", ~m_KNL)
> > >
> > > If we chose to keep them, this behavior will be changed.
> >
> > Hi Richard,
> >
> > After double thinking, I suppose we still should remove the arch/tune 
> > options
> > here to avoid misleading behavior since there will always something be 
> > changed.
> >
> > What is your concern about removing? Do you have anything that relies on the
> > tune and arch?
>
> We usually promise backwards compatibility with respect to accepted options
> which is why we have things like
>
> ftree-vect-loop-version
> Common Ignore
> Does nothing. Preserved for backward compatibility.
>
> the backend errors on unknown march/tune and that would be a regression
> for build systems using that (even if that's indeed very unlikely).  That's 
> why
> I suggested to make it still do something (doing "nothing", aka keeping 
> generic
> is probably worse than dropping).  I guess having -march=knl behave 
> differently
> is also bad so I guess there's not a good solution for that.
To avoid confusion,  I prefer to remove all of them.
>
> So - just to have made the above point, I'm fine with what x86 maintainers
> decide here.
>
> Richard.
>
> > Thx,
> > Haochen
> >
> > >
> > > >
> > > > > > 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.
> > >
> > > That is nicer. I will take that in GCC 15 patch.
> > >
> > > Thx,
> > > Haochen
> > >
> > > >
> > > > 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
> > > > > > >



-- 
BR,
Hongtao

Reply via email to