diff options
author | kyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-10-02 15:25:26 +0000 |
---|---|---|
committer | kyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-10-02 15:25:26 +0000 |
commit | 767110dd1458b06ba1f2b5d60cbcfaea37e0e577 (patch) | |
tree | e1a05f69364724a4e944778896f96fba5010152a /libgcc | |
parent | 2f544bdf2d576b011cf84e37d7c19f87b523c8d7 (diff) | |
download | gcc-767110dd1458b06ba1f2b5d60cbcfaea37e0e577.tar.gz |
AVX-512. Add missing features to cpuinfo.c
gcc/
* config/i386/i386.c (processor_features): Add F_AVX512VBMI,
F_AVX512IFMA.
(isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
libgcc/
* config/i386/cpuinfo.c (processor_features): Add
FEATURE_AVX512VBMI and FEATURE_AVX512VBMI.
testsuite/
* gcc.target/i386/builtin_target.c: Handle "avx512ifma"
and "avx512vbmi".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228399 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/config/i386/cpuinfo.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index a2d39c07dfa..e534c6db959 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com> + + * config/i386/cpuinfo.c (processor_features): Add + FEATURE_AVX512VBMI and FEATURE_AVX512VBMI. + 2015-09-28 Joseph Myers <joseph@codesourcery.com> * soft-fp/adddf3.c: Update from glibc. diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index ddb49e3ad9a..40ed84cf6cb 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -110,7 +110,9 @@ enum processor_features FEATURE_AVX512DQ, FEATURE_AVX512CD, FEATURE_AVX512ER, - FEATURE_AVX512PF + FEATURE_AVX512PF, + FEATURE_AVX512VBMI, + FEATURE_AVX512IFMA }; struct __processor_model @@ -336,6 +338,10 @@ get_available_features (unsigned int ecx, unsigned int edx, features |= (1 << FEATURE_AVX512PF); if (ebx & bit_AVX512ER) features |= (1 << FEATURE_AVX512ER); + if (ebx & bit_AVX512IFMA) + features |= (1 << FEATURE_AVX512IFMA); + if (ecx & bit_AVX512VBMI) + features |= (1 << FEATURE_AVX512VBMI); } unsigned int ext_level; |