This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: ENTER/BOUND operands order.
- From: "SÅawomir Wojtasiak" <slawomir dot wojtasiak at swksoftware dot pl>
- To: ""Michael Zolotukhin"" <michael dot v dot zolotukhin at gmail dot com>
- Cc: ""Jan Beulich"" <jbeulich at suse dot com>, ""H.J. Lu"" <hjl dot tools at gmail dot com>, ""binutils at sourceware dot org"" <binutils at sourceware dot org>
- Date: Thu, 16 Jan 2014 21:36:40 +0100
- Subject: Re: ENTER/BOUND operands order.
- Authentication-results: sourceware.org; auth=none
- References: <3482868a668de8ebe53975eb7d79d725 dot qmail at home dot pl> < b4fcb2a62aa358bc134689ccd33eebcb dot qmail at home dot pl> < 52D7A465020000780011423E at nat28 dot tlf dot novell dot com> < CANtU078BKxoUiKdmqp8ii0TFvi2T1itzzn7dicQoAbKzdwtRmg at mail dot gmail dot com> < 52D807FE02000078001144A2 at nat28 dot tlf dot novell dot com> <CANtU07-s= VXv2yCb2FA_Dyco14d5LiC4of7r7zCkNa+4_omFxg at mail dot gmail dot com> < 52D80C8402000078001144D5 at nat28 dot tlf dot novell dot com>
Hi, Michael
Dnia 2014-01-16 17:48 Michael Zolotukhin napisaÅ(a):
>> Is there anything supporting this view of yours?
>I will recheck it with the document authors and get back to you.
>
>> That would be very odd: Tests setting language standards. If you
>> don't take the Intel manual as sufficient reference, the next best
>> thing setting a standard here is MASM. Did you check how they
>> require the operands to be ordered?
>No, I didn't. I don't think MASM is a reference here either though, as
>it is another asm. But I agree that there could me much confusion with
>this syntax, and in future it should be either explicitly specified in
>the instructions documentation, or in a separate document.
>
>Michael
>
Unfortunately as Jan said, these instructions seem to be broken. Intel
manual is pretty accurate about the syntax of EVEX-encoded instructions.
Unit tests can not prove anything in this specific case. Opmask registers as
well as EVEX flags are encoded using these braces located directly next to
the instruction operands. There is also a lot of examples which describe
various forms of instructions encoding and location of these flags. For
instance:
***
Additionally, the EVEX encoding scheme of AVX-512 Foundation can express
conditional vector addition as
VADDPS zmm1 {k1}{z}, zmm2, zmm3
***
****
"An example of use would be in the following instructions:
vaddps zmm7 {k6}, zmm2, zmm4, {rd-sae}"
****
****
; instructions with memory operands
vmulps zmm7 {k6}, zmm2,[rax], {rd-sae}
****
Maybe the version of the reference manual is the case. I use 319433-17.pdf.
Regards,
SÅawomir Wojtasiak