x86: Handle -mavx512vpopcntdq for -march=native
Add -mavx512vpopcntdq for -march=native if AVX512VPOPCNTDQ is available. PR target/95258 * config/i386/driver-i386.c (host_detect_local_cpu): Detect AVX512VPOPCNTDQ.
This commit is contained in:
parent
5daf69cfe9
commit
808b611bfb
|
@ -1,3 +1,9 @@
|
|||
2020-05-22 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR target/95258
|
||||
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
|
||||
AVX512VPOPCNTDQ.
|
||||
|
||||
2020-05-22 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/95268
|
||||
|
|
|
@ -420,6 +420,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
|||
unsigned int has_avx5124fmaps = 0, has_avx5124vnniw = 0;
|
||||
unsigned int has_gfni = 0, has_avx512vbmi2 = 0;
|
||||
unsigned int has_avx512bitalg = 0;
|
||||
unsigned int has_avx512vpopcntdq = 0;
|
||||
unsigned int has_shstk = 0;
|
||||
unsigned int has_avx512vnni = 0, has_vaes = 0;
|
||||
unsigned int has_vpclmulqdq = 0;
|
||||
|
@ -528,6 +529,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
|||
has_vaes = ecx & bit_VAES;
|
||||
has_vpclmulqdq = ecx & bit_VPCLMULQDQ;
|
||||
has_avx512bitalg = ecx & bit_AVX512BITALG;
|
||||
has_avx512vpopcntdq = ecx & bit_AVX512VPOPCNTDQ;
|
||||
has_movdiri = ecx & bit_MOVDIRI;
|
||||
has_movdir64b = ecx & bit_MOVDIR64B;
|
||||
has_enqcmd = ecx & bit_ENQCMD;
|
||||
|
@ -1189,6 +1191,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
|||
const char *avx512vp2intersect = has_avx512vp2intersect ? " -mavx512vp2intersect" : " -mno-avx512vp2intersect";
|
||||
const char *tsxldtrk = has_tsxldtrk ? " -mtsxldtrk " : " -mno-tsxldtrk";
|
||||
const char *avx512bitalg = has_avx512bitalg ? " -mavx512bitalg" : " -mno-avx512bitalg";
|
||||
const char *avx512vpopcntdq = has_avx512vpopcntdq ? " -mavx512vpopcntdq" : " -mno-avx512vpopcntdq";
|
||||
const char *movdiri = has_movdiri ? " -mmovdiri" : " -mno-movdiri";
|
||||
const char *movdir64b = has_movdir64b ? " -mmovdir64b" : " -mno-movdir64b";
|
||||
const char *enqcmd = has_enqcmd ? " -menqcmd" : " -mno-enqcmd";
|
||||
|
@ -1210,9 +1213,9 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
|||
avx512ifma, avx512vbmi, avx5124fmaps, avx5124vnniw,
|
||||
clwb, mwaitx, clzero, pku, rdpid, gfni, shstk,
|
||||
avx512vbmi2, avx512vnni, vaes, vpclmulqdq,
|
||||
avx512bitalg, movdiri, movdir64b, waitpkg, cldemote,
|
||||
ptwrite, avx512bf16, enqcmd, avx512vp2intersect,
|
||||
serialize, tsxldtrk, NULL);
|
||||
avx512bitalg, avx512vpopcntdq, movdiri, movdir64b,
|
||||
waitpkg, cldemote, ptwrite, avx512bf16, enqcmd,
|
||||
avx512vp2intersect, serialize, tsxldtrk, NULL);
|
||||
}
|
||||
|
||||
done:
|
||||
|
|
Loading…
Reference in New Issue