Re: Printing decimal128 types out of registers

Mark Kettenis
2008-01-30T21:26:31Z

> From: Thiago Jung Bauermann <bauerman@br.ibm.com>
> Date: Wed, 30 Jan 2008 19:02:55 -0200
>
> On Wed, 2008-01-30 at 19:52 +0100, Mark Kettenis wrote:
> > > From: Thiago Jung Bauermann <bauerman@br.ibm.com>
> > > ppc_dl0_upper_regnum is used ppc_pseudo_register_{read,write}. Are you
> > > saying that given it always has the value of ppc_fp0_regnum, I should
> > > use that instead? Could be, but then there's the lack of symmetry in
> > > using an fp variable in dl-related code. But that's minor.
> >
> > Yes, I think that using ppc_fp0_regnum is better, since it makes it
> > explicit in the code that the decimal float (pseudo) registers are
> > just a different representation of the floating point registers.
> >
> > > ppcdl15_regnum is indeed unused. I kept it also for symmetry reasons,
> > > since there's ppc_ev31_regnum. But it can be removed (specially if the
> > > later is removed as well as you suggested).
> >
> > Yes, that was what I was thinking. The less uneeded clutter, the better.
>
> Ok, removed those. I also refreshed it against the reworked SPE macro
> cleanup patch. What about this?

Looks fine to me (as does the SPE macro cleanup diff).

> 2008-01-30 Luis Machado <luisgpm@br.ibm.com>
> Thiago Jung Bauermann <bauerman@br.ibm.com>
>
> gdb/
> * infcmd.c (default_print_registers_info): Also print hex
> raw contents for TYPE_CODE_DECFLOAT registers.
> * ppc-tdep.h (gdbarch_tdep): Add ppc_dl0_regnum member.
> * rs6000-tdep.c (IS_DFP_PSEUDOREG): New macro.
> (rs6000_register_name): Add support for DFP pseudo-registers.
> (rs6000_pseudo_register_type): Likewise.
> rs6000_pseudo_register_reggroup_p): Likewise.
> (ppc_pseudo_register_read): New function.
> (ppc_pseudo_register_write): Likewise.
> (rs6000_pseudo_register_read): Likewise.
> (rs6000_pseudo_register_write): Likewise.
> (e500_pseudo_register_read): Move checks to
> rs6000_pseudo_register_read.
> (e500_pseudo_register_write): Move checks to
> rs6000_pseudo_register_write.
> (rs6000_gdbarch_init): Initialize tdep->ppc_dl0_regnum. Install
> rs6000_pseudo_register_read and rs6000_pseudo_register_write
> in gdbarch if SPE or DFP is available. Adjust gdbarch's
> num_pseudo_regs to account for DFP pseudo regs.
>
> gdb/testsuite/
> * gdb.arch/powerpc-d128-regs.exp: New testcase expect file.
> * gdb.arch/powerpc-d128-regs.c: New testcase source file.
>
> gdb/doc/
> * gdb.texinfo: (Decimal Floating Point): Mention pseudo-registers
> available in PowerPC architecture.
> (Embedded Processors): Change node name of PowerPC item in menu.
> (PowerPC): Rename to...
> (PowerPC Embedded): this.
> (Architectures): Add new PowerPC item in menu.
> (PowerPC): New node.