-menable-sysreg-checking
-mgeneral-regs-only
-mcmodel=tiny -mcmodel=small -mcmodel=large
--mstrict-align -mno-strict-align
--momit-leaf-frame-pointer
+-mstrict-align -momit-leaf-frame-pointer
-mtls-dialect=desc -mtls-dialect=traditional
--mtls-size=@var{size}
+-mtls-size=@var{size} -mtp=@var{name}
-mfix-cortex-a53-835769 -mfix-cortex-a53-843419
-mlow-precision-recip-sqrt -mlow-precision-sqrt -mlow-precision-div
+-mmax-vectorization -mautovec-preference=@var{name}
-mpc-relative-literal-loads
-msign-return-address=@var{scope}
-mbranch-protection=@var{features}
-mharden-sls=@var{opts}
-march=@var{name} -mcpu=@var{name} -mtune=@var{name}
--moverride=@var{string} -mverbose-cost-dump
--mstack-protector-guard=@var{guard} -mstack-protector-guard-reg=@var{sysreg}
--mstack-protector-guard-offset=@var{offset} -mtrack-speculation
--moutline-atomics -mearly-ldp-fusion -mlate-ldp-fusion
--Wexperimental-fmv-target}
+-moverride=@var{string}
+-mstack-protector-guard=@var{guard} -mstack-protector-guard-reg=@var{sysreg}
+-mstack-protector-guard-offset=@var{offset} -mtrack-speculation
+-moutline-atomics -mearly-ra -mearly-ldp-fusion -mlate-ldp-fusion
+-msve-vector-bits=@var{bits}}
@emph{Adapteva Epiphany Options} (@ref{Adapteva Epiphany Options})
@gccoptlist{-mhalf-reg-file -mprefer-short-insn-regs
Generate big-endian code. This is the default when GCC is configured for an
@samp{aarch64_be-*-*} target.
+@opindex mlittle-endian
+@item -mlittle-endian
+Generate little-endian code. This is the default when GCC is configured for an
+@samp{aarch64-*-*} but not an @samp{aarch64_be-*-*} target.
+
@opindex menable-sysreg-checking
@item -menable-sysreg-checking
Generates an error message if an attempt is made to access a system register
@opindex mgeneral-regs-only
@item -mgeneral-regs-only
-Generate code which uses only the general-purpose registers. This will prevent
-the compiler from using floating-point and Advanced SIMD registers but will not
+Generate code that uses only the general-purpose registers. This prevents
+the compiler from using floating-point and Advanced SIMD registers but does not
impose any restrictions on the assembler.
-@opindex mlittle-endian
-@item -mlittle-endian
-Generate little-endian code. This is the default when GCC is configured for an
-@samp{aarch64-*-*} but not an @samp{aarch64_be-*-*} target.
-
@opindex mcmodel=
@opindex mcmodel=tiny
@item -mcmodel=tiny
precision of division results to about 16 bits for
single precision and to 32 bits for double precision.
+@opindex mtrack-speculation
+@opindex mno-track-speculation
@item -mtrack-speculation
@itemx -mno-track-speculation
Enable or disable generation of additional code to track speculative
@code{__builtin_speculation_safe_copy} to permit a more efficient code
sequence to be generated.
+@opindex moutline-atomics
+@opindex mno-outline-atomics
@item -moutline-atomics
@itemx -mno-outline-atomics
Enable or disable calls to out-of-line helpers to implement atomic operations.
selected cpu supports the @samp{lse} feature.
This option is on by default.
+@opindex mmax-vectorization
+@opindex mno-max-vectorization
@item -mmax-vectorization
@itemx -mno-max-vectorization
Enable or disable an override to vectorizer cost model making vectorization
@option{-fvect-cost-model=unlimited} this option does not turn off cost
comparison between different vector modes.
+@opindex mautovec-preference
@item -mautovec-preference=@var{name}
Force an ISA selection strategy for auto-vectorization. The possible
values of @var{name} are:
This option is only intended to be useful when developing GCC.
-@opindex mverbose-cost-dump
-@item -mverbose-cost-dump
-Enable verbose cost model dumping in the debug dump files. This option is
-provided for use in debugging the compiler.
-
@opindex mpc-relative-literal-loads
@opindex mno-pc-relative-literal-loads
@item -mpc-relative-literal-loads
@samp{non-leaf}, which enables pointer signing for functions which are not leaf
functions, and @samp{all}, which enables pointer signing for all functions. The
default value is @samp{none}. This option has been deprecated by
--mbranch-protection.
+@option{-mbranch-protection}.
@opindex mbranch-protection
@item -mbranch-protection=@var{features}
@option{-Os}. @option{-mearly-ra=none} is the default otherwise.
@opindex mearly-ldp-fusion
+@opindex mno-early-ldp-fusion
@item -mearly-ldp-fusion
+@itemx -mno-early-ldp-fusion
Enable the copy of the AArch64 load/store pair fusion pass that runs before
register allocation. Enabled by default at @samp{-O} and above.
@opindex mlate-ldp-fusion
+@opindex mno-late-ldp-fusion
@item -mlate-ldp-fusion
+@itemx -mno-late-ldp-fusion
Enable the copy of the AArch64 load/store pair fusion pass that runs after
register allocation. Enabled by default at @samp{-O} and above.
The default is @samp{-msve-vector-bits=scalable}, which produces
vector-length agnostic code.
-@opindex Wexperimental-fmv-target
-@opindex Wno-experimental-fmv-target
-@item -Wexperimental-fmv-target
-This option is deprecated.
@end table
@subsubsection @option{-march} and @option{-mcpu} Feature Modifiers