This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: Remove memory check on SVME instructions
- From: "Jan Beulich" <jbeulich at novell dot com>
- To: <hjl at lucon dot org>
- Cc: <christophe dot harle at amd dot com>,<dwarak dot rajagopal at amd dot com>, <michael dot meissner at amd dot com>, <binutils at sources dot redhat dot com>
- Date: Thu, 06 Sep 2007 06:41:44 +0100
- Subject: Re: PATCH: Remove memory check on SVME instructions
>>> "H.J. Lu" <hjl@lucon.org> 09/06/07 6:42 AM >>>
>On Wed, Sep 05, 2007 at 06:07:04PM +0100, Jan Beulich wrote:
>> >>> "H.J. Lu" <hjl@lucon.org> 09/05/07 3:27 PM >>>
>> >> >SVME instructions don't take any memory operand. You will get an
>> >> >error if you try to use an memory operand.
>> >>
>> >> They really do, just the addressing is so that only rAX can be used. If you check
>> >> the svme test case, you'll see that there are explict uses of memory operands. In
>> >> the original patch implementation it may not have been that way, but since the
>> >> meaning of the operands is memory-like, we agreed on a memory-like notation
>> >> iirc.
>> >
>> >It is wrong and has been fixed.
>>
>> On what basis are you concluding this? As I said, we had specifically agreed on a
>> memory operand like notation, to reflect the actual effect these opcodes have.
>
>It doesn't make those instructions take memory operands as specified
>in IA32 encoding scheme.
But that is the point I'm trying to make: No matter what the byte level encoding,
mnemonics and operands should be expressing what an instruction does (e.g. I
would also say that monitor hasn't been defined properly). And from that
perspective, invlpga parallels invlpg, and vmload/vmrun/vmsave parallel fsave/
frstor/etc (and I was actually promised the mnemonics in the manual would be
changed accordingly, which unfortunately hasn't happened).
But anyway, I'm giving up.
Jan