mbox series

[0/7] Remove CONFIG_INT128 conditional code from target/ppc/*

Message ID 20220606150037.338931-1-matheus.ferst@eldorado.org.br
Headers show
Series Remove CONFIG_INT128 conditional code from target/ppc/* | expand

Message

Matheus K. Ferst June 6, 2022, 3 p.m. UTC
PPC-specific methods to handle 128-bits integers operations, like
avr_qw_not and avr_qw_add, are currently only tested indirectly (through
the behavior of the insns that use them) in !CONFIG_INT128 builds. They
can be replaced by the methods provided by int128.h, which are shared
with other archs and have unit tests.

We also take the opportunity to move some instructions to decodetree and
drop unnecessary uses of VECTOR_FOR_INORDER_I.

Based-on: <20220525134954.85056-1-lucas.araujo@eldorado.org.br>
because int128_ult, implemented in 'host-utils: Implemented unsigned
256-by-128 division'

Matheus Ferst (7):
  target/ppc: use int128.h methods in vpmsumd
  target/ppc: use int128.h methods in vadduqm
  target/ppc: use int128.h methods in vaddecuq and vaddeuqm
  target/ppc: use int128.h methods in vaddcuq
  target/ppc: use int128.h methods in vsubuqm
  target/ppc: use int128.h methods in vsubecuq and vsubeuqm
  target/ppc: use int128.h methods in vsubcuq

 target/ppc/helper.h                 |  18 +-
 target/ppc/insn32.decode            |  16 ++
 target/ppc/int_helper.c             | 255 ++++++----------------------
 target/ppc/translate/vmx-impl.c.inc |  32 ++--
 target/ppc/translate/vmx-ops.c.inc  |   9 +-
 5 files changed, 93 insertions(+), 237 deletions(-)

Comments

Daniel Henrique Barboza June 27, 2022, 9:41 p.m. UTC | #1
Queued in gitlab.com/danielhb/qemu/tree/ppc-next. Thanks,


Daniel

On 6/6/22 12:00, Matheus Ferst wrote:
> PPC-specific methods to handle 128-bits integers operations, like
> avr_qw_not and avr_qw_add, are currently only tested indirectly (through
> the behavior of the insns that use them) in !CONFIG_INT128 builds. They
> can be replaced by the methods provided by int128.h, which are shared
> with other archs and have unit tests.
> 
> We also take the opportunity to move some instructions to decodetree and
> drop unnecessary uses of VECTOR_FOR_INORDER_I.
> 
> Based-on: <20220525134954.85056-1-lucas.araujo@eldorado.org.br>
> because int128_ult, implemented in 'host-utils: Implemented unsigned
> 256-by-128 division'
> 
> Matheus Ferst (7):
>    target/ppc: use int128.h methods in vpmsumd
>    target/ppc: use int128.h methods in vadduqm
>    target/ppc: use int128.h methods in vaddecuq and vaddeuqm
>    target/ppc: use int128.h methods in vaddcuq
>    target/ppc: use int128.h methods in vsubuqm
>    target/ppc: use int128.h methods in vsubecuq and vsubeuqm
>    target/ppc: use int128.h methods in vsubcuq
> 
>   target/ppc/helper.h                 |  18 +-
>   target/ppc/insn32.decode            |  16 ++
>   target/ppc/int_helper.c             | 255 ++++++----------------------
>   target/ppc/translate/vmx-impl.c.inc |  32 ++--
>   target/ppc/translate/vmx-ops.c.inc  |   9 +-
>   5 files changed, 93 insertions(+), 237 deletions(-)
>