Commit 1f8c015b by Matthew Wahab Committed by Matthew Wahab

invoke.texi (Aarch64 Options, -march): Split out arch and feature description...

2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>

	* doc/invoke.texi (Aarch64 Options, -march): Split out arch and
	feature description, split out the native option, add a link to
	the feature documentation, rearrange and slightly rewrite text.
	(Aarch64 options, -mcpu): Likewise.
	(Aarch64 options, Feature Modifiers): Add an anchor.  Mention
	+rdma implies Adv. SIMD.

From-SVN: r225118
parent b155cfd9
2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
* doc/invoke.texi (Aarch64 Options, -march): Split out arch and
feature description, split out the native option, add a link to
the feature documentation, rearrange and slightly rewrite text.
(Aarch64 options, -mcpu): Likewise.
(Aarch64 options, Feature Modifiers): Add an anchor. Mention
+rdma implies Adv. SIMD.
2015-06-29 Marek Polacek <polacek@redhat.com> 2015-06-29 Marek Polacek <polacek@redhat.com>
PR c/66322 PR c/66322
......
...@@ -12430,24 +12430,26 @@ corresponding flag to the linker. ...@@ -12430,24 +12430,26 @@ corresponding flag to the linker.
@opindex march @opindex march
Specify the name of the target architecture, optionally suffixed by one or Specify the name of the target architecture, optionally suffixed by one or
more feature modifiers. This option has the form more feature modifiers. This option has the form
@option{-march=@var{arch}@r{@{}+@r{[}no@r{]}@var{feature}@r{@}*}}, where the @option{-march=@var{arch}@r{@{}+@r{[}no@r{]}@var{feature}@r{@}*}}.
permissible values for @var{arch} are @samp{armv8-a} or @samp{armv8.1-a}.
The permissible values for @var{feature} are documented in the sub-section The permissible values for @var{arch} are @samp{armv8-a} or
below. Additionally on native AArch64 GNU/Linux systems the value @samp{armv8.1-a}.
For the permissible values for @var{feature}, see the sub-section on
@ref{aarch64-feature-modifiers,,@option{-march} and @option{-mcpu}
Feature Modifiers}. Where conflicting feature modifiers are
specified, the right-most feature is used.
Additionally on native AArch64 GNU/Linux systems the value
@samp{native} is available. This option causes the compiler to pick the @samp{native} is available. This option causes the compiler to pick the
architecture of the host system. If the compiler is unable to recognize the architecture of the host system. If the compiler is unable to recognize the
architecture of the host system this option has no effect. architecture of the host system this option has no effect.
Where conflicting feature modifiers are specified, the right-most feature is GCC uses @var{name} to determine what kind of instructions it can emit
used. when generating assembly code. If @option{-march} is specified
without either of @option{-mtune} or @option{-mcpu} also being
GCC uses this name to determine what kind of instructions it can emit when specified, the code is tuned to perform well across a range of target
generating assembly code. processors implementing the target architecture.
Where @option{-march} is specified without either of @option{-mtune}
or @option{-mcpu} also being specified, the code is tuned to perform
well across a range of target processors implementing the target
architecture.
@item -mtune=@var{name} @item -mtune=@var{name}
@opindex mtune @opindex mtune
...@@ -12460,12 +12462,11 @@ Additionally, this option can specify that GCC should tune the performance ...@@ -12460,12 +12462,11 @@ Additionally, this option can specify that GCC should tune the performance
of the code for a big.LITTLE system. Permissible values for this of the code for a big.LITTLE system. Permissible values for this
option are: @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}. option are: @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}.
Additionally on native AArch64 GNU/Linux systems the value @samp{native} Additionally on native AArch64 GNU/Linux systems the value
is available. @samp{native} is available. This option causes the compiler to pick
This option causes the compiler to pick the architecture of and tune the the architecture of and tune the performance of the code for the
performance of the code for the processor of the host system. processor of the host system. If the compiler is unable to recognize
If the compiler is unable to recognize the processor of the host system the processor of the host system this option has no effect.
this option has no effect.
Where none of @option{-mtune=}, @option{-mcpu=} or @option{-march=} Where none of @option{-mtune=}, @option{-mcpu=} or @option{-march=}
are specified, the code is tuned to perform well across a range are specified, the code is tuned to perform well across a range
...@@ -12475,23 +12476,23 @@ This option cannot be suffixed by feature modifiers. ...@@ -12475,23 +12476,23 @@ This option cannot be suffixed by feature modifiers.
@item -mcpu=@var{name} @item -mcpu=@var{name}
@opindex mcpu @opindex mcpu
Specify the name of the target processor, optionally suffixed by one or more Specify the name of the target processor, optionally suffixed by one
feature modifiers. This option has the form or more feature modifiers. This option has the form
@option{-mcpu=@var{cpu}@r{@{}+@r{[}no@r{]}@var{feature}@r{@}*}}, where the @option{-mcpu=@var{cpu}@r{@{}+@r{[}no@r{]}@var{feature}@r{@}*}}, where
permissible values for @var{cpu} are the same as those available for the permissible values for @var{cpu} are the same as those available
@option{-mtune}. Additionally on native AArch64 GNU/Linux systems the for @option{-mtune}. The permissible values for @var{feature} are
value @samp{native} is available. documented in the sub-section on
This option causes the compiler to tune the performance of the code for the @ref{aarch64-feature-modifiers,,@option{-march} and @option{-mcpu}
processor of the host system. If the compiler is unable to recognize the Feature Modifiers}. Where conflicting feature modifiers are
processor of the host system this option has no effect. specified, the right-most feature is used.
The permissible values for @var{feature} are documented in the sub-section Additionally on native AArch64 GNU/Linux systems the value
below. @samp{native} is available. This option causes the compiler to tune
the performance of the code for the processor of the host system. If
Where conflicting feature modifiers are specified, the right-most feature is the compiler is unable to recognize the processor of the host system
used. this option has no effect.
GCC uses this name to determine what kind of instructions it can emit when GCC uses @var{name} to determine what kind of instructions it can emit when
generating assembly code (as if by @option{-march}) and to determine generating assembly code (as if by @option{-march}) and to determine
the target processor for which to tune for performance (as if the target processor for which to tune for performance (as if
by @option{-mtune}). Where this option is used in conjunction by @option{-mtune}). Where this option is used in conjunction
...@@ -12500,6 +12501,7 @@ over the appropriate part of this option. ...@@ -12500,6 +12501,7 @@ over the appropriate part of this option.
@end table @end table
@subsubsection @option{-march} and @option{-mcpu} Feature Modifiers @subsubsection @option{-march} and @option{-mcpu} Feature Modifiers
@anchor{aarch64-feature-modifiers}
@cindex @option{-march} feature modifiers @cindex @option{-march} feature modifiers
@cindex @option{-mcpu} feature modifiers @cindex @option{-mcpu} feature modifiers
Feature modifiers used with @option{-march} and @option{-mcpu} can be any of Feature modifiers used with @option{-march} and @option{-mcpu} can be any of
...@@ -12525,7 +12527,8 @@ Enable Privileged Access Never support. ...@@ -12525,7 +12527,8 @@ Enable Privileged Access Never support.
@item lor @item lor
Enable Limited Ordering Regions support. Enable Limited Ordering Regions support.
@item rdma @item rdma
Enable ARMv8.1 Advanced SIMD instructions. Enable ARMv8.1 Advanced SIMD instructions. This implies Advanced SIMD
is enabled.
@item -moverride=@var{string} @item -moverride=@var{string}
@opindex master @opindex master
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment