mbox series

[RFC,0/3] target/ppc: Change CR registers from i32 to tl

Message ID 20230913005814.413113-1-npiggin@gmail.com
Headers show
Series target/ppc: Change CR registers from i32 to tl | expand

Message

Nicholas Piggin Sept. 13, 2023, 12:58 a.m. UTC
This is a bit of churn so I might leave it for later in the cycle (or
defer if we get a lot of other changes) since it's a relatively
mechanical change. So don't spend time reviewing details, I'm just
wondering about concept and general approach.

I'm not sure the history of why these are 32-bit, maybe better code gen
on 32-bit host emulating 64-bit? If so, that shouldn't be so important
now that most people use 64-bit systems to develop and test with.

Thanks,
Nick

Nicholas Piggin (3):
  target/ppc: Change CR registers from i32 to tl
  target/ppc: Use FP CR1 update helper more widely
  target/ppc: Optimise after CR register tl conversion

 target/ppc/cpu.h                             |   2 +-
 target/ppc/cpu_init.c                        |   2 +-
 target/ppc/dfp_helper.c                      |  12 +-
 target/ppc/fpu_helper.c                      |  38 +--
 target/ppc/helper.h                          | 124 +++++-----
 target/ppc/int_helper.c                      |  58 ++---
 target/ppc/machine.c                         |   2 +-
 target/ppc/translate.c                       | 239 +++++++++----------
 target/ppc/translate/fixedpoint-impl.c.inc   |   3 +-
 target/ppc/translate/fp-impl.c.inc           |  31 +--
 target/ppc/translate/spe-impl.c.inc          |  18 +-
 target/ppc/translate/storage-ctrl-impl.c.inc |   4 +-
 target/ppc/translate/vmx-impl.c.inc          |  24 +-
 target/ppc/translate/vsx-impl.c.inc          |   6 +-
 15 files changed, 267 insertions(+), 298 deletions(-)

Comments

Richard Henderson Sept. 13, 2023, 10:29 p.m. UTC | #1
On 9/12/23 17:58, Nicholas Piggin wrote:
> This is a bit of churn so I might leave it for later in the cycle (or
> defer if we get a lot of other changes) since it's a relatively
> mechanical change. So don't spend time reviewing details, I'm just
> wondering about concept and general approach.
> 
> I'm not sure the history of why these are 32-bit, maybe better code gen
> on 32-bit host emulating 64-bit? If so, that shouldn't be so important
> now that most people use 64-bit systems to develop and test with.

It was probably in order to save space, but I have no specific knowledge.

What does this do to the generated code?  I suspect, without looking, that it doesn't 
change things much at all on e.g. a ppc64 host, and for an x86_64 host merely changes the 
types of some instructions (which, considering the rex64 encoding, might consume a few 
more bytes).


r~