diff mbox series

LoongArch: Add descriptions of the compilation options.

Message ID 20240330075826.21227-1-chenglulu@loongson.cn
State New
Headers show
Series LoongArch: Add descriptions of the compilation options. | expand

Commit Message

Lulu Cheng March 30, 2024, 7:58 a.m. UTC
Add descriptions for the compilation options '-mfrecipe' '-mdiv32'
'-mlam-bh' '-mlamcas' and '-mld-seq-sa'.

gcc/ChangeLog:

	* doc/invoke.texi: Add descriptions for the compilation
	options.
---
 gcc/doc/invoke.texi | 45 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 43 insertions(+), 2 deletions(-)

Comments

Lulu Cheng April 1, 2024, 1:04 a.m. UTC | #1
Pushed to r14-9736.

在 2024/3/30 下午3:58, Lulu Cheng 写道:
> Add descriptions for the compilation options '-mfrecipe' '-mdiv32'
> '-mlam-bh' '-mlamcas' and '-mld-seq-sa'.
>
> gcc/ChangeLog:
>
> 	* doc/invoke.texi: Add descriptions for the compilation
> 	options.
> ---
>   gcc/doc/invoke.texi | 45 +++++++++++++++++++++++++++++++++++++++++++--
>   1 file changed, 43 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index c584664e168..942103c23f5 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -1058,8 +1058,9 @@ Objective-C and Objective-C++ Dialects}.
>   -mmax-inline-memcpy-size=@var{n}
>   -mexplicit-relocs=@var{style} -mexplicit-relocs -mno-explicit-relocs
>   -mdirect-extern-access -mno-direct-extern-access
> --mcmodel=@var{code-model} -mrelax -mpass-mrelax-to-as}
> --mrecip  -mrecip=@var{opt}
> +-mcmodel=@var{code-model} -mrelax -mpass-mrelax-to-as
> +-mrecip  -mrecip=@var{opt} -mfrecipe -mno-frecipe -mdiv32 -mno-div32
> +-mlam-bh -mno-lam-bh -mlamcas -mno-lamcas -mld-seq-sa -mno-ld-seq-sa}
>   
>   @emph{M32R/D Options}
>   @gccoptlist{-m32r2  -m32rx  -m32r
> @@ -27095,6 +27096,46 @@ Enable the approximation for vectorized reciprocal square root.
>   So, for example, @option{-mrecip=all,!sqrt} enables
>   all of the reciprocal approximations, except for scalar square root.
>   
> +@opindex mfrecipe
> +@opindex mno-frecipe
> +@item -mfrecipe
> +@itemx -mno-frecipe
> +Use (do not use) @code{frecipe.@{s/d@}} and @code{frsqrte.@{s/d@}}
> +instructions.  When build with @option{-march=la664}, it is enabled by default.
> +The default is @option{-mno-frecipe}.
> +
> +@opindex mdiv32
> +@opindex mno-div32
> +@item -mdiv32
> +@itemx -mno-div32
> +Use (do not use) @code{div.w[u]} and @code{mod.w[u]} instructions with input
> +not sign-extended.  When build with @option{-march=la664}, it is enabled by
> +default.  The default is @option{-mno-div32}.
> +
> +@opindex mlam-bh
> +@opindex mno-lam-bh
> +@item -mlam-bh
> +@itemx -mno-lam-bh
> +Use (do not use) @code{am@{swap/add@}[_db].@{b/h@}} instructions.  When build
> +with @option{-march=la664}, it is enabled by default.  The default is
> +@option{-mno-lam-bh}.
> +
> +@opindex mlamcas
> +@opindex mno-lamcas
> +@item -mlamcas
> +@itemx -mno-lamcas
> +Use (do not use) @code{amcas[_db].@{b/h/w/d@}} instructions.  When build with
> +@option{-march=la664}, it is enabled by default.  The default is
> +@option{-mno-lamcas}.
> +
> +@opindex mld-seq-sa
> +@opindex mno-ld-seq-sa
> +@item -mld-seq-sa
> +@itemx -mno-ld-seq-sa
> +Whether a load-load barrier (@code{dbar 0x700}) is needed.  When build with
> +@option{-march=la664}, it is enabled by default.  The default is
> +@option{-mno-ld-seq-sa}, the load-load barrier is needed.
> +
>   @item loongarch-vect-unroll-limit
>   The vectorizer will use available tuning information to determine whether it
>   would be beneficial to unroll the main vectorized loop and by how much.  This
diff mbox series

Patch

diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index c584664e168..942103c23f5 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1058,8 +1058,9 @@  Objective-C and Objective-C++ Dialects}.
 -mmax-inline-memcpy-size=@var{n}
 -mexplicit-relocs=@var{style} -mexplicit-relocs -mno-explicit-relocs
 -mdirect-extern-access -mno-direct-extern-access
--mcmodel=@var{code-model} -mrelax -mpass-mrelax-to-as}
--mrecip  -mrecip=@var{opt}
+-mcmodel=@var{code-model} -mrelax -mpass-mrelax-to-as
+-mrecip  -mrecip=@var{opt} -mfrecipe -mno-frecipe -mdiv32 -mno-div32
+-mlam-bh -mno-lam-bh -mlamcas -mno-lamcas -mld-seq-sa -mno-ld-seq-sa}
 
 @emph{M32R/D Options}
 @gccoptlist{-m32r2  -m32rx  -m32r
@@ -27095,6 +27096,46 @@  Enable the approximation for vectorized reciprocal square root.
 So, for example, @option{-mrecip=all,!sqrt} enables
 all of the reciprocal approximations, except for scalar square root.
 
+@opindex mfrecipe
+@opindex mno-frecipe
+@item -mfrecipe
+@itemx -mno-frecipe
+Use (do not use) @code{frecipe.@{s/d@}} and @code{frsqrte.@{s/d@}}
+instructions.  When build with @option{-march=la664}, it is enabled by default.
+The default is @option{-mno-frecipe}.
+
+@opindex mdiv32
+@opindex mno-div32
+@item -mdiv32
+@itemx -mno-div32
+Use (do not use) @code{div.w[u]} and @code{mod.w[u]} instructions with input
+not sign-extended.  When build with @option{-march=la664}, it is enabled by
+default.  The default is @option{-mno-div32}.
+
+@opindex mlam-bh
+@opindex mno-lam-bh
+@item -mlam-bh
+@itemx -mno-lam-bh
+Use (do not use) @code{am@{swap/add@}[_db].@{b/h@}} instructions.  When build
+with @option{-march=la664}, it is enabled by default.  The default is
+@option{-mno-lam-bh}.
+
+@opindex mlamcas
+@opindex mno-lamcas
+@item -mlamcas
+@itemx -mno-lamcas
+Use (do not use) @code{amcas[_db].@{b/h/w/d@}} instructions.  When build with
+@option{-march=la664}, it is enabled by default.  The default is
+@option{-mno-lamcas}.
+
+@opindex mld-seq-sa
+@opindex mno-ld-seq-sa
+@item -mld-seq-sa
+@itemx -mno-ld-seq-sa
+Whether a load-load barrier (@code{dbar 0x700}) is needed.  When build with
+@option{-march=la664}, it is enabled by default.  The default is
+@option{-mno-ld-seq-sa}, the load-load barrier is needed.
+
 @item loongarch-vect-unroll-limit
 The vectorizer will use available tuning information to determine whether it
 would be beneficial to unroll the main vectorized loop and by how much.  This