Re: official gnu as reference for x86 instructions - specifically cmpxchg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 21, 2024 at 5:44 PM LIU Hao via Gcc-help
<gcc-help@xxxxxxxxxxx> wrote:
>
> 在 2024-05-17 00:18, anand akhare 写道:
> > thanks everyone for replies. I am referring intel sw dev manual and it is sufficient for my work. It
> > is true intel provides instructions but when instruction support is added in gnu assembler i was
> > sort of hoping it will be documented somewhere. However, that is not necessary because gnu syntax is
> > quite intuitive and if  instruction is supported, it is easy to figure out how it will work by gnu
> > syntax.
>
> As a matter of fact (maybe of all facts), there are always surprises!
>
>
> For example, on https://sourceware.org/binutils/docs/as/i386_002dVariations.html, there is
>
>     ... Mnemonic suffixes of ‘x’, ‘y’ and ‘z’ specify xmm (128-bit vector), ymm (256-bit
>     vector) and zmm (512-bit vector) memory references, only when there’s no other way to
>     disambiguate an instruction. ...
>
> which is wrong. SIMD instructions never have suffixes. This also means the SSE `movq` instruction
I think here, the suffixes of 'x', 'y' and 'z' are for some
instructions in  AT&T format. .i.e. vcvtpd2ph, when src is memory
operand, we don't known it's 512-bit or 256-bit or 128-bit memory, and
the dest is always xmm register(2 packed fp16, 4 packed fp16, 8 packed
fp16).
the suffix is needed to specify operand size.


-- 
BR,
Hongtao




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux