On 06/11/2017 02:35 PM, Daniel Santos wrote:
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index c1168823af7..eec02b43a4f 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -25389,11 +25389,26 @@ using the function attributes @code{ms_abi} and 
@code{sysv_abi}.
  @opindex mno-call-ms2sysv-xlogues
  Due to differences in 64-bit ABIs, any Microsoft ABI function that calls a
  System V ABI function must consider RSI, RDI and XMM6-15 as clobbered.  By
-default, the code for saving and restoring these registers is emitted inline,
-resulting in fairly lengthy prologues and epilogues.  Using
-@option{-mcall-ms2sysv-xlogues} emits prologues and epilogues that
-use stubs in the static portion of libgcc to perform these saves and restores,
-thus reducing function size at the cost of a few extra instructions.
+default, the instructions for saving and restoring these registers are emitted
+inline, resulting in fairly lengthy pro- and epilogues.  Using
+@option{-mcall-ms2sysv-xlogues} emits pro- and epilogues that use stubs in the

Please restore the "prologues and epilogues" language that was there before.

+static portion of libgcc to perform these saves and restores, thus reducing
+function size at the cost of executing a few extra instructions.  This cost is
+theoretically mitigated or eliminated by reduced instruction cache utilization,
+temporal locality of the stubs, and the stubs' use of MOV instructions over
+PUSH and POP.
+
+This option is not supported with SEH, so it is completely unavailable on
+Windows.  It is also silently disabled if a function:
+
+@enumerate
+@item is built with @option{-mno-sse2} or @option{-fsplit-stack},
+@item has @code{__attribute__ ((ms_hook_prologue))}, or
+@item either throws an exception or explicitly calls 
@code{__builtin_eh_return}.
+@end enumerate
+
+Support for @option{-fsplit-stack} and @code{__builtin_eh_return} may be
+added at some time in the future, but has not yet been tested.

It can't be tested if it's not there yet.  :-S

I'd prefer if you just added these things to the enumerated list of unsupported cases. I know I've removed other "maybe we will implement this later" language from the GCC manual that had been there for 10 or 20 years without anybody ever implementing those features. Saying "maybe we will implement this later" is just extra words in the manual and not helpful to users.

-Sandra

Reply via email to