diff options
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r-- | gcc/doc/invoke.texi | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index ca3772bbebfc..a4ec8fbf0002 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -604,7 +604,8 @@ Objective-C and Objective-C++ Dialects}. -mpc-relative-literal-loads @gol -msign-return-address=@var{scope} @gol -march=@var{name} -mcpu=@var{name} -mtune=@var{name} @gol --moverride=@var{string} -mverbose-cost-dump} +-moverride=@var{string} -mverbose-cost-dump +-mindirect-branch=@var{choice}} @emph{Adapteva Epiphany Options} @gccoptlist{-mhalf-reg-file -mprefer-short-insn-regs @gol @@ -14784,6 +14785,23 @@ and 2048. @samp{scalable} is the default. At present, @samp{-msve-vector-bits=128} produces the same output as @samp{-msve-vector-bits=scalable}. +@item -mindirect-branch=@var{choice} +@opindex -mindirect-branch +Convert indirect branch-and-link-register and branch-register with @var{choice}. +The default is @samp{keep}, which keeps indirect branch-and-link-register and +branch-register instructions unmodified. +@samp{thunk} converts indirect branch-and-link-register/branch-register +instructions to a branch-and-link/branch to a function containing a retpoline +(to stop speculative execution) followed by a branch-register to the target. +@samp{thunk-inline} similar to @samp{thunk}, but inlines the retpoline +before the branch-and-link-register/branch-register instruction. +@samp{thunk-extern} similar to @samp{thunk}, but does not insert the functions +containing the retpoline. When using this option, these functions need to be +provided in a separate object file. The retpoline functions exist for each +register and are named __aarch64_indirect_thunk_xN (N being the register number). +You can control this behavior for a specific function by using the +function attribute @code{indirect_branch}. @xref{Function Attributes}. + @end table @subsubsection @option{-march} and @option{-mcpu} Feature Modifiers |