From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joel Sherrill To: Ian Lance Taylor Cc: gas2@cygnus.com Subject: Re: binutils bug you reported (fwd) Date: Thu, 25 Sep 1997 10:28:00 -0000 Message-id: References: <199709251700.NAA21402@subrogation.cygnus.com> X-SW-Source: 1997/msg00019.html On Thu, 25 Sep 1997, Ian Lance Taylor wrote: > > 2. 'tblu.w a0@,d0' won't assemble. The error message tells something about > 'invalid operand'. The table lookup and interpolate opcode > (tbls, tblsn, > tblu, tblun) allows two types of operands: > > eg: > tblu. ,Dx > tblu. Dym:Dyn,Dx > > Interesting. My basic Motorola manual says that tbls does not permits > a0@, although it does permit a0@-, and that is what gas implements. > However, the manual also says that tblu permits both a0@ and a0@-, and > gas does not implement that. My reading of the 68000 Instruction Set Manual says that it is not permitted which is consistent with the implementation. But the CPU32 Reference Manual is pretty clear in that a0@ is permitted for both instructions but not a0@- or a0@+. Sounds like the manual set is very inconsistent. It would be interesting to listen to someone at Motorola squirm. :) > I checked a CPU32 specific manual, and it says that both instructions > support a0@, and neither supports a0@-. That's my interpretation as well. > I couldn't get any useful information from the Motorola web site. No Surprise here. They have a lot of stuff on their site but you can never find what you are looking for. > Since a0@- doesn't really make sense for these instructions, I'll > change gas to not permit a0@-, but to permit a0@, for both. > > Either way, the submitted patch is wrong, since it permits operand > types which are not actually permitted. Fine. It sounds like whoover wrote the patch was not that knowledgeable but knew there was a problem. Thanks. --joel