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 InvMem from MMX/SSE instructions


On Mon, Jul 17, 2006 at 06:18:58PM +0930, Alan Modra wrote:
> On Sun, Jul 16, 2006 at 10:13:29AM -0700, H. J. Lu wrote:
> > On Sun, Jul 16, 2006 at 01:23:56PM +0930, Alan Modra wrote:
> > > On Thu, Jul 13, 2006 at 04:09:03PM -0700, H. J. Lu wrote:
> > > > http://sourceware.org/ml/binutils/2001-05/msg00065.html
> > > > http://sourceware.org/ml/binutils/2001-05/msg00187.html
> > > > 
> > > > use InvMem on source operand to indicate that it must be register. 
> > > > I don't believe it is correct since RegYYY won't match memory anyway
> > > > and InvMem is used to indicate how operand should be encoded. This
> > > > patch removes it.
> > > 
> > > It's true that the way the code is currently written that removing this
> > > flag will not change the insn encoding.  All InvMem does on *source*
> > > operands of these reg->reg insns is document that the register is
> > > encoded in the regmem field of the modrm byte.  So why do you want to
> > > remove documentation?  There is certainly nothing wrong with InvMem on
> > > these operands.
> > 
> > Those operands only take registers and are encoded properly. What
> > additional information does InvMem provide here?
> 
> Didn't you read what I said?  To a programmer reading i386.h, InvMem
> says that this particular register operand is encoded in the regmem
> field, and the other register is encoded in the reg field.

InvMem is only checked on the destination register operand in
instructions with 2 register operands. It looks like InvMem is really
used on the destination register operand to indicate how to encode an 
instruction with 2 register operands.


H.J.


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