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: An ia32 LOCK/XADD bug.


On Thu, May 17, 2001 at 12:15:56AM -0700, H . J . Lu wrote:
> It looks like
> 
> 	lock xadd %edx,%edx
> 
> is an illegal instruction on ia32.  I cannot find anything in Intel
> reference manual to say you cannot have LOCK on insn where DST/SRC are
> reg or same. My questions are
> 
> 1. How to write a correct exchange_and_add? Is exchange_and_add_1 ok?

I think you'll need to use "=&r" and "=&m" as output constraints.

> 2. If "lock xadd %edx,%edx" is really an illegal instruction on ia32,
> how should we fix gas to detect that?

IMO, we shouldn't.  There are plenty of other instructions that we
can generate that are illegal.


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