This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Update patch, separate suffix x/y/z with b/w/d/q . -----Original Message----- From: Jan Beulich [mailto:JBeulich@suse.com] Sent: Monday, June 24, 2019 3:05 PM To: Cui, Lili <lili.cui@intel.com> Cc: Zhang, Annita <annita.zhang@intel.com>; Lu, Hongjiu <hongjiu.lu@intel.com>; Liu, Hongtao <hongtao.liu@intel.com>; Xiao, Wei3 <wei3.xiao@intel.com>; binutils@sourceware.org Subject: Re: i386: Document memory size reference in assembler >>> On 24.06.19 at 05:30, <lili.cui@intel.com> wrote: > --- a/gas/doc/c-i386.texi > +++ b/gas/doc/c-i386.texi > @@ -583,12 +583,16 @@ instruction, do @emph{not} have reversed order. > @ref{i386-Bugs}. > @item > In AT&T syntax the size of memory operands is determined from the last > character of the instruction mnemonic. Mnemonic suffixes of @samp{b}, > -@samp{w}, @samp{l} and @samp{q} specify byte (8-bit), word (16-bit), > long > -(32-bit) and quadruple word (64-bit) memory references. Intel syntax > accomplishes -this by prefixing memory operands (@emph{not} the > instruction mnemonics) with -@samp{byte ptr}, @samp{word ptr}, > @samp{dword ptr} and @samp{qword ptr}. Thus, -Intel @samp{mov al, > byte ptr @var{foo}} is @samp{movb @var{foo}, %al} in AT&T -syntax. > +@samp{w}, @samp{l}, @samp{q}, @samp{x}, @samp{y} and @samp{z} specify > +byte (8-bit), word (16-bit), long (32-bit), quadruple word (64-bit), > +xmm (128-bit vector), ymm (256-bit vector) and zmm (512-bit vector) > +memory references. Intel syntax accomplishes this by prefixing > +memory operands (@emph{not}the instruction mnemonics) with @samp{byte > +ptr}, @samp{word ptr}, @samp{dword ptr}, @samp{qword ptr}, > +@samp{xmmword ptr}, @samp{ymmword ptr} and @samp{zmmword ptr}. Thus, > +Intel syntax @samp{mov al, byte ptr @var{foo}} is @samp{movb > +@var{foo}, %al} in AT&T syntax. In Intel syntax, @samp{fword ptr}, > +@samp{tword ptr} and @samp{oword ptr} specify 48-bit, 80-bit and 128-bit memory references. This makes it sound as if the x/y/z suffixes were universally applicable, just like the b/w/d/q ones are, but that's not the case: They're used (permitted) only when there's no other way to disambiguate an insn. Jan
Attachment:
0001-i386-Document-memory-size-reference-in-assembler.patch
Description: 0001-i386-Document-memory-size-reference-in-assembler.patch
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |