[PATCH v3 00/22] target/ppc: DFP instructions using decodetree

Luis Pires posted 22 patches 2 years, 7 months ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210910112624.72748-1-luis.pires@eldorado.org.br
Maintainers: Aurelien Jarno <aurelien@aurel32.net>, Greg Kurz <groug@kaod.org>, Damien Hedde <damien.hedde@greensocs.com>, Luc Michel <luc@lmichel.fr>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Alex Bennée" <alex.bennee@linaro.org>, Peter Maydell <peter.maydell@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, David Gibson <david@gibson.dropbear.id.au>, Eduardo Habkost <ehabkost@redhat.com>
There is a newer version of this series
hw/i386/kvm/i8254.c                    |   7 +-
include/fpu/softfloat-macros.h         |  82 -----
include/hw/clock.h                     |   7 +-
include/libdecnumber/decNumber.h       |   4 +
include/libdecnumber/decNumberLocal.h  |   2 +-
include/qemu/host-utils.h              | 163 ++++++++--
libdecnumber/decContext.c              |   7 +-
libdecnumber/decNumber.c               | 131 ++++++++
target/ppc/dfp_helper.c                | 168 +++++++---
target/ppc/helper.h                    | 106 ++++---
target/ppc/insn32.decode               | 171 ++++++++++
target/ppc/int_helper.c                |  23 +-
target/ppc/translate.c                 |  23 +-
target/ppc/translate/dfp-impl.c.inc    | 419 ++++++++++++-------------
target/ppc/translate/dfp-ops.c.inc     | 165 ----------
target/ppc/translate/vector-impl.c.inc |  10 +-
tests/unit/meson.build                 |   1 +
tests/unit/test-div128.c               | 197 ++++++++++++
util/host-utils.c                      | 142 ++++++---
19 files changed, 1163 insertions(+), 665 deletions(-)
delete mode 100644 target/ppc/translate/dfp-ops.c.inc
create mode 100644 tests/unit/test-div128.c
[PATCH v3 00/22] target/ppc: DFP instructions using decodetree
Posted by Luis Pires 2 years, 7 months ago
This series moves all existing DFP instructions to decodetree and
implements the 2 new instructions (dcffixqq and dctfixqq) from
Power ISA 3.1.

In order to implement dcffixqq, divu128/divs128 were modified to
support 128-bit quotients (previously, they were limited to 64-bit
quotients), along with adjustments being made to their existing callers.
libdecnumber was also expanded to allow creating decimal numbers from
128-bit integers.

Similarly, for dctfixqq, mulu128 (host-utils) and decNumberIntegralToInt128
(libdecnumber) were introduced to support 128-bit integers.

The remaining patches of this series move all of the already existing
DFP instructions to decodetree, and end up removing dfp-ops.c.inc, which
is no longer needed.

NOTE 1: The previous, non-decodetree code, was updating ctx->nip for all the
DFP instructions. I've removed that, but it would be great if someone could
confirm that updating nip really wasn't necessary.

NOTE 2: Some arithmetic function support for 128-bit integers was added,
for now, still using 64-bit pairs. In the near future, I think we should
modify all of them to use Int128 (and introduce UInt128). But I'll send
out an RFC to discuss how to do that in another patch series.

NOTE 3: The helper names are in uppercase, to match the instruction
names and to simplify the macros that define trans* functions.
Previously, this wasn't the case, as we were using lowercase instruction
names in the pre-decodetree code. Another standalone patch will be sent
later on, changing to uppercase the other new (decodetree) helpers whose
names are directly related to instruction names, eventually making PPC
helper names consistent.

Based-on: 20210823150235.35759-1-luis.pires@eldorado.org.br
(target/ppc: fix setting of CR flags in bcdcfsq)
This series assumes bcdcfsq's fix is already in.

