Hi, this patch adds new option -march=icelake. Isasets defined in: 
https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf
I didn't add arch code to driver-i386.c, because there is no code available in 
SDM yet, only for cannonlake 
(https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf
 Chapter 2).

gcc/
        * config.gcc: Add -march=icelake.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect icelake.
        * config/i386/i386-c.c (ix86_target_macros_internal): Handle icelake.
        * config/i386/i386.c (processor_costs): Add m_ICELAKE.
        (PTA_ICELAKE, PTA2_ICELAKE, PTA2_GFNI, PTA2_AVX512VBMI2, PTA2_VAES,
        PTA2_AVX512VNNI, PTA2_VPCLMULQDQ, PTA2_RDPID, PTA2_AVX512BITALG): New.
        (processor_target_table): Add icelake.
        (ix86_option_override_internal): Add flags2 for new PTA, handle GFNI, 
RDPID.
        (get_builtin_code_for_version): Handle icelake.
        (M_INTEL_COREI7_ICELAKE): New.
        * config/i386/i386.h (TARGET_ICELAKE, PROCESSOR_ICELAKE): New.
        * doc/invoke.texi: Add -march=icelake.
gcc/testsuite/
        * gcc.target/i386/funcspec-56.inc: Handle new march.
        * g++.dg/ext/mv16.C: Ditto.
libgcc/
        * config/i386/cpuinfo.h (processor_subtypes): Add INTEL_COREI7_ICELAKE.

Attachment: 0001-icelake.patch
Description: 0001-icelake.patch

Reply via email to