i386: Mark Xeon Phi ISAs as deprecated

Message ID 20231201022100.955917-2-haochen.jiang@intel.com
State New
Headers
Series i386: Mark Xeon Phi ISAs as deprecated |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-arm fail Patch failed to apply
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 fail Patch failed to apply

Commit Message

Jiang, Haochen Dec. 1, 2023, 2:21 a.m. UTC
  Since Knight Landing and Knight Mill microarchitectures are EOL, we
would like to remove its support in GCC 15. In GCC 14, we will first
emit a warning for the usage.

gcc/ChangeLog:

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

gcc/testsuite/ChangeLog:

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

Comments

Richard Biener Dec. 1, 2023, 7:04 a.m. UTC | #1
On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang <haochen.jiang@intel.com> wrote:
>
> Since Knight Landing and Knight Mill microarchitectures are EOL, we
> would like to remove its support in GCC 15. In GCC 14, we will first
> emit a warning for the usage.

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

Richard.

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

> 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.

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
> >
  
Richard Biener Dec. 1, 2023, 8:37 a.m. UTC | #3
On Fri, Dec 1, 2023 at 8:34 AM Jiang, Haochen <haochen.jiang@intel.com> wrote:
>
> > -----Original Message-----
> > From: Richard Biener <richard.guenther@gmail.com>
> > Sent: Friday, December 1, 2023 3:04 PM
> > To: Jiang, Haochen <haochen.jiang@intel.com>
> > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <hongtao.liu@intel.com>;
> > ubizjak@gmail.com
> > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> >
> > On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang <haochen.jiang@intel.com>
> > wrote:
> > >
> > > Since Knight Landing and Knight Mill microarchitectures are EOL, we
> > > would like to remove its support in GCC 15. In GCC 14, we will first
> > > emit a warning for the usage.
> >
> > I think it's better to keep supporting -mtune/arch=knl without diagnostics
>
> I see, it could be a choice and might be better. But if we take this, how should
> we define -mtune=knl remains a question.

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

> > but simply not enable the ISAs we don't support.  The better question is
> > what to do about KNL specific intrinsics headers / intrinsics?  Will we
> > simply remove those?
>
> If there is no objection, The intrinsics are planned to be removed in GCC 15.
> As far as concerned, almost nobody are using them with the latest GCC. And
> there is no complaint when removing them in ICC/ICX.

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

Richard.

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

> 
> > > 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
> > > >
  
Jiang, Haochen Dec. 6, 2023, 2:32 a.m. UTC | #5
> -----Original Message-----
> From: Jiang, Haochen
> Sent: Friday, December 1, 2023 4:51 PM
> To: Richard Biener <richard.guenther@gmail.com>
> Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <Hongtao.Liu@intel.com>;
> ubizjak@gmail.com
> Subject: RE: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> 
> > -----Original Message-----
> > From: Richard Biener <richard.guenther@gmail.com>
> > Sent: Friday, December 1, 2023 4:37 PM
> > To: Jiang, Haochen <haochen.jiang@intel.com>
> > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <hongtao.liu@intel.com>;
> > ubizjak@gmail.com
> > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> >
> > On Fri, Dec 1, 2023 at 8:34 AM Jiang, Haochen <haochen.jiang@intel.com>
> > wrote:
> > >
> > > > -----Original Message-----
> > > > From: Richard Biener <richard.guenther@gmail.com>
> > > > Sent: Friday, December 1, 2023 3:04 PM
> > > > To: Jiang, Haochen <haochen.jiang@intel.com>
> > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <hongtao.liu@intel.com>;
> > > > ubizjak@gmail.com
> > > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> > > >
> > > > On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang
> <haochen.jiang@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?

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
> > > > >
  
Richard Biener Dec. 6, 2023, 7:47 a.m. UTC | #6
On Wed, Dec 6, 2023 at 3:33 AM Jiang, Haochen <haochen.jiang@intel.com> wrote:
>
> > -----Original Message-----
> > From: Jiang, Haochen
> > Sent: Friday, December 1, 2023 4:51 PM
> > To: Richard Biener <richard.guenther@gmail.com>
> > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <Hongtao.Liu@intel.com>;
> > ubizjak@gmail.com
> > Subject: RE: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> >
> > > -----Original Message-----
> > > From: Richard Biener <richard.guenther@gmail.com>
> > > Sent: Friday, December 1, 2023 4:37 PM
> > > To: Jiang, Haochen <haochen.jiang@intel.com>
> > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <hongtao.liu@intel.com>;
> > > ubizjak@gmail.com
> > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> > >
> > > On Fri, Dec 1, 2023 at 8:34 AM Jiang, Haochen <haochen.jiang@intel.com>
> > > wrote:
> > > >
> > > > > -----Original Message-----
> > > > > From: Richard Biener <richard.guenther@gmail.com>
> > > > > Sent: Friday, December 1, 2023 3:04 PM
> > > > > To: Jiang, Haochen <haochen.jiang@intel.com>
> > > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <hongtao.liu@intel.com>;
> > > > > ubizjak@gmail.com
> > > > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> > > > >
> > > > > On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang
> > <haochen.jiang@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.

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
> > > > > >
  
Hongtao Liu Dec. 8, 2023, 6:06 a.m. UTC | #7
On Wed, Dec 6, 2023 at 3:52 PM Richard Biener
<richard.guenther@gmail.com> wrote:
>
> On Wed, Dec 6, 2023 at 3:33 AM Jiang, Haochen <haochen.jiang@intel.com> wrote:
> >
> > > -----Original Message-----
> > > From: Jiang, Haochen
> > > Sent: Friday, December 1, 2023 4:51 PM
> > > To: Richard Biener <richard.guenther@gmail.com>
> > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <Hongtao.Liu@intel.com>;
> > > ubizjak@gmail.com
> > > Subject: RE: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> > >
> > > > -----Original Message-----
> > > > From: Richard Biener <richard.guenther@gmail.com>
> > > > Sent: Friday, December 1, 2023 4:37 PM
> > > > To: Jiang, Haochen <haochen.jiang@intel.com>
> > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <hongtao.liu@intel.com>;
> > > > ubizjak@gmail.com
> > > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> > > >
> > > > On Fri, Dec 1, 2023 at 8:34 AM Jiang, Haochen <haochen.jiang@intel.com>
> > > > wrote:
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Richard Biener <richard.guenther@gmail.com>
> > > > > > Sent: Friday, December 1, 2023 3:04 PM
> > > > > > To: Jiang, Haochen <haochen.jiang@intel.com>
> > > > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao <hongtao.liu@intel.com>;
> > > > > > ubizjak@gmail.com
> > > > > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> > > > > >
> > > > > > On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang
> > > <haochen.jiang@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
> > > > > > >
  

Patch

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"