diff options
author | Sebastian Peryt <sebastian.peryt@intel.com> | 2018-04-19 17:08:02 +0200 |
---|---|---|
committer | Sebastian Peryt <speryt@gcc.gnu.org> | 2018-04-19 17:08:02 +0200 |
commit | 37d51c754a8c0c2b3216b5574cfcf3e12d786658 (patch) | |
tree | 7290c8661b7d9588a63f1c05bc4c759df8cbcdc6 /gcc/doc | |
parent | ca98e4c5d0e87b5305ab30591509ffc64300abd4 (diff) | |
download | gcc-37d51c754a8c0c2b3216b5574cfcf3e12d786658.zip gcc-37d51c754a8c0c2b3216b5574cfcf3e12d786658.tar.gz gcc-37d51c754a8c0c2b3216b5574cfcf3e12d786658.tar.bz2 |
i386-common.c (OPTION_MASK_ISA_MOVDIRI_SET, [...]): New defines.
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.
From-SVN: r259495
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 8c0d275..bf7a2a8 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -1262,7 +1262,7 @@ See RS/6000 and PowerPC Options. -mlzcnt -mbmi2 -mfxsr -mxsave -mxsaveopt -mrtm -mlwp -mmpx @gol -mmwaitx -mclzero -mpku -mthreads -mgfni -mvaes @gol -mcet -mibt -mshstk -mforce-indirect-call -mavx512vbmi2 @gol --mvpclmulqdq -mavx512bitalg -mavx512vpopcntdq @gol +-mvpclmulqdq -mavx512bitalg -mmovdiri -mmovdir64b -mavx512vpopcntdq @gol -mms-bitfields -mno-align-stringops -minline-all-stringops @gol -minline-stringops-dynamically -mstringop-strategy=@var{alg} @gol -mmemcpy-strategy=@var{strategy} -mmemset-strategy=@var{strategy} @gol @@ -27314,6 +27314,12 @@ preferred alignment to @option{-mpreferred-stack-boundary=2}. @itemx -mavx512bitalg @opindex mavx512bitalg @need 200 +@itemx -mmovdiri +@opindex mmovdiri +@need 200 +@itemx -mmovdir64b +@opindex mmovdir64b +@need 200 @itemx -mavx512vpopcntdq @opindex mavx512vpopcntdq These switches enable the use of instructions in the MMX, SSE, @@ -27321,8 +27327,8 @@ SSE2, SSE3, SSSE3, SSE4.1, AVX, AVX2, AVX512F, AVX512PF, AVX512ER, AVX512CD, SHA, AES, PCLMUL, FSGSBASE, RDRND, F16C, FMA, SSE4A, FMA4, XOP, LWP, ABM, AVX512VL, AVX512BW, AVX512DQ, AVX512IFMA, AVX512VBMI, BMI, BMI2, VAES, FXSR, XSAVE, XSAVEOPT, LZCNT, RTM, MPX, MWAITX, PKU, IBT, SHSTK, AVX512VBMI2, -GFNI, VPCLMULQDQ, AVX512BITALG, AVX512VPOPCNTDQ3DNow!@: or enhanced 3DNow!@: -extended instruction sets. +GFNI, VPCLMULQDQ, AVX512BITALG, MOVDIRI, MOVDIR64B, +AVX512VPOPCNTDQ3DNow!@: or enhanced 3DNow!@: extended instruction sets. Each has a corresponding @option{-mno-} option to disable use of these instructions. |