Message ID | 20221207063644.100134-1-hongyu.wang@intel.com |
---|---|
State | New |
Headers | show |
Series | i386: Avoid fma_chain for -march=alderlake and sapphirerapids. | expand |
On Wed, Dec 7, 2022 at 7:36 AM Hongyu Wang <hongyu.wang@intel.com> wrote: > > For Alderlake there is similar issue like PR 81616, enable > avoid_fma256_chain will also benefit on Intel latest platforms > Alderlake and Sapphire Rapids. > > Bootstrapped/regtested on x86_64-pc-linux-gnu{-m32,}. > > Ok for master? > > gcc/ChangeLog: > > * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add > m_SAPPHIRERAPIDS, m_ALDERLAKE and m_CORE_ATOM. OK. Thanks, Uros. > --- > gcc/config/i386/x86-tune.def | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def > index cd66f335113..db85de20bae 100644 > --- a/gcc/config/i386/x86-tune.def > +++ b/gcc/config/i386/x86-tune.def > @@ -499,7 +499,8 @@ DEF_TUNE (X86_TUNE_AVOID_128FMA_CHAINS, "avoid_fma_chains", m_ZNVER) > > /* X86_TUNE_AVOID_256FMA_CHAINS: Avoid creating loops with tight 256bit or > smaller FMA chain. */ > -DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3) > +DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3 > + | m_ALDERLAKE | m_SAPPHIRERAPIDS | m_CORE_ATOM) > > /* X86_TUNE_V2DF_REDUCTION_PREFER_PHADDPD: Prefer haddpd > for v2df vector reduction. */ > -- > 2.18.1 >
If there is no objection, I'm going to backport the m_SAPPHIRERAPIDS and m_ALDERLAKE change to GCC 12. Uros Bizjak via Gcc-patches <gcc-patches@gcc.gnu.org> 于2022年12月7日周三 15:11写道: > > On Wed, Dec 7, 2022 at 7:36 AM Hongyu Wang <hongyu.wang@intel.com> wrote: > > > > For Alderlake there is similar issue like PR 81616, enable > > avoid_fma256_chain will also benefit on Intel latest platforms > > Alderlake and Sapphire Rapids. > > > > Bootstrapped/regtested on x86_64-pc-linux-gnu{-m32,}. > > > > Ok for master? > > > > gcc/ChangeLog: > > > > * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add > > m_SAPPHIRERAPIDS, m_ALDERLAKE and m_CORE_ATOM. > > OK. > > Thanks, > Uros. > > > --- > > gcc/config/i386/x86-tune.def | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def > > index cd66f335113..db85de20bae 100644 > > --- a/gcc/config/i386/x86-tune.def > > +++ b/gcc/config/i386/x86-tune.def > > @@ -499,7 +499,8 @@ DEF_TUNE (X86_TUNE_AVOID_128FMA_CHAINS, "avoid_fma_chains", m_ZNVER) > > > > /* X86_TUNE_AVOID_256FMA_CHAINS: Avoid creating loops with tight 256bit or > > smaller FMA chain. */ > > -DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3) > > +DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3 > > + | m_ALDERLAKE | m_SAPPHIRERAPIDS | m_CORE_ATOM) > > > > /* X86_TUNE_V2DF_REDUCTION_PREFER_PHADDPD: Prefer haddpd > > for v2df vector reduction. */ > > -- > > 2.18.1 > >
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def index cd66f335113..db85de20bae 100644 --- a/gcc/config/i386/x86-tune.def +++ b/gcc/config/i386/x86-tune.def @@ -499,7 +499,8 @@ DEF_TUNE (X86_TUNE_AVOID_128FMA_CHAINS, "avoid_fma_chains", m_ZNVER) /* X86_TUNE_AVOID_256FMA_CHAINS: Avoid creating loops with tight 256bit or smaller FMA chain. */ -DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3) +DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3 + | m_ALDERLAKE | m_SAPPHIRERAPIDS | m_CORE_ATOM) /* X86_TUNE_V2DF_REDUCTION_PREFER_PHADDPD: Prefer haddpd for v2df vector reduction. */