Changes in v3:
- Split the uabs64 patch in 2
- Included patch to fix missing zero-extension in divs128
- Folded divisor == 0 into the dhi == 0 case in divu128
- Moved udiv_qrnnd from softfloat-macros.h to host-utils.h
- Used udiv_qrnnd in divu128
- Replaced int with bool in divs128
- Added unit test to check the divisor normalization in divu128
- Removed 'inline' from times_* functions in ppc/translate.c
- Used uadd64_overflow in mulu128
- Removed unnecessary 'else' from decNumberIntegralToInt128

Changes in v2:
- Renamed abs64() to uabs64()

Patches missing review:
  host-utils: fix missing zero-extension in divs128
  host-utils: move checks out of divu128/divs128
  host-utils: move udiv_qrnnd() to host-utils
  host-utils: add 128-bit quotient support to divu128/divs128
  host-utils: add unit tests for divu128/divs128
  target/ppc: Implement DCFFIXQQ
  target/ppc: Implement DCTFIXQQ
  target/ppc: Move dcmp{u,o}[q],dts{tex,tsf,tsfi}[q] to decodetree

--
Luis Pires
Instituto de Pesquisas ELDORADO
Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>

Bruno Larsen (1):
  target/ppc: Move REQUIRE_ALTIVEC/VECTOR to translate.c

Fernando Valle (1):
  target/ppc: Introduce REQUIRE_FPU

Luis Pires (20):
  host-utils: Fix overflow detection in divu128()
  host-utils: fix missing zero-extension in divs128
  host-utils: introduce uabs64()
  i386/kvm: Replace abs64() with uabs64() from host-utils
  host-utils: move checks out of divu128/divs128
  host-utils: move udiv_qrnnd() to host-utils
  host-utils: add 128-bit quotient support to divu128/divs128
  host-utils: add unit tests for divu128/divs128
  libdecnumber: introduce decNumberFrom[U]Int128
  target/ppc: Implement DCFFIXQQ
  host-utils: Introduce mulu128
  libdecnumber: Introduce decNumberIntegralToInt128
  target/ppc: Implement DCTFIXQQ
  target/ppc: Move dtstdc[q]/dtstdg[q] to decodetree
  target/ppc: Move d{add,sub,mul,div,iex}[q] to decodetree
  target/ppc: Move dcmp{u,o}[q],dts{tex,tsf,tsfi}[q] to decodetree
  target/ppc: Move dquai[q], drint{x,n}[q] to decodetree
  target/ppc: Move dqua[q], drrnd[q] to decodetree
  target/ppc: Move dct{dp,qpq},dr{sp,dpq},dc{f,t}fix[q],dxex[q] to
    decodetree
  target/ppc: Move ddedpd[q],denbcd[q],dscli[q],dscri[q] to decodetree

 hw/i386/kvm/i8254.c                    |   7 +-
 include/fpu/softfloat-macros.h         |  82 -----
 include/hw/clock.h                     |   7 +-
 include/libdecnumber/decNumber.h       |   4 +
 include/libdecnumber/decNumberLocal.h  |   2 +-
 include/qemu/host-utils.h              | 163 ++++++++--
 libdecnumber/decContext.c              |   7 +-
 libdecnumber/decNumber.c               | 131 ++++++++
 target/ppc/dfp_helper.c                | 168 +++++++---
 target/ppc/helper.h                    | 106 ++++---
 target/ppc/insn32.decode               | 171 ++++++++++
 target/ppc/int_helper.c                |  23 +-
 target/ppc/translate.c                 |  23 +-
 target/ppc/translate/dfp-impl.c.inc    | 419 ++++++++++++-------------
 target/ppc/translate/dfp-ops.c.inc     | 165 ----------
 target/ppc/translate/vector-impl.c.inc |  10 +-
 tests/unit/meson.build                 |   1 +
 tests/unit/test-div128.c               | 197 ++++++++++++
 util/host-utils.c                      | 142 ++++++---
 19 files changed, 1163 insertions(+), 665 deletions(-)
 delete mode 100644 target/ppc/translate/dfp-ops.c.inc
 create mode 100644 tests/unit/test-div128.c

-- 
2.25.1


RE: [PATCH v3 00/22] target/ppc: DFP instructions using decodetree
Posted by Luis Fernando Fujita Pires 2 years, 7 months ago
Ping.

