[18/20] doc, or1k: Clean up OpenRISC option documentation [PR122243]
Commit Message
I'm not sure what the rationale is for having "RejectNegative" on all
of the options that control instruction usage except for -mdouble-float,
but with this patch the documentation matches what is in the .opt files.
gcc/ChangeLog
PR other/122243
* config/or1k/elf.opt (mnewlib): Mark obsolete option as
"Undocumented".
* config/or1k/or1k.opt (mcmov): Don't use future tense in doc string.
(msfimm): Likewise.
(mshftimm): Likewise.
* doc/invoke.texi (Option Summary) <OpenRISC Options>: Don't
document -mnewlib.
(OpenRISC Options): Likewise. Add @opindex entry for
-mno-double-float. Fix more instances of incorrect use of future
tense.
---
gcc/config/or1k/elf.opt | 2 +-
gcc/config/or1k/or1k.opt | 6 +++---
gcc/doc/invoke.texi | 16 ++++++----------
3 files changed, 10 insertions(+), 14 deletions(-)
Comments
On Sat, Dec 06, 2025 at 05:10:28PM -0700, Sandra Loosemore wrote:
> I'm not sure what the rationale is for having "RejectNegative" on all
> of the options that control instruction usage except for -mdouble-float,
> but with this patch the documentation matches what is in the .opt files.
I think my rational was that since the defaults are off, we just add options to
turn them on. But I could understand why the Negative form would also be
useful.
If anyone wants to patch the options to allow negative form I would not oppose
it.
> gcc/ChangeLog
> PR other/122243
> * config/or1k/elf.opt (mnewlib): Mark obsolete option as
> "Undocumented".
> * config/or1k/or1k.opt (mcmov): Don't use future tense in doc string.
> (msfimm): Likewise.
> (mshftimm): Likewise.
> * doc/invoke.texi (Option Summary) <OpenRISC Options>: Don't
> document -mnewlib.
> (OpenRISC Options): Likewise. Add @opindex entry for
> -mno-double-float. Fix more instances of incorrect use of future
> tense.
> ---
> gcc/config/or1k/elf.opt | 2 +-
> gcc/config/or1k/or1k.opt | 6 +++---
> gcc/doc/invoke.texi | 16 ++++++----------
> 3 files changed, 10 insertions(+), 14 deletions(-)
>
> diff --git a/gcc/config/or1k/elf.opt b/gcc/config/or1k/elf.opt
> index 28e960ed208..578aba3ba04 100644
> --- a/gcc/config/or1k/elf.opt
> +++ b/gcc/config/or1k/elf.opt
> @@ -28,6 +28,6 @@ Target RejectNegative Joined
> Configure the newlib board specific runtime. The default is or1ksim.
>
> mnewlib
> -Target RejectNegative
> +Target RejectNegative Undocumented
> This option is ignored; it is provided for compatibility purposes only. This
> used to select linker and preprocessor options for use with newlib.
> diff --git a/gcc/config/or1k/or1k.opt b/gcc/config/or1k/or1k.opt
> index d252de08204..9ce8b800ed5 100644
> --- a/gcc/config/or1k/or1k.opt
> +++ b/gcc/config/or1k/or1k.opt
> @@ -85,7 +85,7 @@ Enum(or1k_cmodel_type) String(large) Value(CMODEL_LARGE)
> mcmov
> Target RejectNegative Mask(CMOV)
> Enable generation of conditional move (l.cmov) instructions. By default the
> -equivalent will be generated using set and branch.
> +equivalents are generated using set and branch.
>
> mror
> Target RejectNegative Mask(ROR)
> @@ -106,11 +106,11 @@ loads are used to perform sign extension.
> msfimm
> Target RejectNegative Mask(SFIMM)
> Enable generation of compare and set flag with immediate (l.sf*i) instructions.
> -By default extra instructions will be generated to store the immediate to a
> +By default extra instructions are generated to store the immediate to a
> register first.
>
> mshftimm
> Target RejectNegative Mask(SHFTIMM)
> Enable generation of shift with immediate (l.srai, l.srli, l.slli) instructions.
> -By default extra instructions will be generated to store the immediate to a
> +By default extra instructions are generated to store the immediate to a
> register first.
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 62afc5a66dd..f403d20bc0b 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -1285,7 +1285,7 @@ Objective-C and Objective-C++ Dialects}.
> -mmainkernel -moptimize -msoft-stack -muniform-simt -mgomp}
>
> @emph{OpenRISC Options} (@ref{OpenRISC Options})
> -@gccoptlist{-mboard=@var{name} -mnewlib -mhard-mul -mhard-div
> +@gccoptlist{-mboard=@var{name} -mhard-mul -mhard-div
> -msoft-mul -msoft-div
> -msoft-float -mhard-float -mdouble-float -munordered-float
> -mcmov -mror -mrori -msext -msfimm -mshftimm
> @@ -31580,14 +31580,9 @@ These options are defined for OpenRISC:
>
> @opindex mboard
> @item -mboard=@var{name}
> -Configure a board specific runtime. This will be passed to the linker for
> +Configure a board specific runtime. This is passed to the linker for
> newlib board library linking. The default is @code{or1ksim}.
>
> -@opindex mnewlib
> -@item -mnewlib
> -This option is ignored; it is for compatibility purposes only. This used to
> -select linker and preprocessor options for use with newlib.
> -
> @opindex msoft-div
> @opindex mhard-div
> @item -msoft-div
> @@ -31610,6 +31605,7 @@ Select software or hardware for floating point operations.
> The default is software.
>
> @opindex mdouble-float
> +@opindex mno-double-float
> @item -mdouble-float
> When @option{-mhard-float} is selected, enables generation of double-precision
> floating point instructions. By default functions from @file{libgcc} are used
> @@ -31625,7 +31621,7 @@ compare and set flag operations.
> @opindex mcmov
> @item -mcmov
> Enable generation of conditional move (@code{l.cmov}) instructions. By
> -default the equivalent will be generated using set and branch.
> +default the equivalents are generated using set and branch.
>
> @opindex mror
> @item -mror
> @@ -31646,13 +31642,13 @@ memory loads are used to perform sign extension.
> @opindex msfimm
> @item -msfimm
> Enable generation of compare and set flag with immediate (@code{l.sf*i})
> -instructions. By default extra instructions will be generated to store the
> +instructions. By default extra instructions are generated to store the
> immediate to a register first.
>
> @opindex mshftimm
> @item -mshftimm
> Enable generation of shift with immediate (@code{l.srai}, @code{l.srli},
> -@code{l.slli}) instructions. By default extra instructions will be generated
> +@code{l.slli}) instructions. By default extra instructions are generated
> to store the immediate to a register first.
>
> @opindex mcmodel=
These all look good to me. Thanks,
-Stafford
@@ -28,6 +28,6 @@ Target RejectNegative Joined
Configure the newlib board specific runtime. The default is or1ksim.
mnewlib
-Target RejectNegative
+Target RejectNegative Undocumented
This option is ignored; it is provided for compatibility purposes only. This
used to select linker and preprocessor options for use with newlib.
@@ -85,7 +85,7 @@ Enum(or1k_cmodel_type) String(large) Value(CMODEL_LARGE)
mcmov
Target RejectNegative Mask(CMOV)
Enable generation of conditional move (l.cmov) instructions. By default the
-equivalent will be generated using set and branch.
+equivalents are generated using set and branch.
mror
Target RejectNegative Mask(ROR)
@@ -106,11 +106,11 @@ loads are used to perform sign extension.
msfimm
Target RejectNegative Mask(SFIMM)
Enable generation of compare and set flag with immediate (l.sf*i) instructions.
-By default extra instructions will be generated to store the immediate to a
+By default extra instructions are generated to store the immediate to a
register first.
mshftimm
Target RejectNegative Mask(SHFTIMM)
Enable generation of shift with immediate (l.srai, l.srli, l.slli) instructions.
-By default extra instructions will be generated to store the immediate to a
+By default extra instructions are generated to store the immediate to a
register first.
@@ -1285,7 +1285,7 @@ Objective-C and Objective-C++ Dialects}.
-mmainkernel -moptimize -msoft-stack -muniform-simt -mgomp}
@emph{OpenRISC Options} (@ref{OpenRISC Options})
-@gccoptlist{-mboard=@var{name} -mnewlib -mhard-mul -mhard-div
+@gccoptlist{-mboard=@var{name} -mhard-mul -mhard-div
-msoft-mul -msoft-div
-msoft-float -mhard-float -mdouble-float -munordered-float
-mcmov -mror -mrori -msext -msfimm -mshftimm
@@ -31580,14 +31580,9 @@ These options are defined for OpenRISC:
@opindex mboard
@item -mboard=@var{name}
-Configure a board specific runtime. This will be passed to the linker for
+Configure a board specific runtime. This is passed to the linker for
newlib board library linking. The default is @code{or1ksim}.
-@opindex mnewlib
-@item -mnewlib
-This option is ignored; it is for compatibility purposes only. This used to
-select linker and preprocessor options for use with newlib.
-
@opindex msoft-div
@opindex mhard-div
@item -msoft-div
@@ -31610,6 +31605,7 @@ Select software or hardware for floating point operations.
The default is software.
@opindex mdouble-float
+@opindex mno-double-float
@item -mdouble-float
When @option{-mhard-float} is selected, enables generation of double-precision
floating point instructions. By default functions from @file{libgcc} are used
@@ -31625,7 +31621,7 @@ compare and set flag operations.
@opindex mcmov
@item -mcmov
Enable generation of conditional move (@code{l.cmov}) instructions. By
-default the equivalent will be generated using set and branch.
+default the equivalents are generated using set and branch.
@opindex mror
@item -mror
@@ -31646,13 +31642,13 @@ memory loads are used to perform sign extension.
@opindex msfimm
@item -msfimm
Enable generation of compare and set flag with immediate (@code{l.sf*i})
-instructions. By default extra instructions will be generated to store the
+instructions. By default extra instructions are generated to store the
immediate to a register first.
@opindex mshftimm
@item -mshftimm
Enable generation of shift with immediate (@code{l.srai}, @code{l.srli},
-@code{l.slli}) instructions. By default extra instructions will be generated
+@code{l.slli}) instructions. By default extra instructions are generated
to store the immediate to a register first.
@opindex mcmodel=