mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-09-09 21:22:20 +08:00
gas/
2007-12-23 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (set_intel_mnemonic): New. (intel_mnemonic): Likewise. (old_gcc): Likewise. (OPTION_MMNEMONIC): Likewise. (OPTION_MSYNTAX): Likewise. (OPTION_MINDEX_REG): Likewise. (OPTION_MNAKED_REG): Likewise. (OPTION_MOLD_GCC): Likewise. (md_pseudo_table): Add .intel_mnemonic and .att_mnemonic. (match_template): Don't allow AT&T/Intel mnemonic if Intel/AT&T mnemonic is specified. Don't allow old gcc support if old_gcc is 0. (md_longopts): Add -mmnemonic, -msyntax, -mindex-reg, -mmnaked-reg and -mold-gcc. (md_parse_option): Handle OPTION_MMNEMONIC, OPTION_MSYNTAX, OPTION_MINDEX_REG, OPTION_MNAKED_REG and OPTION_MOLD_GCC. * doc/c-i386.texi: Docoument -mmnemonic, -msyntax, --mnaked-reg and AT&T mnemonic vs. Intel mnemonic. gas/testsuite/ 2007-12-23 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/compat-intel.d: Pass -mmnemonic=att to assembler. * gas/i386/compat.d: Likewise. * gas/i386/i386.exp: Pass -mmnemonic=att to assembler for "float". Pass -mold-gcc to assembler for "general". opcodes/ 2007-12-23 H.J. Lu <hongjiu.lu@intel.com> * i386-gen.c (opcode_modifiers): Add OldGcc, ATTMnemonic and IntelMnemonic. * i386-opc.h (OldGcc): New. (ATTMnemonic): Likewise. (IntelMnemonic): Likewise. (Opcode_Modifier_Max): Updated. (i386_opcode_modifier): Add oldgcc, attmnemonic and intelmnemonic. * i386-opc.tbl: Update fadd, fdiv, fdivp, fdivr, fdivrp, fmul, fsub, fsubp, fsubr and fsubrp with OldGcc, ATTMnemonic and IntelMnemonic. * i386-tbl.h: Regeneratd.
This commit is contained in:
@ -119,6 +119,29 @@ generated.
|
||||
|
||||
Valid @var{CPU} values are identical to @option{-march=@var{CPU}}.
|
||||
|
||||
@cindex @samp{-mmnemonic=} option, i386
|
||||
@cindex @samp{-mmnemonic=} option, x86-64
|
||||
@item -mmnemonic=@var{att}
|
||||
@item -mmnemonic=@var{intel}
|
||||
This option specifies instruction mnemonic for matching instructions.
|
||||
The @code{.att_mnemonic} and @code{.intel_mnemonic} directives will
|
||||
take precedent.
|
||||
|
||||
@cindex @samp{-msyntax=} option, i386
|
||||
@cindex @samp{-msyntax=} option, x86-64
|
||||
@item -msyntax=@var{att}
|
||||
@item -msyntax=@var{intel}
|
||||
This option specifies instruction syntax when processing instructions.
|
||||
The @code{.att_syntax} and @code{.intel_syntax} directives will
|
||||
take precedent.
|
||||
|
||||
@cindex @samp{-mnaked-reg} option, i386
|
||||
@cindex @samp{-mnaked-reg} option, x86-64
|
||||
@item -mnaked-reg
|
||||
This opetion specifies that registers don't require a @samp{%} prefix.
|
||||
The @code{.att_mnemonic}, @code{.intel_mnemonic}, @code{.att_syntax} and
|
||||
@code{.intel_syntax} directives will take precedent.
|
||||
|
||||
@end table
|
||||
|
||||
@node i386-Syntax
|
||||
@ -297,6 +320,23 @@ Far call/jump instructions are @samp{lcall} and @samp{ljmp} in
|
||||
AT&T syntax, but are @samp{call far} and @samp{jump far} in Intel
|
||||
convention.
|
||||
|
||||
@section AT&T Mnemonic versus Intel Mnemonic
|
||||
|
||||
@cindex i386 mnemonic compatibility
|
||||
@cindex mnemonic compatibility, i386
|
||||
|
||||
@code{@value{AS}} supports assembly using Intel mnemonic.
|
||||
@code{.intel_mnemonic} selects Intel mnemonic with Intel syntax, and
|
||||
@code{.att_mnemonic} switches back to the usual AT&T mnemonic with AT&T
|
||||
syntax for compatibility with the output of @code{@value{GCC}}.
|
||||
Either of these directives may have an optional argument, @code{prefix},
|
||||
or @code{noprefix} specifying whether registers require a @samp{%} prefix.
|
||||
Several x87 instructions, @samp{fadd}, @samp{fdiv}, @samp{fdivp},
|
||||
@samp{fdivr}, @samp{fdivrp}, @samp{fmul}, @samp{fsub}, @samp{fsubp},
|
||||
@samp{fsubr} and @samp{fsubrp}, are implemented in AT&T System V/386
|
||||
assembler with different mnemonics from those in Intel IA32 specification.
|
||||
@code{@value{GCC}} generates those instructions with AT&T mnemonic.
|
||||
|
||||
@node i386-Regs
|
||||
@section Register Naming
|
||||
|
||||
|
Reference in New Issue
Block a user