Patches 1-4 were already applied, and patches 5-8, 12, 15, 18 are missing reviews.

Thanks,

--
Luis Pires
Instituto de Pesquisas ELDORADO
Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>

From: Luis Pires <luis.pires@eldorado.org.br>
> This series moves all existing DFP instructions to decodetree and implements the
> 2 new instructions (dcffixqq and dctfixqq) from Power ISA 3.1.
> 
> In order to implement dcffixqq, divu128/divs128 were modified to support 128-
> bit quotients (previously, they were limited to 64-bit quotients), along with
> adjustments being made to their existing callers.
> libdecnumber was also expanded to allow creating decimal numbers from 128-
> bit integers.
> 
> Similarly, for dctfixqq, mulu128 (host-utils) and decNumberIntegralToInt128
> (libdecnumber) were introduced to support 128-bit integers.
> 
> The remaining patches of this series move all of the already existing DFP
> instructions to decodetree, and end up removing dfp-ops.c.inc, which is no
> longer needed.
> 
> NOTE 1: The previous, non-decodetree code, was updating ctx->nip for all the
> DFP instructions. I've removed that, but it would be great if someone could
> confirm that updating nip really wasn't necessary.
> 
> NOTE 2: Some arithmetic function support for 128-bit integers was added, for
> now, still using 64-bit pairs. In the near future, I think we should modify all of
> them to use Int128 (and introduce UInt128). But I'll send out an RFC to discuss
> how to do that in another patch series.
> 
> NOTE 3: The helper names are in uppercase, to match the instruction names and
> to simplify the macros that define trans* functions.
> Previously, this wasn't the case, as we were using lowercase instruction names
> in the pre-decodetree code. Another standalone patch will be sent later on,
> changing to uppercase the other new (decodetree) helpers whose names are
> directly related to instruction names, eventually making PPC helper names
> consistent.
> 
> Based-on: 20210823150235.35759-1-luis.pires@eldorado.org.br
> (target/ppc: fix setting of CR flags in bcdcfsq) This series assumes bcdcfsq's fix is
> already in.
> 
> Changes in v3:
> - Split the uabs64 patch in 2
> - Included patch to fix missing zero-extension in divs128
> - Folded divisor == 0 into the dhi == 0 case in divu128
> - Moved udiv_qrnnd from softfloat-macros.h to host-utils.h
> - Used udiv_qrnnd in divu128
> - Replaced int with bool in divs128
> - Added unit test to check the divisor normalization in divu128
> - Removed 'inline' from times_* functions in ppc/translate.c
> - Used uadd64_overflow in mulu128
> - Removed unnecessary 'else' from decNumberIntegralToInt128
> 
> Changes in v2:
> - Renamed abs64() to uabs64()
> 
> Patches missing review:
>   host-utils: fix missing zero-extension in divs128
>   host-utils: move checks out of divu128/divs128
>   host-utils: move udiv_qrnnd() to host-utils
>   host-utils: add 128-bit quotient support to divu128/divs128
>   host-utils: add unit tests for divu128/divs128
>   target/ppc: Implement DCFFIXQQ
>   target/ppc: Implement DCTFIXQQ
>   target/ppc: Move dcmp{u,o}[q],dts{tex,tsf,tsfi}[q] to decodetree
> 
> --
> Luis Pires
> Instituto de Pesquisas ELDORADO
> Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>
> 
> Bruno Larsen (1):
>   target/ppc: Move REQUIRE_ALTIVEC/VECTOR to translate.c
> 
> Fernando Valle (1):
>   target/ppc: Introduce REQUIRE_FPU
> 
> Luis Pires (20):
>   host-utils: Fix overflow detection in divu128()
>   host-utils: fix missing zero-extension in divs128
>   host-utils: introduce uabs64()
>   i386/kvm: Replace abs64() with uabs64() from host-utils
>   host-utils: move checks out of divu128/divs128
>   host-utils: move udiv_qrnnd() to host-utils
>   host-utils: add 128-bit quotient support to divu128/divs128
>   host-utils: add unit tests for divu128/divs128
>   libdecnumber: introduce decNumberFrom[U]Int128
>   target/ppc: Implement DCFFIXQQ
>   host-utils: Introduce mulu128
>   libdecnumber: Introduce decNumberIntegralToInt128
>   target/ppc: Implement DCTFIXQQ
>   target/ppc: Move dtstdc[q]/dtstdg[q] to decodetree
>   target/ppc: Move d{add,sub,mul,div,iex}[q] to decodetree
>   target/ppc: Move dcmp{u,o}[q],dts{tex,tsf,tsfi}[q] to decodetree
>   target/ppc: Move dquai[q], drint{x,n}[q] to decodetree
>   target/ppc: Move dqua[q], drrnd[q] to decodetree
>   target/ppc: Move dct{dp,qpq},dr{sp,dpq},dc{f,t}fix[q],dxex[q] to
>     decodetree
>   target/ppc: Move ddedpd[q],denbcd[q],dscli[q],dscri[q] to decodetree
> 
>  hw/i386/kvm/i8254.c                    |   7 +-
>  include/fpu/softfloat-macros.h         |  82 -----
>  include/hw/clock.h                     |   7 +-
>  include/libdecnumber/decNumber.h       |   4 +
>  include/libdecnumber/decNumberLocal.h  |   2 +-
>  include/qemu/host-utils.h              | 163 ++++++++--
>  libdecnumber/decContext.c              |   7 +-
>  libdecnumber/decNumber.c               | 131 ++++++++
>  target/ppc/dfp_helper.c                | 168 +++++++---
>  target/ppc/helper.h                    | 106 ++++---
>  target/ppc/insn32.decode               | 171 ++++++++++
>  target/ppc/int_helper.c                |  23 +-
>  target/ppc/translate.c                 |  23 +-
>  target/ppc/translate/dfp-impl.c.inc    | 419 ++++++++++++-------------
>  target/ppc/translate/dfp-ops.c.inc     | 165 ----------
>  target/ppc/translate/vector-impl.c.inc |  10 +-
>  tests/unit/meson.build                 |   1 +
>  tests/unit/test-div128.c               | 197 ++++++++++++
>  util/host-utils.c                      | 142 ++++++---
>  19 files changed, 1163 insertions(+), 665 deletions(-)  delete mode 100644
> target/ppc/translate/dfp-ops.c.inc
>  create mode 100644 tests/unit/test-div128.c
> 
> --
> 2.25.1

