diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-08-11 17:53:41 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-08-11 17:53:41 +0000 |
commit | aca0ff163f3c0422c5b9ff4c2ed9fc87ddc0f399 (patch) | |
tree | 02e3ed75828606fc00f2a1cda3ed1a9d417d8cd9 /libgcc | |
parent | b58b6104cb675cda90beb8c4e5c138d19951be70 (diff) | |
download | gcc-aca0ff163f3c0422c5b9ff4c2ed9fc87ddc0f399.tar.gz |
libgcc/ChangeLog:
PR target/66954
* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL.
(get_available_features): Handle FEATURE_PCLMUL.
gcc/ChangeLog:
PR target/66954
* config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
to enum feature_priority and feature_list.
(fold_builtin_cpu): Add F_PCLMUL to enum processor_features
and isa_names_table.
gcc/testsuite/ChangeLog:
PR target/66954
* g++.dg/ext/mv25.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226784 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 6 | ||||
-rw-r--r-- | libgcc/config/i386/cpuinfo.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 95a10f22348..062bbe924dd 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,9 @@ +2015-08-11 Uros Bizjak <ubizjak@gmail.com> + + PR target/66954 + * config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL. + (get_available_features): Handle FEATURE_PCLMUL. + 2015-08-10 H.J. Lu <hongjiu.lu@intel.com> * config/i386/cpuinfo.c (get_intel_cpu): Treat model == 0x4f as diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index 57711d01bea..25d85e4bedd 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -101,7 +101,8 @@ enum processor_features FEATURE_AVX512F, FEATURE_BMI, FEATURE_BMI2, - FEATURE_AES + FEATURE_AES, + FEATURE_PCLMUL }; struct __processor_model @@ -277,6 +278,8 @@ get_available_features (unsigned int ecx, unsigned int edx, features |= (1 << FEATURE_POPCNT); if (ecx & bit_AES) features |= (1 << FEATURE_AES); + if (ecx & bit_PCLMUL) + features |= (1 << FEATURE_PCLMUL); if (ecx & bit_SSE3) features |= (1 << FEATURE_SSE3); if (ecx & bit_SSSE3) |