diff options
author | Ilya Tocar <ilya.tocar@intel.com> | 2014-11-27 13:51:10 +0000 |
---|---|---|
committer | Ilya Tocar <tocarip@gcc.gnu.org> | 2014-11-27 16:51:10 +0300 |
commit | c17eac85616572b7e1163cfb87d95a7875c89407 (patch) | |
tree | 385214d175b54af12c5051b97d93c7d7e00ebbd0 /libgcc | |
parent | 1025cb6c0d6cd25f32e301c764ffa83d208e1961 (diff) | |
download | gcc-c17eac85616572b7e1163cfb87d95a7875c89407.tar.gz |
Support avx512f in __builtin_cpu_supports.
gcc/
* config/i386/cpuid.h (bit_MPX, bit_BNDREGS, bit_BNDCSR):
Define.
* config/i386/i386.c (get_builtin_code_for_version): Add avx512f.
(fold_builtin_cpu): Ditto.
* doc/extend.texi: Documment it.
gcc/testsuite/
* g++.dg/ext/mv2.C: Add test for target ("avx512f").
* gcc.target/i386/builtin_target.c: Ditto.
libgcc/
* config/i386/cpuinfo.c (processor_features): Add FEATURE_AVX512F.
* config/i386/cpuinfo.c (get_available_features): Detect it.
From-SVN: r218125
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/config/i386/cpuinfo.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index ea3fdc87845..16114a7471e 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2014-11-27 Ilya Tocar <ilya.tocar@intel.com> + + * config/i386/cpuinfo.c (processor_features): Add FEATURE_AVX512F. + * config/i386/cpuinfo.c (get_available_features): Detect it. + 2014-11-27 Tony Wang <tony.wang@arm.com> * config/arm/lib1funcs.S (FUNC_START): Add conditional section diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index 6ff7502bb9a..8ca385cb977 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -96,7 +96,8 @@ enum processor_features FEATURE_SSE4_A, FEATURE_FMA4, FEATURE_XOP, - FEATURE_FMA + FEATURE_FMA, + FEATURE_AVX512F }; struct __processor_model @@ -278,6 +279,8 @@ get_available_features (unsigned int ecx, unsigned int edx, __cpuid_count (7, 0, eax, ebx, ecx, edx); if (ebx & bit_AVX2) features |= (1 << FEATURE_AVX2); + if (ebx & bit_AVX512F) + features |= (1 << FEATURE_AVX512F); } unsigned int ext_level; |