Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
On Wed, Dec 6, 2023 at 3:52 PM Richard Biener wrote: > > On Wed, Dec 6, 2023 at 3:33 AM Jiang, Haochen wrote: > > > > > -Original Message- > > > From: Jiang, Haochen > > > Sent: Friday, December 1, 2023 4:51 PM > > > To: Richard Biener > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > > > ubiz...@gmail.com > > > Subject: RE: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > > > > > > -Original Message- > > > > From: Richard Biener > > > > Sent: Friday, December 1, 2023 4:37 PM > > > > To: Jiang, Haochen > > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > > > > ubiz...@gmail.com > > > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > > > > > > > On Fri, Dec 1, 2023 at 8:34 AM Jiang, Haochen > > > > wrote: > > > > > > > > > > > -Original Message----- > > > > > > From: Richard Biener > > > > > > Sent: Friday, December 1, 2023 3:04 PM > > > > > > To: Jiang, Haochen > > > > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > > > > > > ubiz...@gmail.com > > > > > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > > > > > > > > > > > On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang > > > > > > > > > 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 > &g
Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
On Wed, Dec 6, 2023 at 3:33 AM Jiang, Haochen wrote: > > > -Original Message- > > From: Jiang, Haochen > > Sent: Friday, December 1, 2023 4:51 PM > > To: Richard Biener > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > > ubiz...@gmail.com > > Subject: RE: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > > > > -Original Message- > > > From: Richard Biener > > > Sent: Friday, December 1, 2023 4:37 PM > > > To: Jiang, Haochen > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > > > ubiz...@gmail.com > > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > > > > > On Fri, Dec 1, 2023 at 8:34 AM Jiang, Haochen > > > wrote: > > > > > > > > > -Original Message- > > > > > From: Richard Biener > > > > > Sent: Friday, December 1, 2023 3:04 PM > > > > > To: Jiang, Haochen > > > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > > > > > ubiz...@gmail.com > > > > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > > > > > > > > > On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang > > > > > > > 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 > > > > > > > > > > > > > > Ric
RE: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> -Original Message- > From: Richard Biener > Sent: Friday, December 1, 2023 4:37 PM > To: Jiang, Haochen > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > ubiz...@gmail.com > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > On Fri, Dec 1, 2023 at 8:34 AM Jiang, Haochen > wrote: > > > > > -Original Message- > > > From: Richard Biener > > > Sent: Friday, December 1, 2023 3:04 PM > > > To: Jiang, Haochen > > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > > > ubiz...@gmail.com > > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > > > > > On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang > > > 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/avx5
Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
On Fri, Dec 1, 2023 at 8:34 AM Jiang, Haochen wrote: > > > -Original Message- > > From: Richard Biener > > Sent: Friday, December 1, 2023 3:04 PM > > To: Jiang, Haochen > > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > > ubiz...@gmail.com > > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > > > On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang > > 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
RE: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
> -Original Message- > From: Richard Biener > Sent: Friday, December 1, 2023 3:04 PM > To: Jiang, Haochen > Cc: gcc-patches@gcc.gnu.org; Liu, Hongtao ; > ubiz...@gmail.com > Subject: Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated > > On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang > 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
Re: [PATCH] i386: Mark Xeon Phi ISAs as deprecated
On Fri, Dec 1, 2023 at 3:22 AM Haochen Jiang 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. > * g
[PATCH] i386: Mark Xeon Phi ISAs as deprecated
Since Knight Landing and Knight Mill microarchitectures are EOL, we would like to remove its support in GCC 15. In GCC 14, we will first emit a warning for the usage. gcc/ChangeLog: * config/i386/driver-i386.cc (host_detect_local_cpu): Do not append "-mno-" for Xeon Phi ISAs. * config/i386/i386-options.cc (ix86_option_override_internal): Emit a warning for KNL/KNM targets. * config/i386/i386.opt: Emit a warning for Xeon Phi ISAs. gcc/testsuite/ChangeLog: * g++.dg/other/i386-2.C: Adjust testcases. * g++.dg/other/i386-3.C: Ditto. * g++.dg/pr80481.C: Ditto. * gcc.dg/pr71279.c: Ditto. * gcc.target/i386/avx5124fmadd-v4fmaddps-1.c: Ditto. * gcc.target/i386/avx5124fmadd-v4fmaddps-2.c: Ditto. * gcc.target/i386/avx5124fmadd-v4fmaddss-1.c: Ditto. * gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c: Ditto. * gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c: Ditto. * gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c: Ditto. * gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c: Ditto. * gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c: Ditto. * gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c: Ditto. * gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c: Ditto. * gcc.target/i386/avx512er-vexp2pd-1.c: Ditto. * gcc.target/i386/avx512er-vexp2pd-2.c: Ditto. * gcc.target/i386/avx512er-vexp2ps-1.c: Ditto. * gcc.target/i386/avx512er-vexp2ps-2.c: Ditto. * gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto. * gcc.target/i386/avx512er-vrcp28pd-2.c: Ditto. * gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto. * gcc.target/i386/avx512er-vrcp28ps-2.c: Ditto. * gcc.target/i386/avx512er-vrcp28ps-3.c: Ditto. * gcc.target/i386/avx512er-vrcp28ps-4.c: Ditto. * gcc.target/i386/avx512er-vrcp28sd-1.c: Ditto. * gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto. * gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto. * gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28pd-1.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28pd-2.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ps-2.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ps-4.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ps-6.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto. * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto. * gcc.target/i386/avx512f-gather-1.c: Ditto. * gcc.target/i386/avx512f-gather-2.c: Ditto. * gcc.target/i386/avx512f-gather-3.c: Ditto. * gcc.target/i386/avx512f-gather-4.c: Ditto. * gcc.target/i386/avx512f-gather-5.c: Ditto. * gcc.target/i386/avx512f-i32gatherd512-1.c: Ditto. * gcc.target/i386/avx512f-i32gatherd512-2.c: Ditto. * gcc.target/i386/avx512f-i32gatherpd512-1.c: Ditto. * gcc.target/i386/avx512f-i32gatherpd512-2.c: Ditto. * gcc.target/i386/avx512f-i32gatherps512-1.c: Ditto. * gcc.target/i386/avx512f-vect-perm-1.c: Ditto. * gcc.target/i386/avx512f-vect-perm-2.c: Ditto. * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Ditto. * gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Ditto. * gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto. * gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Ditto. * gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto. * gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Ditto. * gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto. * gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Ditto. * gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto. * gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Ditto. * gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto. * gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Ditto. * gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto. * gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Ditto. * gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto. * gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Ditto. * gcc.target/i386/funcspec-56.inc: Ditto. * gcc.target/i386/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