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



  In message <14211.50168.462241.720881@gargle.gargle.HOWL>you write:
  > I tried to count up the cases where we would need 
  > new codes and I don't think there are enough single letters left to do the 
  > job well.  Renaming the float codes will give us a significant amount of
  >  extra room. 
There's a few ways to get more letters.

First, we're only using stuff in the printable ascii character set right
now.    It works perfectly well to use stuff like \001.  Which is the road
I started down.  However, it's not exactly great for readability.

Revisiting your prefixing stuff has been on my todo list for the cleanup.  The
one thing I don't like about it is it introduces more state into a pretty nasty
part of the assembler.  Then again, some of the PA2.0 support absolutely
requires state variables to hold information about the completers that's
needed later to know how to interpret certain operands.  Gross gross gross.

We also get a few back by dropping old-format disassembly.


  > The best situation would allow us to include some of the completers in the
  > opcode name itself, but I don't see how that will work easily.
I can be done -- I've done it for a wacky mips variant.  Basically you do
two table lookups.  First with the completer.  If there was no match, then you
do the lookup without the completer.

This kind of scheme works well if instructions have a single completer that
takes a small number of forms.  PA2.0 has some instructions which fall into
this category.

Putting completers into the opcode itself does poorly when opcodes have 
multiple
completers and/or the completers have many different forms.  That is the case
for most PA instructions.

  >  jeff> syntax, so there's no need to work on that, except from a testing
  >  jeff> standpoint.
  > 
  > Are you making the new syntax active in gas at all levels or just 2.0?
The assembler will accept either syntax.  The disassembler only disassembles
into the new style.

jeff



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