x86: Document movsx/movsxd/movzx for AT&T syntax
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 14 Feb 2020 12:57:01 +0000 (04:57 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 14 Feb 2020 12:57:16 +0000 (04:57 -0800)
Document different mnemonics of movsx, movsxd and movzx in AT&T syntax.

PR gas/25438
* doc/c-i386.texi: Document movsx, movsxd and movzx for AT&T
syntax.

gas/ChangeLog
gas/doc/c-i386.texi

index 8d5426d7641f358c04ba89d659bbec1b26ddb722..67d137940f7d7c60e961291e1efef9a49fcd3972 100644 (file)
@@ -1,3 +1,9 @@
+2020-02-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/25438
+       * doc/c-i386.texi: Document movsx, movsxd and movzx for AT&T
+       syntax.
+
 2020-02-13  Fangrui Song   <maskray@google.com>
            H.J. Lu  <hongjiu.lu@intel.com>
 
index 4eaf53311fd442794546ec782b14db93978cca84..ba0df76d43a1d56eef7bbe57da8fc3f6e1c89224 100644 (file)
@@ -835,6 +835,59 @@ are called @samp{cbtw}, @samp{cwtl}, @samp{cwtd}, @samp{cltd}, @samp{cltq}, and
 @samp{cqto} in AT&T naming.  @code{@value{AS}} accepts either naming for these
 instructions.
 
+@cindex extension instructions, i386
+@cindex i386 extension instructions
+@cindex extension instructions, x86-64
+@cindex x86-64 extension instructions
+The Intel-syntax extension instructions
+
+@itemize @bullet
+@item
+@samp{movsx} --- sign-extend @samp{reg8/mem8} to @samp{reg16}.
+
+@item
+@samp{movsx} --- sign-extend @samp{reg8/mem8} to @samp{reg32}.
+
+@item
+@samp{movsx} --- sign-extend @samp{reg8/mem8} to @samp{reg64}
+(x86-64 only).
+
+@item
+@samp{movsx} --- sign-extend @samp{reg16/mem16} to @samp{reg32}
+
+@item
+@samp{movsx} --- sign-extend @samp{reg16/mem16} to @samp{reg64}
+(x86-64 only).
+
+@item
+@samp{movsxd} --- sign-extend @samp{reg32/mem32} to @samp{reg64}
+(x86-64 only).
+
+@item
+@samp{movzx} --- zero-extend @samp{reg8/mem8} to @samp{reg16}.
+
+@item
+@samp{movzx} --- zero-extend @samp{reg8/mem8} to @samp{reg32}.
+
+@item
+@samp{movzx} --- zero-extend @samp{reg8/mem8} to @samp{reg64}
+(x86-64 only).
+
+@item
+@samp{movzx} --- zero-extend @samp{reg16/mem16} to @samp{reg32}
+
+@item
+@samp{movzx} --- zero-extend @samp{reg16/mem16} to @samp{reg64}
+(x86-64 only).
+@end itemize
+
+@noindent
+are called @samp{movsbw/movsxb/movsx}, @samp{movsbl/movsxb/movsx},
+@samp{movsbq/movsb/movsx}, @samp{movswl/movsxw}, @samp{movswq/movsxw},
+@samp{movslq/movsxl}, @samp{movzbw/movzxb/movzx},
+@samp{movzbl/movzxb/movzx}, @samp{movzbq/movzxb/movzx},
+@samp{movzwl/movzxw} and @samp{movzwq/movzxw} in AT&T syntax.
+
 @cindex jump instructions, i386
 @cindex call instructions, i386
 @cindex jump instructions, x86-64