This is the mail archive of the binutils@sources.redhat.com 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]

Re: i386 Intel synax assembler is broken.


On Wed, 16 Aug 2000, Diego Novillo wrote:

> On Tue, 15 Aug 2000, H . J . Lu wrote:
> 
> > This patch seems to work for me. I don't know if it is entirely correct.
> > 
> Yes. That's the first thing I tried and it indeed fixes the
> regression. However, I do not know why the movzx and movsx
> templates have inconsistent IgnoreSize settings.

It would be nice to be enlightened about this.  Perhaps the perptrators of
the intel mode support can remember?  It's a little confusing, especially
since the actual machine instructions _don't_ ignore a data size prefix.
At least, that's the case on my old pentium;  Adding a 0x66 prefix to
0x0fbf results in a "move signed word to word" operation rather than
"move signed word to long".  Of course, the IgnoreSize may be there just
to prevent gas emitting a prefix under some circumstances.

> In any case, this patch does essentially the same thing except
> that it's not affected by relative instruction ordering in the
> opcode table. I don't feel strongly one way or another, though.
> 
> Which one is preferrable?

On the absence of any indication that H.J.'s patch is wrong, I'd say his
should be installed, simply because it doesn't add code.  There are
plenty of other places in include/opcode/i386.h where the ordering of
instructions is important.

Alan Modra
-- 
Linuxcare.  Support for the Revolution.


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