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: minor hppa disasm cleanup


  In message <376802F6.B6FBAE0F@americasm01.nt.com>you write:
  > Jeffrey A Law wrote:
  > > 
  > >   In message <199906011505.LAA08672@wmtl249c.us.nortel.com>you write:
  > >   > In the pa disassembler, the 'E' code is always used for 0x0C opcodes
  > >   > where only left register halves occur.  So the L/R selection bit at 2
  > 5
  > >   > is always 0 and the test isn't required.
  > >   >
  > >   > This is patched against 990413, since I can't use cvs to update my
  > >   > snapshot (restrictive firewall) and this is the last one I have.
  > >   >
  > >   > Changelog entry:
  > >   >
  > >   > Tue Jun  1 11:03:02 EDT 1999  Jerry Quinn <jquinn@nortelnetworks.com>
  > >   >
  > >   >     * hppa-dis.c (print_insn_hppa): Remove unnecessary test in 'E'
  > >   >       code.
  > > Is this really correct?  Consider xmpyu, fmpyfadd & fmpynfadd, none of wh
  > ich
  > > are 0xc opcodes, but all use 'E'
  > 
  > I think the 'E' code in these three instructions is incorrect.  The
  > disassembler considers E to be 6:10,25 while J is 6:10,24.  In the
  > assembler, the templates with 'J' are never used at all.  Instead, the
  > template with 'E' detects if there is an R float reg and then flips the
  > opcode from 0xc to 0xe.  It just happens that that opcode flip is safe
  > and does nothing for these three instructions.
  > 
  > My feeling for how it should work is that E is a left half float reg
  > code only.  When that fails, the compiler would try to use the J
  > template and succeed.  Also, the change from pa10 to pa11 could be
  > handled by the J templates being pa11 while E templates are pa10.
  > 
  > If that sounds OK, I'll see if I can find some time to reorganize the
  > code.
Now that we've fixed up xmpyu, fmpyfadd, & fmpynfadd I installed the
patch mentioned above.

Thanks,
jeff


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