https://gcc.gnu.org/g:c2c4e74192450eb4b204547db72d95aaa1a13155

commit r15-11200-gc2c4e74192450eb4b204547db72d95aaa1a13155
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.
    
    (cherry picked from commit 5c556f9f539a9493fea9401f2e106bfd8be9ed5e)

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 0eee05de533c..a79a2cdda2e6 100644
--- a/gcc/config/i386/x86-tune.def
+++ b/gcc/config/i386/x86-tune.def
@@ -514,7 +514,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))
 
 /* X86_TUNE_USE_SCATTER_2PARTS: Use scater instructions for vectors with 2
@@ -525,7 +525,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))
 
 /* X86_TUNE_USE_SCATTER_4PARTS: Use scater instructions for vectors with 4

Reply via email to