diff --git a/0028-i386-Avoid-fma_chain-for-march-alderlake-and-sapphir.patch b/0028-i386-Avoid-fma_chain-for-march-alderlake-and-sapphir.patch new file mode 100644 index 0000000000000000000000000000000000000000..ad6596535b02e6ed98f05765443cf731c297c031 --- /dev/null +++ b/0028-i386-Avoid-fma_chain-for-march-alderlake-and-sapphir.patch @@ -0,0 +1,35 @@ +From b7980cd8d8bcf41b3ca1b6f3ba147789d42a9b99 Mon Sep 17 00:00:00 2001 +From: Hongyu Wang +Date: Tue, 6 Dec 2022 09:53:35 +0800 +Subject: [PATCH] i386: Avoid fma_chain for -march=alderlake and + sapphirerapids. + +For Alderlake there is similar issue like PR 81616, enable +avoid_fma256_chain will also benefit on Intel latest platforms +Alderlake and Sapphire Rapids. + +gcc/ChangeLog: + + * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add + m_SAPPHIRERAPIDS, m_ALDERLAKE. +--- + 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 d983e2f6213..1e1b206a71c 100644 +--- a/gcc/config/i386/x86-tune.def ++++ b/gcc/config/i386/x86-tune.def +@@ -485,7 +485,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) + + /* X86_TUNE_V2DF_REDUCTION_PREFER_PHADDPD: Prefer haddpd + for v2df vector reduction. */ +-- +2.18.2 + diff --git a/gcc.spec b/gcc.spec index 13021265bff8eb5000abe2b9b426b4b75abf5196..95a3e448578379d454c91fba4c47e0721841f53f 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,4 +1,4 @@ -%define anolis_release .0.1 +%define anolis_release .0.2 %global __python /usr/bin/python3 %{?scl:%global __strip %%{_scl_root}/usr/bin/strip} %{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump} @@ -392,6 +392,7 @@ Patch3021: 0024-Remove-AVX512_VP2INTERSECT-from-PTA_SAPPHIRERAPIDS.patch Patch3022: 0025-Add-attribute-hot-judgement-for-INLINE_HINT_known_ho.patch Patch3023: 0026-Enable-small-loop-unrolling-for-O2.patch Patch3024: 0027-i386-Only-enable-small-loop-unrolling-in-backend-PR-.patch +Patch3025: 0028-i386-Avoid-fma_chain-for-march-alderlake-and-sapphir.patch %if 0%{?rhel} == 9 %global nonsharedver 110 @@ -802,6 +803,7 @@ cd .. %patch3022 -p1 -b .dts-test-22~ %patch3023 -p1 -b .dts-test-23~ %patch3024 -p1 -b .dts-test-24~ +%patch3025 -p1 -b .dts-test-25~ find gcc/testsuite -name \*.pr96939~ | xargs rm -f @@ -2968,6 +2970,9 @@ fi %endif %changelog +* Tue Dec 27 2022 Hongyu Wang 12.1.1-3.2.0.2 +- i386: Avoid fma_chain for -march=alderlake and sapphirerapids + * Thu Dec 22 2022 Haochen Jiang 12.1.1-3.2.0.1 - i386: Add syscall to enable AMX for latest kernels - Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS