gcc/libgcc
Andrew Senkevich 79fc8ffe6c Enable AVX-512 VPOPCNTD/VPOPCNTQ instructions.
gcc/
	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
	OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
	* config.gcc: Add avx512vpopcntdqintrin.h.
	* config/i386/avx512vpopcntdqintrin.h: New.
	* config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
	* config/i386/i386-builtin-types.def: Add new types.
	* config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
	__builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
	__builtin_ia32_vpopcountq_v8di_mask): New.
	* config/i386/i386-c.c (ix86_target_macros_internal): Define
	__AVX512VPOPCNTDQ__.
	* config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
	(PTA_AVX512VPOPCNTDQ): Define.
	* config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
	TARGET_AVX512VPOPCNTDQ_P): Define.
	* config/i386/i386.opt: Add mavx512vpopcntdq.
	* config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
	* config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.

libgcc/
	* config/i386/cpuinfo.h (processor_features): Add
	FEATURE_AVX512VPOPCNTDQ.
	* config/i386/cpuinfo.c (get_available_features): Habdle new
	feature.

gcc/testsuite/
	* g++.dg/other/i386-2.C: Add -mavx512vpopcntdq.
	* g++.dg/other/i386-3.C: Ditto.
	* gcc.target/i386/sse-12.c: Ditto.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-22.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.
	* gcc.target/i386/builtin_target.c: Handle new option.
	* gcc.target/i386/funcspec-56.inc: Test new attributes.
	* gcc.target/i386/avx512vpopcntdq-vpopcntd.c: New test.
	* gcc.target/i386/avx512vpopcntdq-vpopcntq.c: Ditto.

From-SVN: r244263
2017-01-10 12:55:41 +00:00
..
config Enable AVX-512 VPOPCNTD/VPOPCNTQ instructions. 2017-01-10 12:55:41 +00:00
soft-fp
ChangeLog Enable AVX-512 VPOPCNTD/VPOPCNTQ instructions. 2017-01-10 12:55:41 +00:00
config.host Update copyright years. 2017-01-01 13:07:43 +01:00
config.in
configure Update configure deps, remove stray \xA0 in picflag.m4, regenerate 2017-01-04 18:59:34 +10:30
configure.ac
crtstuff.c Update copyright years. 2017-01-01 13:07:43 +01:00
dfp-bit.c Update copyright years. 2017-01-01 13:07:43 +01:00
dfp-bit.h Update copyright years. 2017-01-01 13:07:43 +01:00
divmod.c Update copyright years. 2017-01-01 13:07:43 +01:00
empty.mk
emutls.c Update copyright years. 2017-01-01 13:07:43 +01:00
enable-execute-stack-empty.c
enable-execute-stack-mprotect.c Update copyright years. 2017-01-01 13:07:43 +01:00
find-symver.awk Update copyright years. 2017-01-01 13:07:43 +01:00
fixed-bit.c Update copyright years. 2017-01-01 13:07:43 +01:00
fixed-bit.h Update copyright years. 2017-01-01 13:07:43 +01:00
fixed-obj.mk
floatunsidf.c
floatunsisf.c
floatunsitf.c
floatunsixf.c
fp-bit.c Update copyright years. 2017-01-01 13:07:43 +01:00
fp-bit.h Update copyright years. 2017-01-01 13:07:43 +01:00
gbl-ctors.h Update copyright years. 2017-01-01 13:07:43 +01:00
gen-fixed.sh
generic-morestack-thread.c Update copyright years. 2017-01-01 13:07:43 +01:00
generic-morestack.c Update copyright years. 2017-01-01 13:07:43 +01:00
generic-morestack.h Update copyright years. 2017-01-01 13:07:43 +01:00
gstdint.h
gthr-posix.h Update copyright years. 2017-01-01 13:07:43 +01:00
gthr-single.h Update copyright years. 2017-01-01 13:07:43 +01:00
gthr.h Update copyright years. 2017-01-01 13:07:43 +01:00
libgcc2.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcc2.h Update copyright years. 2017-01-01 13:07:43 +01:00
libgcc-std.ver.in Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-driver-system.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-driver.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-interface.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-merge.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-profiler.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-util.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov.h Update copyright years. 2017-01-01 13:07:43 +01:00
Makefile.in Update configure deps, remove stray \xA0 in picflag.m4, regenerate 2017-01-04 18:59:34 +10:30
memcmp.c
memcpy.c
memmove.c
memset.c
mkheader.sh Update copyright years. 2017-01-01 13:07:43 +01:00
mkmap-flat.awk Update copyright years. 2017-01-01 13:07:43 +01:00
mkmap-symver.awk Update copyright years. 2017-01-01 13:07:43 +01:00
offloadstuff.c Update copyright years. 2017-01-01 13:07:43 +01:00
shared-object.mk
siditi-object.mk
static-object.mk
sync.c Update copyright years. 2017-01-01 13:07:43 +01:00
udivmod.c Update copyright years. 2017-01-01 13:07:43 +01:00
udivmodsi4.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-arm-common.inc Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-compat.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-compat.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2-fde-compat.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2-fde-dip.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2-fde.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2-fde.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-generic.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-pe.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-seh.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-sjlj.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind.inc Update copyright years. 2017-01-01 13:07:43 +01:00
vtv_end_preinit.c Update copyright years. 2017-01-01 13:07:43 +01:00
vtv_end.c Update copyright years. 2017-01-01 13:07:43 +01:00
vtv_start_preinit.c Update copyright years. 2017-01-01 13:07:43 +01:00
vtv_start.c Update copyright years. 2017-01-01 13:07:43 +01:00