RE: [PATCH v3 00/22] target/ppc: DFP instructions using decodetree
Posted by Luis Fernando Fujita Pires 2 years, 6 months ago
Ping?

> -----Original Message-----
> From: Luis Fernando Fujita Pires <luis.pires@eldorado.org.br>
> Sent: segunda-feira, 20 de setembro de 2021 15:51
> To: Luis Fernando Fujita Pires <luis.pires@eldorado.org.br>; qemu-
> devel@nongnu.org; qemu-ppc@nongnu.org
> Cc: david@gibson.dropbear.id.au; groug@kaod.org;
> richard.henderson@linaro.org
> Subject: RE: [PATCH v3 00/22] target/ppc: DFP instructions using decodetree
> 
> Ping.
> 
> Patches 1-4 were already applied, and patches 5-8, 12, 15, 18 are missing
> reviews.
> 
> Thanks,
> 
> --
> Luis Pires
> Instituto de Pesquisas ELDORADO
> Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>
> 
> From: Luis Pires <luis.pires@eldorado.org.br>
> > This series moves all existing DFP instructions to decodetree and
> > implements the
> > 2 new instructions (dcffixqq and dctfixqq) from Power ISA 3.1.
> >
> > In order to implement dcffixqq, divu128/divs128 were modified to
> > support 128- bit quotients (previously, they were limited to 64-bit
> > quotients), along with adjustments being made to their existing callers.
> > libdecnumber was also expanded to allow creating decimal numbers from
> > 128- bit integers.
> >
> > Similarly, for dctfixqq, mulu128 (host-utils) and
> > decNumberIntegralToInt128
> > (libdecnumber) were introduced to support 128-bit integers.
> >
> > The remaining patches of this series move all of the already existing
> > DFP instructions to decodetree, and end up removing dfp-ops.c.inc,
> > which is no longer needed.
> >
> > NOTE 1: The previous, non-decodetree code, was updating ctx->nip for
> > all the DFP instructions. I've removed that, but it would be great if
> > someone could confirm that updating nip really wasn't necessary.
> >
> > NOTE 2: Some arithmetic function support for 128-bit integers was
> > added, for now, still using 64-bit pairs. In the near future, I think
> > we should modify all of them to use Int128 (and introduce UInt128).
> > But I'll send out an RFC to discuss how to do that in another patch series.
> >
> > NOTE 3: The helper names are in uppercase, to match the instruction
> > names and to simplify the macros that define trans* functions.
> > Previously, this wasn't the case, as we were using lowercase
> > instruction names in the pre-decodetree code. Another standalone patch
> > will be sent later on, changing to uppercase the other new
> > (decodetree) helpers whose names are directly related to instruction
> > names, eventually making PPC helper names consistent.
> >
> > Based-on: 20210823150235.35759-1-luis.pires@eldorado.org.br
> > (target/ppc: fix setting of CR flags in bcdcfsq) This series assumes
> > bcdcfsq's fix is already in.
> >
> > Changes in v3:
> > - Split the uabs64 patch in 2
> > - Included patch to fix missing zero-extension in divs128
> > - Folded divisor == 0 into the dhi == 0 case in divu128
> > - Moved udiv_qrnnd from softfloat-macros.h to host-utils.h
> > - Used udiv_qrnnd in divu128
> > - Replaced int with bool in divs128
> > - Added unit test to check the divisor normalization in divu128
> > - Removed 'inline' from times_* functions in ppc/translate.c
> > - Used uadd64_overflow in mulu128
> > - Removed unnecessary 'else' from decNumberIntegralToInt128
> >
> > Changes in v2:
> > - Renamed abs64() to uabs64()
> >
> > Patches missing review:
> >   host-utils: fix missing zero-extension in divs128
> >   host-utils: move checks out of divu128/divs128
> >   host-utils: move udiv_qrnnd() to host-utils
> >   host-utils: add 128-bit quotient support to divu128/divs128
> >   host-utils: add unit tests for divu128/divs128
> >   target/ppc: Implement DCFFIXQQ
> >   target/ppc: Implement DCTFIXQQ
> >   target/ppc: Move dcmp{u,o}[q],dts{tex,tsf,tsfi}[q] to decodetree
> >
> > --
> > Luis Pires
> > Instituto de Pesquisas ELDORADO
> > Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>
> >
> > Bruno Larsen (1):
> >   target/ppc: Move REQUIRE_ALTIVEC/VECTOR to translate.c
> >
> > Fernando Valle (1):
> >   target/ppc: Introduce REQUIRE_FPU
> >
> > Luis Pires (20):
> >   host-utils: Fix overflow detection in divu128()
> >   host-utils: fix missing zero-extension in divs128
> >   host-utils: introduce uabs64()
> >   i386/kvm: Replace abs64() with uabs64() from host-utils
> >   host-utils: move checks out of divu128/divs128
> >   host-utils: move udiv_qrnnd() to host-utils
> >   host-utils: add 128-bit quotient support to divu128/divs128
> >   host-utils: add unit tests for divu128/divs128
> >   libdecnumber: introduce decNumberFrom[U]Int128
> >   target/ppc: Implement DCFFIXQQ
> >   host-utils: Introduce mulu128
> >   libdecnumber: Introduce decNumberIntegralToInt128
> >   target/ppc: Implement DCTFIXQQ
> >   target/ppc: Move dtstdc[q]/dtstdg[q] to decodetree
> >   target/ppc: Move d{add,sub,mul,div,iex}[q] to decodetree
> >   target/ppc: Move dcmp{u,o}[q],dts{tex,tsf,tsfi}[q] to decodetree
> >   target/ppc: Move dquai[q], drint{x,n}[q] to decodetree
> >   target/ppc: Move dqua[q], drrnd[q] to decodetree
> >   target/ppc: Move dct{dp,qpq},dr{sp,dpq},dc{f,t}fix[q],dxex[q] to
> >     decodetree
> >   target/ppc: Move ddedpd[q],denbcd[q],dscli[q],dscri[q] to decodetree
> >
> >  hw/i386/kvm/i8254.c                    |   7 +-
> >  include/fpu/softfloat-macros.h         |  82 -----
> >  include/hw/clock.h                     |   7 +-
> >  include/libdecnumber/decNumber.h       |   4 +
> >  include/libdecnumber/decNumberLocal.h  |   2 +-
> >  include/qemu/host-utils.h              | 163 ++++++++--
> >  libdecnumber/decContext.c              |   7 +-
> >  libdecnumber/decNumber.c               | 131 ++++++++
> >  target/ppc/dfp_helper.c                | 168 +++++++---
> >  target/ppc/helper.h                    | 106 ++++---
> >  target/ppc/insn32.decode               | 171 ++++++++++
> >  target/ppc/int_helper.c                |  23 +-
> >  target/ppc/translate.c                 |  23 +-
> >  target/ppc/translate/dfp-impl.c.inc    | 419 ++++++++++++-------------
> >  target/ppc/translate/dfp-ops.c.inc     | 165 ----------
> >  target/ppc/translate/vector-impl.c.inc |  10 +-
> >  tests/unit/meson.build                 |   1 +
> >  tests/unit/test-div128.c               | 197 ++++++++++++
> >  util/host-utils.c                      | 142 ++++++---
> >  19 files changed, 1163 insertions(+), 665 deletions(-)  delete mode
> > 100644 target/ppc/translate/dfp-ops.c.inc
> >  create mode 100644 tests/unit/test-div128.c
> >
> > --
> > 2.25.1

