aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLulu Cheng <chenglulu@loongson.cn>2024-03-30 15:14:14 +0800
committerLulu Cheng <chenglulu@loongson.cn>2024-04-01 09:03:32 +0800
commit7f424c3167b72db1ecd661ccb71559bf27cbcfc1 (patch)
tree4a3a86e9555d85b033b673a86bd0951beba64776
parent1831a5e13b321d6f687a4f643320dd97896a374f (diff)
downloadgcc-7f424c3167b72db1ecd661ccb71559bf27cbcfc1.zip
gcc-7f424c3167b72db1ecd661ccb71559bf27cbcfc1.tar.gz
gcc-7f424c3167b72db1ecd661ccb71559bf27cbcfc1.tar.bz2
LoongArch: Add descriptions of the compilation options.
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.
-rw-r--r--gcc/doc/invoke.texi45
1 files changed, 43 insertions, 2 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index c584664..942103c 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