\input texinfo @c -*-Texinfo-*-
-@c Copyright (C) 1991-2018 Free Software Foundation, Inc.
+@c Copyright (C) 1991-2019 Free Software Foundation, Inc.
@c UPDATE!! On future updates--
@c (1) check for new machine-dep cmdline options in
@c md_parse_option definitions in config/tc-*.c
@ifset Blackfin
@set Blackfin
@end ifset
+@ifset BPF
+@set BPF
+@end ifset
@ifset H8/300
@set H8
@end ifset
This file documents the GNU Assembler "@value{AS}".
@c man begin COPYRIGHT
-Copyright @copyright{} 1991-2018 Free Software Foundation, Inc.
+Copyright @copyright{} 1991-2019 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
@end tex
@vskip 0pt plus 1filll
-Copyright @copyright{} 1991-2018 Free Software Foundation, Inc.
+Copyright @copyright{} 1991-2019 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
[@b{-mno-fdpic}]
[@b{-mnopic}]
@end ifset
+@ifset BPF
+
+@emph{Target BPF options:}
+ [@b{-EL}] [@b{-EB}]
+@end ifset
@ifset CRIS
@emph{Target CRIS options:}
@c Deprecated -- deliberately not documented.
@c [@b{-h}] [@b{-H}]
@end ifset
+@ifset CSKY
+
+@emph{Target C-SKY options:}
+ [@b{-march=@var{arch}}] [@b{-mcpu=@var{cpu}}]
+ [@b{-EL}] [@b{-mlittle-endian}] [@b{-EB}] [@b{-mbig-endian}]
+ [@b{-fpic}] [@b{-pic}]
+ [@b{-mljump}] [@b{-mno-ljump}]
+ [@b{-force2bsr}] [@b{-mforce2bsr}] [@b{-no-force2bsr}] [@b{-mno-force2bsr}]
+ [@b{-jsri2bsr}] [@b{-mjsri2bsr}] [@b{-no-jsri2bsr }] [@b{-mno-jsri2bsr}]
+ [@b{-mnolrw }] [@b{-mno-lrw}]
+ [@b{-melrw}] [@b{-mno-elrw}]
+ [@b{-mlaf }] [@b{-mliterals-after-func}]
+ [@b{-mno-laf}] [@b{-mno-literals-after-func}]
+ [@b{-mlabr}] [@b{-mliterals-after-br}]
+ [@b{-mno-labr}] [@b{-mnoliterals-after-br}]
+ [@b{-mistack}] [@b{-mno-istack}]
+ [@b{-mhard-float}] [@b{-mmp}] [@b{-mcp}] [@b{-mcache}]
+ [@b{-msecurity}] [@b{-mtrust}]
+ [@b{-mdsp}] [@b{-medsp}] [@b{-mvdsp}]
+@end ifset
@ifset D10V
@emph{Target D10V options:}
[@b{-mmcu}] [@b{-mno-mcu}]
[@b{-mcrc}] [@b{-mno-crc}]
[@b{-mginv}] [@b{-mno-ginv}]
+ [@b{-mloongson-mmi}] [@b{-mno-loongson-mmi}]
+ [@b{-mloongson-cam}] [@b{-mno-loongson-cam}]
+ [@b{-mloongson-ext}] [@b{-mno-loongson-ext}]
+ [@b{-mloongson-ext2}] [@b{-mno-loongson-ext2}]
[@b{-minsn32}] [@b{-mno-insn32}]
[@b{-mfix7000}] [@b{-mno-fix7000}]
[@b{-mfix-rm7000}] [@b{-mno-fix-rm7000}]
[@b{-mfix-vr4120}] [@b{-mno-fix-vr4120}]
[@b{-mfix-vr4130}] [@b{-mno-fix-vr4130}]
+ [@b{-mfix-r5900}] [@b{-mno-fix-r5900}]
[@b{-mdebug}] [@b{-no-mdebug}]
[@b{-mpdr}] [@b{-mno-pdr}]
@end ifset
[@b{-mfull-regs}] [@b{-m[no-]dx-regs}] [@b{-mpic}] [@b{-mno-relax}]
[@b{-mb2bb}]
@end ifset
+@ifset OPENRISC
+@c OpenRISC has no machine-dependent assembler options.
+@end ifset
@ifset PDP11
@emph{Target PDP11 options:}
@emph{Target PowerPC options:}
[@b{-a32}|@b{-a64}]
[@b{-mpwrx}|@b{-mpwr2}|@b{-mpwr}|@b{-m601}|@b{-mppc}|@b{-mppc32}|@b{-m603}|@b{-m604}|@b{-m403}|@b{-m405}|
- @b{-m440}|@b{-m464}|@b{-m476}|@b{-m7400}|@b{-m7410}|@b{-m7450}|@b{-m7455}|@b{-m750cl}|@b{-mppc64}|
- @b{-m620}|@b{-me500}|@b{-e500x2}|@b{-me500mc}|@b{-me500mc64}|@b{-me5500}|@b{-me6500}|@b{-mppc64bridge}|
- @b{-mbooke}|@b{-mpower4}|@b{-mpwr4}|@b{-mpower5}|@b{-mpwr5}|@b{-mpwr5x}|@b{-mpower6}|@b{-mpwr6}|
- @b{-mpower7}|@b{-mpwr7}|@b{-mpower8}|@b{-mpwr8}|@b{-mpower9}|@b{-mpwr9}@b{-ma2}|
+ @b{-m440}|@b{-m464}|@b{-m476}|@b{-m7400}|@b{-m7410}|@b{-m7450}|@b{-m7455}|@b{-m750cl}|@b{-mgekko}|
+ @b{-mbroadway}|@b{-mppc64}|@b{-m620}|@b{-me500}|@b{-e500x2}|@b{-me500mc}|@b{-me500mc64}|@b{-me5500}|
+ @b{-me6500}|@b{-mppc64bridge}|@b{-mbooke}|@b{-mpower4}|@b{-mpwr4}|@b{-mpower5}|@b{-mpwr5}|@b{-mpwr5x}|
+ @b{-mpower6}|@b{-mpwr6}|@b{-mpower7}|@b{-mpwr7}|@b{-mpower8}|@b{-mpwr8}|@b{-mpower9}|@b{-mpwr9}@b{-ma2}|
@b{-mcell}|@b{-mspe}|@b{-mspe2}|@b{-mtitan}|@b{-me300}|@b{-mcom}]
[@b{-many}] [@b{-maltivec}|@b{-mvsx}|@b{-mhtm}|@b{-mvle}]
[@b{-mregnames}|@b{-mno-regnames}]
@end ifset
@item --help
-Print a summary of the command line options and exit.
+Print a summary of the command-line options and exit.
@item --target-help
Print a summary of all target specific options and exit.
@end ifset
+@ifset BPF
+
+@ifclear man
+@xref{BPF Options}, for the options available when @value{AS} is
+configured for the Linux kernel BPF processor family.
+@end ifclear
+
+@ifset man
+@c man begin OPTIONS
+The following options are available when @value{AS} is configured for
+the Linux kernel BPF processor family.
+@c man end
+@c man begin INCLUDE
+@include c-bpf.texi
+@c ended inside the included file
+@end ifset
+
+@end ifset
+
@c man begin OPTIONS
@ifset CRIS
See the info pages for documentation of the CRIS-specific options.
@end ifset
+@ifset CSKY
+
+@ifclear man
+@xref{C-SKY Options}, for the options available when @value{AS} is
+configured for the C-SKY processor family.
+@end ifclear
+
+@ifset man
+@c man begin OPTIONS
+The following options are available when @value{AS} is configured for
+the C-SKY processor family.
+@c man end
+@c man begin INCLUDE
+@include c-csky.texi
+@c ended inside the included file
+@end ifset
+
+@end ifset
+
@ifset D10V
The following options are available when @value{AS} is configured for
a D10V processor.
Cause nops to be inserted if a dmult or dmultu instruction is
followed by a load instruction.
+@item -mfix-r5900
+@itemx -mno-fix-r5900
+Do not attempt to schedule the preceding instruction into the delay slot
+of a branch instruction placed at the end of a short loop of six
+instructions or fewer and always schedule a @code{nop} instruction there
+instead. The short loop bug under certain conditions causes loops to
+execute only once or twice, due to a hardware bug in the R5900 chip.
+
@item -mdebug
@itemx -no-mdebug
Cause stabs-style debugging output to go into an ECOFF-style .mdebug
Extension. This tells the assembler to accept GINV instructions.
@samp{-mno-ginv} turns off this option.
+@item -mloongson-mmi
+@itemx -mno-loongson-mmi
+Generate code for the Loongson MultiMedia extensions Instructions (MMI)
+Application Specific Extension. This tells the assembler to accept MMI
+instructions.
+@samp{-mno-loongson-mmi} turns off this option.
+
+@item -mloongson-cam
+@itemx -mno-loongson-cam
+Generate code for the Loongson Content Address Memory (CAM) instructions.
+This tells the assembler to accept Loongson CAM instructions.
+@samp{-mno-loongson-cam} turns off this option.
+
+@item -mloongson-ext
+@itemx -mno-loongson-ext
+Generate code for the Loongson EXTensions (EXT) instructions.
+This tells the assembler to accept Loongson EXT instructions.
+@samp{-mno-loongson-ext} turns off this option.
+
+@item -mloongson-ext2
+@itemx -mno-loongson-ext2
+Generate code for the Loongson EXTensions R2 (EXT2) instructions.
+This option implies @samp{-mloongson-ext}.
+This tells the assembler to accept Loongson EXT2 instructions.
+@samp{-mno-loongson-ext2} turns off this option.
+
@item -minsn32
@itemx -mno-insn32
Only use 32-bit instruction encodings when generating code for the
@item -jsri2bsr
@itemx -nojsri2bsr
Enable or disable the JSRI to BSR transformation. By default this is enabled.
-The command line option @samp{-nojsri2bsr} can be used to disable it.
+The command-line option @samp{-nojsri2bsr} can be used to disable it.
@item -sifilter
@itemx -nosifilter
Enable or disable the silicon filter behaviour. By default this is disabled.
-The default can be overridden by the @samp{-sifilter} command line option.
+The default can be overridden by the @samp{-sifilter} command-line option.
@item -relax
Alter jump instructions for long displacements.
explicitly, as one of the files for @command{@value{AS}} to assemble.
@cindex options, command line
-Except for @samp{--} any command line argument that begins with a
+Except for @samp{--} any command-line argument that begins with a
hyphen (@samp{-}) is an option. Each option changes the behavior of
@command{@value{AS}}. No option changes the way another option works. An
option is a @samp{-} followed by one or more letters; the case of
You give @command{@value{AS}} a command line that has zero or more input file
names. The input files are read (from left file name to right). A
-command line argument (in any position) that has no special meaning
+command-line argument (in any position) that has no special meaning
is taken to be an input file name.
If you give @command{@value{AS}} no file names it attempts to read one input file
Note if the assembler source is coming from the standard input (e.g.,
because it
-is being created by @code{@value{GCC}} and the @samp{-pipe} command line switch
+is being created by @code{@value{GCC}} and the @samp{-pipe} command-line switch
is being used) then the listing will not contain any comments or preprocessor
directives. This is because the listing code buffers input source lines from
stdin only after they have been preprocessed by the assembler. This reduces
@node listing
@section Configuring listing output: @option{--listing}
-The listing feature of the assembler can be enabled via the command line switch
+The listing feature of the assembler can be enabled via the command-line switch
@samp{-a} (@pxref{a}). This feature combines the input source file(s) with a
hex dump of the corresponding locations in the output object file, and displays
them as a listing file. The format of this listing can be controlled by
line comment characters that only work if they are the first character on a
line. Some targets use a sequence of two characters to introduce a line
comment. Some targets can also change their line comment characters depending
-upon command line options that have been used. For more details see the
+upon command-line options that have been used. For more details see the
@emph{Syntax} section in the documentation for individual targets.
If the line comment character is the hash sign (@samp{#}) then it still has the
strongarm, it is the
number of low-order zero bits the location counter must have after
advancement. For example @samp{.align 3} advances the location
-counter until it a multiple of 8. If the location counter is already a
+counter until it is a multiple of 8. If the location counter is already a
multiple of 8, no change is needed.
This inconsistency is due to the different behaviors of the various
generated whenever the counter is greater than zero.
By default, listings are disabled. When you enable them (with the
-@samp{-a} command line option; @pxref{Invoking,,Command-Line Options}),
+@samp{-a} command-line option; @pxref{Invoking,,Command-Line Options}),
the initial value of the listing counter is one.
@node Ln
storage boundary. The first expression (which must be absolute) is the
number of low-order zero bits the location counter must have after
advancement. For example @samp{.p2align 3} advances the location
-counter until it a multiple of 8. If the location counter is already a
+counter until it is a multiple of 8. If the location counter is already a
multiple of 8, no change is needed.
The second expression (also absolute) gives the fill value to be stored in the
@cindex filling memory with zero bytes
This directive emits @var{size} 0-valued bytes. @var{size} must be an absolute
expression. This directive is actually an alias for the @samp{.skip} directive
-so in can take an optional second argument of the value to store in the bytes
+so it can take an optional second argument of the value to store in the bytes
instead of zero. Using @samp{.zero} in this way would be confusing however.
@end ifclear
@ifset Blackfin
* Blackfin-Dependent:: Blackfin Dependent Features
@end ifset
+@ifset BPF
+* BPF-Dependent:: BPF Dependent Features
+@end ifset
@ifset CR16
* CR16-Dependent:: CR16 Dependent Features
@end ifset
@ifset CRIS
* CRIS-Dependent:: CRIS Dependent Features
@end ifset
+@ifset CSKY
+* C-SKY-Dependent:: C-SKY Dependent Features
+@end ifset
@ifset D10V
* D10V-Dependent:: D10V Dependent Features
@end ifset
* M68HC11-Dependent:: M68HC11 and 68HC12 Dependent Features
@end ifset
@ifset S12Z
-* S12Z-Dependent:: S12Z Dependent Features
+* S12Z-Dependent:: S12Z Dependent Features
@end ifset
@ifset METAG
* Meta-Dependent :: Meta Dependent Features
@ifset NS32K
* NS32K-Dependent:: NS32K Dependent Features
@end ifset
+@ifset OPENRISC
+* OpenRISC-Dependent:: OpenRISC 1000 Features
+@end ifset
@ifset PDP11
* PDP-11-Dependent:: PDP-11 Dependent Features
@end ifset
@include c-bfin.texi
@end ifset
+@ifset BPF
+@include c-bpf.texi
+@end ifset
+
@ifset CR16
@include c-cr16.texi
@end ifset
@include c-cris.texi
@end ifset
+@ifset CSKY
+@include c-csky.texi
+@end ifset
+
@ifset Renesas-all
@ifclear GENERIC
@node Machine Dependencies
@include c-ns32k.texi
@end ifset
+@ifset OPENRISC
+@include c-or1k.texi
+@end ifset
+
@ifset PDP11
@include c-pdp11.texi
@end ifset