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]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]