From: Alexander Ivchenko Date: Wed, 11 Sep 2013 07:21:15 +0000 (+0000) Subject: *·doc/invoke.texi:·Document·fxsr,·xsave·and·xsaveopt·options. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7e570821527734991f2468a15aaec706e23e9e92;p=gcc.git *·doc/invoke.texi:·Document·fxsr,·xsave·and·xsaveopt·options. *·doc/extend.texi:·Document·fxsr,·xsave·and·xsaveopt·builtins. From-SVN: r202490 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 21c8538b3ab..e0f7d07ed17 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-09-11 Alexander Ivchenko + + * doc/invoke.texi: Document fxsr, xsave and xsaveopt options. + * doc/extend.texi: Document fxsr, xsave and xsaveopt builtins. + 2013-09-10 Jeff Law PR tree-optimization/58380 diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 151b7e9d56a..eb0946b1cb4 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -10958,6 +10958,31 @@ unsigned int __builtin_ia32_lzcnt_u32(unsigned int); unsigned long long __builtin_ia32_lzcnt_u64 (unsigned long long); @end smallexample +The following built-in functions are available when @option{-mfxsr} is used. +All of them generate the machine instruction that is part of the name. +@smallexample +void __builtin_ia32_fxsave (void *) +void __builtin_ia32_fxrstor (void *) +void __builtin_ia32_fxsave64 (void *) +void __builtin_ia32_fxrstor64 (void *) +@end smallexample + +The following built-in functions are available when @option{-mxsave} is used. +All of them generate the machine instruction that is part of the name. +@smallexample +void __builtin_ia32_xsave (void *, long long) +void __builtin_ia32_xrstor (void *, long long) +void __builtin_ia32_xsave64 (void *, long long) +void __builtin_ia32_xrstor64 (void *, long long) +@end smallexample + +The following built-in functions are available when @option{-mxsaveopt} is used. +All of them generate the machine instruction that is part of the name. +@smallexample +void __builtin_ia32_xsaveopt (void *, long long) +void __builtin_ia32_xsaveopt64 (void *, long long) +@end smallexample + The following built-in functions are available when @option{-mtbm} is used. Both of them generate the immediate form of the bextr machine instruction. @smallexample diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 73c3c58efa7..bb6338ed47b 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -651,10 +651,10 @@ Objective-C and Objective-C++ Dialects}. -mavx2 -mavx512f -mavx512pf -mavx512er -mavx512cd @gol -maes -mpclmul -mfsgsbase -mrdrnd -mf16c -mfma @gol -msse4a -m3dnow -mpopcnt -mabm -mbmi -mtbm -mfma4 -mxop -mlzcnt @gol --mbmi2 -mrtm -mlwp -mthreads @gol +-mbmi2 -mfxsr -mxsave -mxsaveopt -mrtm -mlwp -mthreads @gol -mno-align-stringops -minline-all-stringops @gol -minline-stringops-dynamically -mstringop-strategy=@var{alg} @gol --mmemcpy-strategy=@var{strategy} -mmemset-strategy=@var{strategy} +-mmemcpy-strategy=@var{strategy} -mmemset-strategy=@var{strategy} -mpush-args -maccumulate-outgoing-args -m128bit-long-double @gol -m96bit-long-double -mlong-double-64 -mlong-double-80 @gol -mregparm=@var{num} -msseregparm @gol @@ -14451,6 +14451,9 @@ preferred alignment to @option{-mpreferred-stack-boundary=2}. @itemx -mno-bmi2 @itemx -mlzcnt @itemx -mno-lzcnt +@itemx -mfxsr +@itemx -mxsave +@itemx -mxsaveopt @itemx -mrtm @itemx -mtbm @itemx -mno-tbm @@ -14463,7 +14466,7 @@ preferred alignment to @option{-mpreferred-stack-boundary=2}. These switches enable or disable the use of instructions in the MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, AVX, AVX2, AVX512F, AVX512PF, AVX512ER, AVX512CD, AES, PCLMUL, FSGSBASE, RDRND, F16C, FMA, SSE4A, FMA4, XOP, LWP, ABM, BMI, BMI2, -LZCNT, RTM or 3DNow!@: +FXSR, XSAVE, XSAVEOPT, LZCNT, RTM or 3DNow!@: extended instruction sets. These extensions are also available as built-in functions: see @ref{X86 Built-in Functions}, for details of the functions enabled and