This is the mail archive of the binutils@sourceware.cygnus.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: PATCH: add pa2.0 system instructions


>> "jeff" == Jeffrey A Law <law@cygnus.com> writes:

 jeff>   In message <14214.11878.766249.924457@gargle.gargle.HOWL>you write:
 >> But, if we're willing to go to the effort of prefixing to free up codes,
 >> we can handle this by adding codes that only accept registers versus the
 >> ones that cast immediates to registers.  In this case, the stricter syntax
 >> restriction comes for free.
 jeff> I think it's just as easy (or easier) to require % prefixing for
 jeff> registers when dealing with new syntax.  That's how HP's assembler
 jeff> works and that's basically what the FLAG_STRICT stuff does.  Anytime
 jeff> we're trying to match an opcode using the new syntax we require all
 jeff> register operands to be prefixed with %.

Actually I was suggesting more or less the same thing except using codes
rather than a flag.  But I don't think it really matters which.

I've done a more complete accounting of the necessary codes and come up with
60(!), but I don't think there will be any preserved state in the main loops
this way.  Of these, 34 are completers, 8 shift amounts (most for new pseudos
shlw, shrd, shrw), 6 conditions, and 6 displacements.

I've posted a patch to group all the conditions to binutils.  That patch frees
up a number of codes.  I didn't have to do anything other than soak up a
character from the args.  

I think that additionally prefixing the completer and floating point register
codes will be enough to complete the 2.0 instruction set.

Jerry


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