Hi:
This patch is about to add Sapphire Rapids and Alder Lake to GCC.
Sapphire Rapids is based on Cooper Lake and plus ISA 
MOVDIRI/MOVDIR64B/AVX512VP2INTERSECT/ENQCMD/CLDEMOTE/PTWRITE/WAITPKG/SERIALIZE/TSXLDTRK.
Alder Lake is based on Skylake and plus ISA CLDEMOTE/PTWRITE/WAITPK/SERIALIZE.

For detailed information, please refer to 
https://software.intel.com/content/dam/develop/public/us/en/documents/architecture-instruction-set-extensions-programming-reference.pdf

Bootstrap is ok, and no regressions for i386/x86-64 testsuite.

OK for master?

gcc/ChangeLog
        * common/config/i386/cpuinfo.h
        (get_intel_cpu): Handle sapphirerapids.
        * common/config/i386/i386-common.c
        (processor_names): Add sapphirerapids and alderlake.
        (processor_alias_table): Add sapphirerapids and alderlake.
        * common/config/i386/i386-cpuinfo.h
        (processor_subtypes): Add INTEL_COREI7_ALDERLAKE and
        INTEL_COREI7_ALDERLAKE.
        * config.gcc: Add -march=sapphirerapids and alderlake.
        * config/i386/driver-i386.c
        (host_detect_local_cpu) Handle sapphirerapids and alderlake.
        * config/i386/i386-c.c
        (ix86_target_macros_internal): Handle sapphirerapids and alderlake.
        * config/i386/i386-options.c
        (m_SAPPHIRERAPIDS) : Define.
        (m_ALDERLAKE): Ditto.
        (m_CORE_AVX512) : Add m_SAPPHIRERAPIDS.
        (processor_cost_table): Add sapphirerapids and alderlake.
        (ix86_option_override_internal) Handle PTA_WAITPKG, PTA_ENQCMD,
        PTA_CLDEMOTE, PTA_SERIALIZE, PTA_TSXLDTRK.
        * config/i386/i386.h
        (ix86_size_cost) : Define SAPPHIRERAPIDS and ALDERLAKE.
        (processor_type) : Add PROCESSOR_SAPPHIRERAPIDS and
        PROCESSOR_ALDERLAKE.
        (PTA_ENQCMD): New.
        (PTA_CLDEMOTE): Ditto.
        (PTA_SERIALIZE): Ditto.
        (PTA_TSXLDTRK): New.
        (PTA_SAPPHIRERAPIDS): Ditto.
        (PTA_ALDERLAKE): Ditto.
        (processor_type) : Add PROCESSOR_SAPPHIRERAPIDS and
        PROCESSOR_ALDERLAKE.
        * doc/extend.texi: Add sapphirerapids and alderlake.
        * doc/invoke.texi: Add sapphirerapids and alderlake.

gcc/testsuite/ChangeLog
        * gcc.target/i386/funcspec-56.inc: Handle new march.
        * g++.target/i386/mv16.C: Handle new march

Thanks,
Lili.

Attachment: 0001-Initial-Sapphire-Rapids-and-Alder-Lake-support-from-.patch
Description: 0001-Initial-Sapphire-Rapids-and-Alder-Lake-support-from-.patch

Reply via email to