gcc/libgcc/config
Hongtao Liu 4f0e90fae9 Enable support for bfloat16 which will be in Future Cooper Lake.
There are 3 instructions for AVX512BF16: VCVTNE2PS2BF16, VCVTNEPS2BF16 and
DPBF16PS instructions, which are Vector Neural Network Instructions
supporting:
    
- VCVTNE2PS2BF16: Convert Two Packed Single Data to One Packed BF16 Data.
- VCVTNEPS2BF16: Convert Packed Single Data to Packed BF16 Data.
- VDPBF16PS: Dot Product of BF16 Pairs Accumulated into Packed Single Precision.

2019-05-07  Wei Xiao  <wei3.xiao@intel.com>

	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512BF16_SET
	OPTION_MASK_ISA_AVX512BF16_UNSET, OPTION_MASK_ISA2_AVX512BW_UNSET): New.
	(OPTION_MASK_ISA2_AVX512F_UNSET): Add OPTION_MASK_ISA_AVX512BF16_UNSET.
	(ix86_handle_option): Handle -mavx512bf16.
	* config.gcc: Add avx512bf16vlintrin.h and avx512bf16intrin.h
	to extra_headers.
	* config/i386/avx512bf16vlintrin.h: New.
	* config/i386/avx512bf16intrin.h: New.
	* config/i386/cpuid.h (bit_AVX512BF16): New.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect BF16.
	* config/i386/i386-builtin-types.def: Add new types.
	* config/i386/i386-builtin.def: Add new builtins.
	* config/i386/i386-c.c (ix86_target_macros_internal): Define
	__AVX512BF16__.
	* config/i386/i386-option.c (ix86_target_string): Add -mavx512bf16.
	(ix86_option_override_internal): Handle BF16.
	(ix86_valid_target_attribute_inner_p): Ditto.
	* config/i386/i386-expand.c (ix86_expand_args_builtin): Ditto.
	* config/i386/i386-builtin.c (enum processor_features): Add
	F_AVX512BF16.
	(static const _isa_names_table isa_names_table): Ditto.
	* config/i386/i386.h (TARGET_AVX512BF16, TARGET_AVX512BF16_P): New.
	(PTA_AVX512BF16): Ditto.
	* config/i386/i386.opt: Add -mavx512bf16.
	* config/i386/immintrin.h: Include avx512bf16intrin.h
	and avx512bf16vlintrin.h.
	* config/i386/sse.md (avx512f_cvtne2ps2bf16_<mode><mask_name>,
	avx512f_cvtneps2bf16_<mode><mask_name>,
	avx512f_dpbf16ps_<mode><mask_half_name>): New define_insn patterns.
	* config/i386/subst.md (mask_half): Add new subst.
	* doc/invoke.texi: Document -mavx512bf16.

2019-05-07  Wei Xiao  <wei3.xiao@intel.com>

	* gcc.target/i386/avx512bf16-vcvtne2ps2bf16-1.c: New test.
	* gcc.target/i386/avx512bf16-vcvtneps2bf16-1.c: New test.
	* gcc.target/i386/avx512bf16-vdpbf16ps-1.c: New test.
	* gcc.target/i386/avx512bf16vl-vcvtne2ps2bf16-1.c: New test.
	* gcc.target/i386/avx512bf16vl-vcvtneps2bf16-1.c: New test.
	* gcc.target/i386/avx512bf16vl-vdpbf16ps-1.c: New test.
	* gcc.target/i386/builtin_target.c: Handle avx512bf16.
	* gcc.target/i386/sse-12.c: Add -mavx512bf16.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-14.c: Ditto.
	* gcc.target/i386/sse-22.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.
	* g++.dg/other/i386-2.C: Ditto.
	* g++.dg/other/i386-3.C: Ditto.

2019-05-07  Hongtao Liu  <hongtao.liu@intel.com>

	* config/i386/cpuinfo.c (get_available_features): Detect BF16.
	* config/i386/cpuinfo.h (enum processor_features): Add
	FEATURE_AVX512BF16.