Re: [PATCH v3 00/22] target/ppc: DFP instructions using decodetree
Posted by david@gibson.dropbear.id.au 2 years, 6 months ago
On Thu, Oct 14, 2021 at 05:02:59PM +0000, Luis Fernando Fujita Pires wrote:
> Ping?

I'm not sure who you're asking for what.  From my PoV, I'm waiting for reviews.

> 
> > -----Original Message-----
> > From: Luis Fernando Fujita Pires <luis.pires@eldorado.org.br>
> > Sent: segunda-feira, 20 de setembro de 2021 15:51
> > To: Luis Fernando Fujita Pires <luis.pires@eldorado.org.br>; qemu-
> > devel@nongnu.org; qemu-ppc@nongnu.org
> > Cc: david@gibson.dropbear.id.au; groug@kaod.org;
> > richard.henderson@linaro.org
> > Subject: RE: [PATCH v3 00/22] target/ppc: DFP instructions using decodetree
> > 
> > Ping.
> > 
> > Patches 1-4 were already applied, and patches 5-8, 12, 15, 18 are missing
> > reviews.
> > 
> > Thanks,
> > 
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
RE: [PATCH v3 00/22] target/ppc: DFP instructions using decodetree
Posted by Luis Fernando Fujita Pires 2 years, 6 months ago
Sorry, that was in the e-mail I replied to. I'm asking for reviews on patches 5, 6, 7, 8, 12, 15 and 18:

