This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
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