diff --git a/gcc/config/loongarch/loongarch.opt.urls b/gcc/config/loongarch/loongarch.opt.urls
index 88f0bb0f96f..9ed5d7b5596 100644
--- a/gcc/config/loongarch/loongarch.opt.urls
+++ b/gcc/config/loongarch/loongarch.opt.urls
@@ -57,12 +57,17 @@ UrlSuffix(gcc/LoongArch-Options.html#index-mrecip)
 mrecip
 UrlSuffix(gcc/LoongArch-Options.html#index-mrecip)
 
-; skipping UrlSuffix for 'mcmodel=' due to finding no URLs
+mcmodel=
+UrlSuffix(gcc/LoongArch-Options.html#index-mcmodel)
 
 mdirect-extern-access
 UrlSuffix(gcc/LoongArch-Options.html#index-mdirect-extern-access)
 
-; skipping UrlSuffix for 'mrelax' due to finding no URLs
+mrelax
+UrlSuffix(gcc/LoongArch-Options.html#index-mrelax-2)
+
+mpass-mrelax-to-as
+UrlSuffix(gcc/LoongArch-Options.html#index-mpass-mrelax-to-as)
 
 mtls-dialect=
 UrlSuffix(gcc/LoongArch-Options.html#index-mtls-dialect-1)
diff --git a/gcc/config/mn10300/mn10300.opt.urls b/gcc/config/mn10300/mn10300.opt.urls
index 396ca4aa2e6..d0d1cce53a0 100644
--- a/gcc/config/mn10300/mn10300.opt.urls
+++ b/gcc/config/mn10300/mn10300.opt.urls
@@ -19,7 +19,7 @@ mno-crt0
 UrlSuffix(gcc/MN10300-Options.html#index-mno-crt0)
 
 mrelax
-UrlSuffix(gcc/MN10300-Options.html#index-mrelax-2)
+UrlSuffix(gcc/MN10300-Options.html#index-mrelax-3)
 
 mreturn-pointer-on-d0
 UrlSuffix(gcc/MN10300-Options.html#index-mreturn-pointer-on-d0)
diff --git a/gcc/config/msp430/msp430.opt.urls b/gcc/config/msp430/msp430.opt.urls
index 420c1c50f13..b8b8f9ce184 100644
--- a/gcc/config/msp430/msp430.opt.urls
+++ b/gcc/config/msp430/msp430.opt.urls
@@ -28,7 +28,7 @@ msmall
 UrlSuffix(gcc/MSP430-Options.html#index-msmall)
 
 mrelax
-UrlSuffix(gcc/MSP430-Options.html#index-mrelax-3)
+UrlSuffix(gcc/MSP430-Options.html#index-mrelax-4)
 
 minrt
 UrlSuffix(gcc/MSP430-Options.html#index-minrt)
diff --git a/gcc/config/nds32/nds32-elf.opt.urls b/gcc/config/nds32/nds32-elf.opt.urls
index 5399afba7d3..3ae1efe7312 100644
--- a/gcc/config/nds32/nds32-elf.opt.urls
+++ b/gcc/config/nds32/nds32-elf.opt.urls
@@ -1,5 +1,5 @@
 ; Autogenerated by regenerate-opt-urls.py from gcc/config/nds32/nds32-elf.opt and generated HTML
 
 mcmodel=
-UrlSuffix(gcc/NDS32-Options.html#index-mcmodel)
+UrlSuffix(gcc/NDS32-Options.html#index-mcmodel-1)
 
diff --git a/gcc/config/nds32/nds32-linux.opt.urls b/gcc/config/nds32/nds32-linux.opt.urls
index 27d39f04ad9..ac589ccd472 100644
--- a/gcc/config/nds32/nds32-linux.opt.urls
+++ b/gcc/config/nds32/nds32-linux.opt.urls
@@ -1,5 +1,5 @@
 ; Autogenerated by regenerate-opt-urls.py from gcc/config/nds32/nds32-linux.opt and generated HTML
 
 mcmodel=
-UrlSuffix(gcc/NDS32-Options.html#index-mcmodel)
+UrlSuffix(gcc/NDS32-Options.html#index-mcmodel-1)
 
diff --git a/gcc/config/nds32/nds32.opt.urls b/gcc/config/nds32/nds32.opt.urls
index e34512d69ba..44fa0696b95 100644
--- a/gcc/config/nds32/nds32.opt.urls
+++ b/gcc/config/nds32/nds32.opt.urls
@@ -51,7 +51,7 @@ mctor-dtor
 UrlSuffix(gcc/NDS32-Options.html#index-mctor-dtor)
 
 mrelax
-UrlSuffix(gcc/NDS32-Options.html#index-mrelax-4)
+UrlSuffix(gcc/NDS32-Options.html#index-mrelax-5)
 
 ; skipping UrlSuffix for 'munaligned-access' due to finding no URLs
 
diff --git a/gcc/config/pru/pru.opt.urls b/gcc/config/pru/pru.opt.urls
index 1f8a26a0db5..c87affb112b 100644
--- a/gcc/config/pru/pru.opt.urls
+++ b/gcc/config/pru/pru.opt.urls
@@ -7,7 +7,7 @@ mmcu=
 UrlSuffix(gcc/PRU-Options.html#index-mmcu-2)
 
 mno-relax
-UrlSuffix(gcc/PRU-Options.html#index-mno-relax)
+UrlSuffix(gcc/PRU-Options.html#index-mno-relax-1)
 
 mloop
 UrlSuffix(gcc/PRU-Options.html#index-mloop)
diff --git a/gcc/config/riscv/riscv.opt.urls b/gcc/config/riscv/riscv.opt.urls
index da31820e234..6184121b2bf 100644
--- a/gcc/config/riscv/riscv.opt.urls
+++ b/gcc/config/riscv/riscv.opt.urls
@@ -49,7 +49,7 @@ UrlSuffix(gcc/RISC-V-Options.html#index-mstrict-align-4)
 ; skipping UrlSuffix for 'mexplicit-relocs' due to finding no URLs
 
 mrelax
-UrlSuffix(gcc/RISC-V-Options.html#index-mrelax-5)
+UrlSuffix(gcc/RISC-V-Options.html#index-mrelax-6)
 
 mcsr-check
 UrlSuffix(gcc/RISC-V-Options.html#index-mcsr-check)
diff --git a/gcc/config/rx/rx.opt.urls b/gcc/config/rx/rx.opt.urls
index 4cb037313b4..7af4bd249d8 100644
--- a/gcc/config/rx/rx.opt.urls
+++ b/gcc/config/rx/rx.opt.urls
@@ -25,7 +25,7 @@ msmall-data-limit=
 UrlSuffix(gcc/RX-Options.html#index-msmall-data-limit-2)
 
 mrelax
-UrlSuffix(gcc/RX-Options.html#index-mrelax-6)
+UrlSuffix(gcc/RX-Options.html#index-mrelax-7)
 
 mmax-constant-size=
 UrlSuffix(gcc/RX-Options.html#index-mmax-constant-size)
diff --git a/gcc/config/sh/sh.opt.urls b/gcc/config/sh/sh.opt.urls
index 2c3bc0699ec..b282bc2f509 100644
--- a/gcc/config/sh/sh.opt.urls
+++ b/gcc/config/sh/sh.opt.urls
@@ -148,7 +148,7 @@ mprefergot
 UrlSuffix(gcc/SH-Options.html#index-mprefergot)
 
 mrelax
-UrlSuffix(gcc/SH-Options.html#index-mrelax-7)
+UrlSuffix(gcc/SH-Options.html#index-mrelax-8)
 
 mrenesas
 UrlSuffix(gcc/SH-Options.html#index-mrenesas)
diff --git a/gcc/config/sparc/sparc.opt.urls b/gcc/config/sparc/sparc.opt.urls
index 79774678984..5a3e9d771b0 100644
--- a/gcc/config/sparc/sparc.opt.urls
+++ b/gcc/config/sparc/sparc.opt.urls
@@ -84,7 +84,7 @@ mtune=
 UrlSuffix(gcc/SPARC-Options.html#index-mtune-15)
 
 mcmodel=
-UrlSuffix(gcc/SPARC-Options.html#index-mcmodel-1)
+UrlSuffix(gcc/SPARC-Options.html#index-mcmodel-2)
 
 ; skipping UrlSuffix for 'mdebug=' due to finding no URLs
 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 1006510fc6a..e5c16ebd41f 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -26989,6 +26989,7 @@ section (on some targets).  The default value is 0.
 Inline all block moves (such as calls to @code{memcpy} or structure copies)
 less than or equal to @var{n} bytes.  The default value of @var{n} is 1024.
 
+@opindex mcmodel
 @item -mcmodel=@var{code-model}
 Set the code model to one of:
 @table @samp
@@ -27051,6 +27052,8 @@ kernels, executables linked with @option{-static} or @option{-static-pie}.
 @option{-mdirect-extern-access} is not compatible with @option{-fPIC} or
 @option{-fpic}.
 
+@opindex mrelax
+@opindex mno-relax
 @item -mrelax
 @itemx -mno-relax
 Take (do not take) advantage of linker relaxations.  If
@@ -27063,6 +27066,8 @@ option and the conditional branch relaxation (it's required or the
 assembly code outputted by GCC may be rejected by the assembler because
 of a relocation overflow), @option{-mno-relax} otherwise.
 
+@opindex mpass-mrelax-to-as
+@opindex mno-pass-mrelax-to-as
 @item -mpass-mrelax-to-as
 @itemx -mno-pass-mrelax-to-as
 Pass (do not pass) the @option{-mrelax} or @option{-mno-relax} option
@@ -27179,7 +27184,7 @@ Use traditional TLS. This is the default.
 Use TLS descriptors.
 @end table
 
-@item loongarch-vect-unroll-limit
+@item --param loongarch-vect-unroll-limit=@var{n}
 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
 parameter set's the upper bound of how much the vectorizer will unroll the main