5:  host-utils: move checks out of divu128/divs128
6:  host-utils: move udiv_qrnnd() to host-utils
7:  host-utils: add 128-bit quotient support to divu128/divs128
8:  host-utils: add unit tests for divu128/divs128
12:  target/ppc: Implement DCFFIXQQ
15:  target/ppc: Implement DCTFIXQQ
18:  target/ppc: Move dcmp{u,o}[q],dts{tex,tsf,tsfi}[q] to decodetree

> > > Patches 1-4 were already applied, and patches 5-8, 12, 15, 18 are
> > > missing reviews.

Thanks,

--
Luis Pires
Instituto de Pesquisas ELDORADO
Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>

> -----Original Message-----
> From: david@gibson.dropbear.id.au <david@gibson.dropbear.id.au>
> Sent: sexta-feira, 15 de outubro de 2021 00:15
> To: Luis Fernando Fujita Pires <luis.pires@eldorado.org.br>
> Cc: qemu-devel@nongnu.org; qemu-ppc@nongnu.org; groug@kaod.org;
> richard.henderson@linaro.org
> Subject: Re: [PATCH v3 00/22] target/ppc: DFP instructions using decodetree
> 
> On Thu, Oct 14, 2021 at 05:02:59PM +0000, Luis Fernando Fujita Pires wrote:
> > Ping?
> 
> I'm not sure who you're asking for what.  From my PoV, I'm waiting for reviews.
> 
> >
> > > -----Original Message-----
> > > From: Luis Fernando Fujita Pires <luis.pires@eldorado.org.br>
> > > Sent: segunda-feira, 20 de setembro de 2021 15:51
> > > To: Luis Fernando Fujita Pires <luis.pires@eldorado.org.br>; qemu-
> > > devel@nongnu.org; qemu-ppc@nongnu.org
> > > Cc: david@gibson.dropbear.id.au; groug@kaod.org;
> > > richard.henderson@linaro.org
> > > Subject: RE: [PATCH v3 00/22] target/ppc: DFP instructions using
> > > decodetree
> > >
> > > Ping.
> > >
> > > Patches 1-4 were already applied, and patches 5-8, 12, 15, 18 are
> > > missing reviews.
> > >
> > > Thanks,
> > >
> >
> 
> --
> David Gibson			| I'll have my music baroque, and my code
> david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
> 				| _way_ _around_!
> http://www.ozlabs.org/~dgibson

