[MIPS] Add i6500 CPU and fix i6400 default ASEs
[deliverable/binutils-gdb.git] / gas / doc / c-ppc.texi
index 7fae6ed196d25e004bf4539c9f89381c25acceca..0bab76ca24c9c3b41c6c993d5ec0088e6ab0dfca 100644 (file)
@@ -1,7 +1,7 @@
-@c Copyright 2001, 2002
-@c Free Software Foundation, Inc.
+@c Copyright (C) 2001-2019 Free Software Foundation, Inc.
 @c This is part of the GAS manual.
 @c For copying conditions, see the file as.texinfo.
+@c man end
 @ifset GENERIC
 @page
 @node PPC-Dependent
@@ -15,6 +15,8 @@
 @cindex PowerPC support
 @menu
 * PowerPC-Opts::                Options
+* PowerPC-Pseudo::              PowerPC Assembler Directives
+* PowerPC-Syntax::              PowerPC Syntax
 @end menu
 
 @node PowerPC-Opts
@@ -32,7 +34,17 @@ reference manual.
 
 The following table lists all available PowerPC options.
 
-@table @code
+@c man begin OPTIONS
+@table @gcctabopt
+@item -a32
+Generate ELF32 or XCOFF32.
+
+@item -a64
+Generate ELF64 or XCOFF64.
+
+@item -K PIC
+Set EF_PPC_RELOCATABLE_LIB in ELF flags.
+
 @item -mpwrx | -mpwr2
 Generate code for POWER/2 (RIOS2).
 
@@ -48,27 +60,97 @@ Generate code for PowerPC 603/604.
 @item -m403, -m405
 Generate code for PowerPC 403/405.
 
+@item -m440
+Generate code for PowerPC 440.  BookE and some 405 instructions.
+
+@item -m464
+Generate code for PowerPC 464.
+
+@item -m476
+Generate code for PowerPC 476.
+
 @item -m7400, -m7410, -m7450, -m7455
 Generate code for PowerPC 7400/7410/7450/7455.
 
+@item -m750cl, -mgekko, -mbroadway
+Generate code for PowerPC 750CL/Gekko/Broadway.
+
+@item -m821, -m850, -m860
+Generate code for PowerPC 821/850/860.
+
 @item -mppc64, -m620
 Generate code for PowerPC 620/625/630.
 
+@item -me500, -me500x2
+Generate code for Motorola e500 core complex.
+
+@item -me500mc
+Generate code for Freescale e500mc core complex.
+
+@item -me500mc64
+Generate code for Freescale e500mc64 core complex.
+
+@item -me5500
+Generate code for Freescale e5500 core complex.
+
+@item -me6500
+Generate code for Freescale e6500 core complex.
+
+@item -mspe
+Generate code for Motorola SPE instructions.
+
+@item -mspe2
+Generate code for Freescale SPE2 instructions.
+
+@item -mtitan
+Generate code for AppliedMicro Titan core complex.
+
 @item -mppc64bridge
 Generate code for PowerPC 64, including bridge insns.
 
-@item -mbooke64
-Generate code for 64-bit BookE.
-
-@item -mbooke, mbooke32
+@item -mbooke
 Generate code for 32-bit BookE.
 
+@item -ma2
+Generate code for A2 architecture.
+
+@item -me300
+Generate code for PowerPC e300 family.
+
 @item -maltivec
 Generate code for processors with AltiVec instructions.
 
-@item -mpower4
+@item -mvle
+Generate code for Freescale PowerPC VLE instructions.
+
+@item -mvsx
+Generate code for processors with Vector-Scalar (VSX) instructions.
+
+@item -mhtm
+Generate code for processors with Hardware Transactional Memory instructions.
+
+@item -mpower4, -mpwr4
 Generate code for Power4 architecture.
 
+@item -mpower5, -mpwr5, -mpwr5x
+Generate code for Power5 architecture.
+
+@item -mpower6, -mpwr6
+Generate code for Power6 architecture.
+
+@item -mpower7, -mpwr7
+Generate code for Power7 architecture.
+
+@item -mpower8, -mpwr8
+Generate code for Power8 architecture.
+
+@item -mpower9, -mpwr9
+Generate code for Power9 architecture.
+
+@item -mcell
+@item -mcell
+Generate code for Cell Broadband Engine architecture.
+
 @item -mcom
 Generate code Power/PowerPC common instructions.
 
@@ -82,18 +164,18 @@ Allow symbolic names for registers.
 Do not allow symbolic names for registers.
 
 @item -mrelocatable
-Support for GCC's -mrelocatble option.
+Support for GCC's -mrelocatable option.
 
 @item -mrelocatable-lib
-Support for GCC's -mrelocatble-lib option.
+Support for GCC's -mrelocatable-lib option.
 
 @item -memb
 Set PPC_EMB bit in ELF flags.
 
-@item -mlittle, -mlittle-endian
+@item -mlittle, -mlittle-endian, -le
 Generate code for a little endian machine.
 
-@item -mbig, -mbig-endian
+@item -mbig, -mbig-endian, -be
 Generate code for a big endian machine.
 
 @item -msolaris
@@ -101,4 +183,57 @@ Generate code for Solaris.
 
 @item -mno-solaris
 Do not generate code for Solaris.
+
+@item -nops=@var{count}
+If an alignment directive inserts more than @var{count} nops, put a
+branch at the beginning to skip execution of the nops.
 @end table
+@c man end
+
+
+@node PowerPC-Pseudo
+@section PowerPC Assembler Directives
+
+@cindex directives for PowerPC
+@cindex PowerPC directives
+A number of assembler directives are available for PowerPC.  The
+following table is far from complete.
+
+@table @code
+@item .machine "string"
+This directive allows you to change the machine for which code is
+generated.  @code{"string"} may be any of the -m cpu selection options
+(without the -m) enclosed in double quotes, @code{"push"}, or
+@code{"pop"}.  @code{.machine "push"} saves the currently selected
+cpu, which may be restored with @code{.machine "pop"}.
+@end table
+
+@node PowerPC-Syntax
+@section PowerPC Syntax
+@menu
+* PowerPC-Chars::                Special Characters
+@end menu
+
+@node PowerPC-Chars
+@subsection Special Characters
+
+@cindex line comment character, PowerPC
+@cindex PowerPC line comment character
+The presence of a @samp{#} on a line indicates the start of a comment
+that extends to the end of the current line.
+
+If a @samp{#} appears as the first character of a line then the whole
+line is treated as a comment, but in this case the line could also be
+a logical line number directive (@pxref{Comments}) or a preprocessor
+control command (@pxref{Preprocessing}).
+
+If the assembler has been configured for the ppc-*-solaris* target
+then the @samp{!} character also acts as a line comment character.
+This can be disabled via the @option{-mno-solaris} command-line
+option.
+
+@cindex line separator, PowerPC
+@cindex statement separator, PowerPC
+@cindex PowerPC line separator
+The @samp{;} character can be used to separate statements on the same
+line.
This page took 0.028439 seconds and 4 git commands to generate.