From-SVN: r271006
2019-05-08 10:21:40 +00:00
..
aarch64 Update copyright years. 2019-01-01 13:31:55 +01:00
alpha linux-unwind.h (alpha_fallback_frame_state): Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'. 2019-02-20 22:37:21 +01:00
arc Update copyright years. 2019-01-01 13:31:55 +01:00
arm re PR target/89093 (C++ exception handling clobbers d8 VFP register) 2019-04-23 12:03:41 +02:00
avr Update copyright years. 2019-01-01 13:31:55 +01:00
bfin Update copyright years. 2019-01-01 13:31:55 +01:00
c6x PR other/16615 [1/5] 2019-01-09 16:37:45 -05:00
cr16 Update copyright years. 2019-01-01 13:31:55 +01:00
cris Update copyright years. 2019-01-01 13:31:55 +01:00
csky Update copyright years. 2019-01-01 13:31:55 +01:00
epiphany Update copyright years. 2019-01-01 13:31:55 +01:00
fr30 Update copyright years. 2019-01-01 13:31:55 +01:00
frv Update copyright years. 2019-01-01 13:31:55 +01:00
ft32 Update copyright years. 2019-01-01 13:31:55 +01:00
gcn GCN libgcc. 2019-01-17 12:29:13 +00:00
h8300 Update copyright years. 2019-01-01 13:31:55 +01:00
i386 Enable support for bfloat16 which will be in Future Cooper Lake. 2019-05-08 10:21:40 +00:00
ia64 Update copyright years. 2019-01-01 13:31:55 +01:00
iq2000 Update copyright years. 2019-01-01 13:31:55 +01:00
libbid Update copyright years. 2019-01-01 13:31:55 +01:00
lm32 Update copyright years. 2019-01-01 13:31:55 +01:00
m32c Update copyright years. 2019-01-01 13:31:55 +01:00
m32r Update copyright years. 2019-01-01 13:31:55 +01:00
m68k Update copyright years. 2019-01-01 13:31:55 +01:00
mcore Update copyright years. 2019-01-01 13:31:55 +01:00
microblaze Update copyright years. 2019-01-01 13:31:55 +01:00
mips Update copyright years. 2019-01-01 13:31:55 +01:00
mmix Update copyright years. 2019-01-01 13:31:55 +01:00
moxie Update copyright years. 2019-01-01 13:31:55 +01:00
msp430 Update copyright years. 2019-01-01 13:31:55 +01:00
nds32 [NDS32] Refine force unwind. Linux kernel only uses RT_SIGRETURN. 2019-04-15 08:19:23 +00:00
nios2 Update copyright years. 2019-01-01 13:31:55 +01:00
nvptx Update copyright years. 2019-01-01 13:31:55 +01:00
or1k Update copyright years. 2019-01-01 13:31:55 +01:00
pa Update copyright years. 2019-01-01 13:31:55 +01:00
pdp11 t-pdp11 (LIB2ADD): Add divmod.c. 2018-11-01 14:36:52 -04:00
riscv Update copyright years. 2019-01-01 13:31:55 +01:00
rl78 Update copyright years. 2019-01-01 13:31:55 +01:00
rs6000 Update copyright years. 2019-01-01 13:31:55 +01:00
rx Update copyright years. 2019-01-01 13:31:55 +01:00
s390 Update copyright years. 2019-01-01 13:31:55 +01:00
score Update copyright years. 2019-01-01 13:31:55 +01:00
sh Update copyright years. 2019-01-01 13:31:55 +01:00
sol2 Update copyright years. 2019-01-01 13:31:55 +01:00
sparc Update copyright years. 2019-01-01 13:31:55 +01:00
spu Update copyright years. 2019-01-01 13:31:55 +01:00
stormy16 Update copyright years. 2019-01-01 13:31:55 +01:00
tilegx
tilepro PR other/16615 [1/5] 2019-01-09 16:37:45 -05:00
v850 Update copyright years. 2019-01-01 13:31:55 +01:00
vax Update copyright years. 2019-01-01 13:31:55 +01:00
visium lib2funcs.c (__set_trampoline_parity): Replace TRAMPOLINE_SIZE with __LIBGCC_TRAMPOLINE_SIZE__. 2019-02-15 10:40:34 +00:00
vms Update copyright years. 2019-01-01 13:31:55 +01:00
xtensa Update copyright years. 2019-01-01 13:31:55 +01:00
darwin10-unwind-find-enc-func.c Move Darwin10 unwinder fix to a crt shim. 2018-08-22 11:58:43 +00:00
darwin-64.c Update copyright years. 2019-01-01 13:31:55 +01:00
darwin-crt3.c Update copyright years. 2019-01-01 13:31:55 +01:00
darwin-crt-tm.c Update copyright years. 2019-01-01 13:31:55 +01:00
gthr-lynx.h Update copyright years. 2019-01-01 13:31:55 +01:00
gthr-rtems.h Update copyright years. 2019-01-01 13:31:55 +01:00
gthr-vxworks.h Update copyright years. 2019-01-01 13:31:55 +01:00
hardfp.c Update copyright years. 2019-01-01 13:31:55 +01:00
libgcc-glibc.ver Update copyright years. 2019-01-01 13:31:55 +01:00
libgcc-libsystem.ver
no-sfp-machine.h
no-unwind.h
t-crtfm
t-crtstuff-pic
t-darwin Move Darwin10 unwinder fix to a crt shim. 2018-08-22 11:58:43 +00:00
t-dfprules
t-eh-dw2-dip
t-fdpbit
t-fixedpoint-gnu-prefix
t-fpbit
t-freebsd-thread
t-gnu-prefix
t-hardfp Update copyright years. 2019-01-01 13:31:55 +01:00
t-hardfp-sfdf Update copyright years. 2019-01-01 13:31:55 +01:00
t-libgcc-pic
t-libunwind
t-libunwind-elf Update copyright years. 2019-01-01 13:31:55 +01:00
t-linux
t-openbsd-thread
t-rtems
t-slibgcc Update copyright years. 2019-01-01 13:31:55 +01:00
t-slibgcc-darwin
t-slibgcc-elf-ver
t-slibgcc-fuchsia Update copyright years. 2019-01-01 13:31:55 +01:00
t-slibgcc-gld
t-slibgcc-gld-nover
t-slibgcc-hpux
t-slibgcc-libgcc Update copyright years. 2019-01-01 13:31:55 +01:00
t-slibgcc-nolc-override
t-slibgcc-sld Use v2 map syntax in libgcc-unwind.map if Solaris ld supports it 2018-09-18 07:04:15 +00:00
t-slibgcc-vms
t-softfp Update copyright years. 2019-01-01 13:31:55 +01:00
t-softfp-compat
t-softfp-excl
t-softfp-sfdf
t-softfp-sfdftf
t-softfp-tf
t-stack
t-tls
t-vxworks Leverage cacheTextUpdate for __clear_cache on VxWorks 2018-09-21 13:09:51 +00:00
t-vxworks7 Leverage cacheTextUpdate for __clear_cache on VxWorks 2018-09-21 13:09:51 +00:00
unwind-dw2-fde-darwin.c Update copyright years. 2019-01-01 13:31:55 +01:00
vxcache.c Update copyright years. 2019-01-01 13:31:55 +01:00
vxlib-tls.c PR other/16615 [1/5] 2019-01-09 16:37:45 -05:00
vxlib.c Update copyright years. 2019-01-01 13:31:55 +01:00