Re: [PATCH v3 00/22] target/ppc: DFP instructions using decodetree
Posted by David Gibson 2 years, 7 months ago
On Fri, Sep 10, 2021 at 08:26:02AM -0300, Luis Pires wrote:
> This series moves all existing DFP instructions to decodetree and
> implements the 2 new instructions (dcffixqq and dctfixqq) from
> Power ISA 3.1.
> 
> In order to implement dcffixqq, divu128/divs128 were modified to
> support 128-bit quotients (previously, they were limited to 64-bit
> quotients), along with adjustments being made to their existing callers.
> libdecnumber was also expanded to allow creating decimal numbers from
> 128-bit integers.
> 
> Similarly, for dctfixqq, mulu128 (host-utils) and decNumberIntegralToInt128
> (libdecnumber) were introduced to support 128-bit integers.
> 
> The remaining patches of this series move all of the already existing
> DFP instructions to decodetree, and end up removing dfp-ops.c.inc, which
> is no longer needed.
> 
> NOTE 1: The previous, non-decodetree code, was updating ctx->nip for all the
> DFP instructions. I've removed that, but it would be great if someone could
> confirm that updating nip really wasn't necessary.
> 
> NOTE 2: Some arithmetic function support for 128-bit integers was added,
> for now, still using 64-bit pairs. In the near future, I think we should
> modify all of them to use Int128 (and introduce UInt128). But I'll send
> out an RFC to discuss how to do that in another patch series.
> 
> NOTE 3: The helper names are in uppercase, to match the instruction
> names and to simplify the macros that define trans* functions.
> Previously, this wasn't the case, as we were using lowercase instruction
> names in the pre-decodetree code. Another standalone patch will be sent
> later on, changing to uppercase the other new (decodetree) helpers whose
> names are directly related to instruction names, eventually making PPC
> helper names consistent.
> 
> Based-on: 20210823150235.35759-1-luis.pires@eldorado.org.br
> (target/ppc: fix setting of CR flags in bcdcfsq)
> This series assumes bcdcfsq's fix is already in.

I've applied 1..4 to ppc-for-6.2, since those have acks.  Waiting on
reviews (probably from Richard) before applying the rest.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson