AVX-512. Introduce SKylake server CPU.
authorKirill Yukhin <kirill.yukhin@intel.com>
Tue, 22 Sep 2015 11:10:21 +0000 (11:10 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Tue, 22 Sep 2015 11:10:21 +0000 (11:10 +0000)
commit06caf59d7ff9f9f97718a96cb23da50e5ba5edd8
tree1c9c33c2bf4187c5dd8b7f478522a18fab88bd68
parent7095d6f2ebbc17713a5ce18c45455476b402d166
AVX-512. Introduce SKylake server CPU.

gcc/
* config.gcc: Support "skylake-avx512".
        * config/i386/i386-c.c (ix86_target_macros_internal): Handle
        PROCESSOR_SKYLAKE_AVX512.
        * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
        (processor_target_table): Add "skylake-avx512".
        (PTA_SKYLAKE_AVX512): Define.
(ix86_option_override_internal): Add "skylake_avx512".
        (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
        * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
        (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
* doc/invoke.texi (skylake-avx512): New.

libgcc/
* libgcc/config/i386/cpuinfo.c (enum processor_features): Add
FEATURE_AVX512VL, FEATURE_AVX512BW, FEATURE_AVX512DQ,
FEATURE_AVX512CD, FEATURE_AVX512ER, FEATURE_AVX512PF.
(get_available_features): Habdle new features.

gcc/testsuite/
        * gcc.target/i386/funcspec-5.c: Test avx512vl, avx512bw,
avx512dq, avx512cd, avx512er, avx512pf and skylake-avx512.
* gcc.target/i386/builtin_target.c: Test  avx512vl, avx512bw,
avx512dq, avx512cd, avx512er and avx512pf.

From-SVN: r228009
gcc/ChangeLog
gcc/config.gcc
gcc/config/i386/i386-c.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/builtin_target.c
gcc/testsuite/gcc.target/i386/funcspec-5.c
libgcc/ChangeLog
libgcc/config/i386/cpuinfo.c