https://gcc.gnu.org/g:5c556f9f539a9493fea9401f2e106bfd8be9ed5e
commit r17-822-g5c556f9f539a9493fea9401f2e106bfd8be9ed5e Author: liuhongt <[email protected]> Date: Mon May 25 22:40:00 2026 -0700 i386: Disable use_gather_2parts and use_gather_4parts for Diamond Rapids DMR architecture achieves optimal pipeline utilization and parallelism for gather emulation with 2/4-element vector. Adjust the tune accordingly. gcc/ChangeLog: * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable for m_DIAMONDRAPIDS. (X86_TUNE_USE_GATHER_4PARTS): Likewise. Diff: --- gcc/config/i386/x86-tune.def | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def index 04036ff04b53..202b38ad50b7 100644 --- a/gcc/config/i386/x86-tune.def +++ b/gcc/config/i386/x86-tune.def @@ -534,7 +534,7 @@ DEF_TUNE (X86_TUNE_AVOID_4BYTE_PREFIXES, "avoid_4byte_prefixes", /* X86_TUNE_USE_GATHER_2PARTS: Use gather instructions for vectors with 2 elements. */ DEF_TUNE (X86_TUNE_USE_GATHER_2PARTS, "use_gather_2parts", - ~(m_ZNVER | m_CORE_HYBRID + ~(m_ZNVER | m_CORE_HYBRID | m_DIAMONDRAPIDS | m_YONGFENG | m_SHIJIDADAO | m_CORE_ATOM | m_GENERIC | m_GDS | m_C86_4G)) @@ -547,7 +547,7 @@ DEF_TUNE (X86_TUNE_USE_SCATTER_2PARTS, "use_scatter_2parts", /* X86_TUNE_USE_GATHER_4PARTS: Use gather instructions for vectors with 4 elements. */ DEF_TUNE (X86_TUNE_USE_GATHER_4PARTS, "use_gather_4parts", - ~(m_ZNVER | m_CORE_HYBRID + ~(m_ZNVER | m_CORE_HYBRID | m_DIAMONDRAPIDS | m_YONGFENG | m_SHIJIDADAO | m_CORE_ATOM | m_GENERIC | m_GDS | m_C86_4G))
