r259495 - in /trunk/gcc: ChangeLog common/confi...

speryt@gcc.gnu.org speryt@gcc.gnu.org
Thu Apr 19 15:08:00 GMT 2018


Author: speryt
Date: Thu Apr 19 15:08:02 2018
New Revision: 259495

URL: https://gcc.gnu.org/viewcvs?rev=259495&root=gcc&view=rev
Log:
2018-04-19  Sebastian Peryt  <sebastian.peryt@intel.com>

gcc/

	* common/config/i386/i386-common.c 
	(OPTION_MASK_ISA_MOVDIRI_SET, OPTION_MASK_ISA_MOVDIR64B_SET,
	OPTION_MASK_ISA_MOVDIRI_UNSET,
	OPTION_MASK_ISA_MOVDIR64B_UNSET): New defines.
	(ix86_handle_option): Handle -mmovdiri and -mmovdir64b.
	* config.gcc (movdirintrin.h): New header.
	* config/i386/cpuid.h (bit_MOVDIRI,
	bit_MOVDIR64B): New bits.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect -mmovdiri
	and -mmvodir64b.
	* config/i386/i386-builtin-types.def ((VOID, PUNSIGNED, UNSIGNED),
	(VOID, PVOID, PCVOID)): New function types.
	* config/i386/i386-builtin.def (__builtin_ia32_directstoreu_u32,
	__builtin_ia32_directstoreu_u64,
	__builtin_ia32_movdir64b): New builtins.
	* config/i386/i386-c.c (__MOVDIRI__, __MOVDIR64B__): New.
	* config/i386/i386.c (ix86_target_string): Added -mmovdir64b
	and -mmovdiri.
	(ix86_valid_target_attribute_inner_p): Ditto.
	(ix86_expand_special_args_builtin): Added VOID_FTYPE_PUNSIGNED_UNSIGNED
	and VOID_FTYPE_PUNSIGNED_UNSIGNED.
	(ix86_expand_builtin): Expand IX86_BUILTIN_MOVDIR64B.
	* config/i386/i386.h (TARGET_MOVDIRI, TARGET_MOVDIRI_P,
	TARGET_MOVDIR64B, TARGET_MOVDIR64B_P): New.
	* config/i386/i386.md (UNSPECV_MOVDIRI, UNSPECV_MOVDIR64B): New.
	(movdiri<mode>, movdir64b_<mode>): New.
	* config/i386/i386.opt: Add -mmovdiri and -mmovdir64b.
	* config/i386/immintrin.h: Include movdirintrin.h.
	* config/i386/movdirintrin.h: New file.
	* doc/invoke.texi: Added -mmovdiri and -mmovdir64b.

gcc/testsuite/

	* gcc.target/i386/movdir-1.c: New test.


Added:
    trunk/gcc/config/i386/movdirintrin.h
    trunk/gcc/testsuite/gcc.target/i386/movdir-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/common/config/i386/i386-common.c
    trunk/gcc/config.gcc
    trunk/gcc/config/i386/cpuid.h
    trunk/gcc/config/i386/driver-i386.c
    trunk/gcc/config/i386/i386-builtin-types.def
    trunk/gcc/config/i386/i386-builtin.def
    trunk/gcc/config/i386/i386-c.c
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.h
    trunk/gcc/config/i386/i386.md
    trunk/gcc/config/i386/i386.opt
    trunk/gcc/config/i386/immintrin.h
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list