[PULL 00/56] tcg patch queue

Richard Henderson posted 56 patches 3 years, 5 months ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211028024131.1492790-1-richard.henderson@linaro.org
Maintainers: Damien Hedde <damien.hedde@greensocs.com>, "Alex Bennée" <alex.bennee@linaro.org>, David Gibson <david@gibson.dropbear.id.au>, Richard Henderson <richard.henderson@linaro.org>, Peter Maydell <peter.maydell@linaro.org>, Greg Kurz <groug@kaod.org>, Luc Michel <luc@lmichel.fr>, Aurelien Jarno <aurelien@aurel32.net>
There is a newer version of this series
include/fpu/softfloat-macros.h |   82 --
include/hw/clock.h             |    5 +-
include/qemu/host-utils.h      |  121 +-
include/qemu/int128.h          |   20 +
target/ppc/int_helper.c        |   23 +-
tcg/optimize.c                 | 2644 ++++++++++++++++++++++++----------------
tests/unit/test-div128.c       |  197 +++
util/host-utils.c              |  147 ++-
tests/unit/meson.build         |    1 +
9 files changed, 2053 insertions(+), 1187 deletions(-)
create mode 100644 tests/unit/test-div128.c
[PULL 00/56] tcg patch queue
Posted by Richard Henderson 3 years, 5 months ago
The following changes since commit c52d69e7dbaaed0ffdef8125e79218672c30161d:

  Merge remote-tracking branch 'remotes/cschoenebeck/tags/pull-9p-20211027' into staging (2021-10-27 11:45:18 -0700)

are available in the Git repository at:

  https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20211027

for you to fetch changes up to 820c025f0dcacf2f3c12735b1f162893fbfa7bc6:

  tcg/optimize: Propagate sign info for shifting (2021-10-27 17:11:23 -0700)

----------------------------------------------------------------
Improvements to qemu/int128
Fixes for 128/64 division.
Cleanup tcg/optimize.c
Optimize redundant sign extensions

----------------------------------------------------------------
Frédéric Pétrot (1):
      qemu/int128: Add int128_{not,xor}

Luis Pires (4):
      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

Richard Henderson (51):
      tcg/optimize: Rename "mask" to "z_mask"
      tcg/optimize: Split out OptContext
      tcg/optimize: Remove do_default label
      tcg/optimize: Change tcg_opt_gen_{mov,movi} interface
      tcg/optimize: Move prev_mb into OptContext
      tcg/optimize: Split out init_arguments
      tcg/optimize: Split out copy_propagate
      tcg/optimize: Split out fold_call
      tcg/optimize: Drop nb_oargs, nb_iargs locals
      tcg/optimize: Change fail return for do_constant_folding_cond*
      tcg/optimize: Return true from tcg_opt_gen_{mov,movi}
      tcg/optimize: Split out finish_folding
      tcg/optimize: Use a boolean to avoid a mass of continues
      tcg/optimize: Split out fold_mb, fold_qemu_{ld,st}
      tcg/optimize: Split out fold_const{1,2}
      tcg/optimize: Split out fold_setcond2
      tcg/optimize: Split out fold_brcond2
      tcg/optimize: Split out fold_brcond
      tcg/optimize: Split out fold_setcond
      tcg/optimize: Split out fold_mulu2_i32
      tcg/optimize: Split out fold_addsub2_i32
      tcg/optimize: Split out fold_movcond
      tcg/optimize: Split out fold_extract2
      tcg/optimize: Split out fold_extract, fold_sextract
      tcg/optimize: Split out fold_deposit
      tcg/optimize: Split out fold_count_zeros
      tcg/optimize: Split out fold_bswap
      tcg/optimize: Split out fold_dup, fold_dup2
      tcg/optimize: Split out fold_mov
      tcg/optimize: Split out fold_xx_to_i
      tcg/optimize: Split out fold_xx_to_x
      tcg/optimize: Split out fold_xi_to_i
      tcg/optimize: Add type to OptContext
      tcg/optimize: Split out fold_to_not
      tcg/optimize: Split out fold_sub_to_neg
      tcg/optimize: Split out fold_xi_to_x
      tcg/optimize: Split out fold_ix_to_i
      tcg/optimize: Split out fold_masks
      tcg/optimize: Expand fold_mulu2_i32 to all 4-arg multiplies
      tcg/optimize: Expand fold_addsub2_i32 to 64-bit ops
      tcg/optimize: Sink commutative operand swapping into fold functions
      tcg/optimize: Stop forcing z_mask to "garbage" for 32-bit values
      tcg/optimize: Use fold_xx_to_i for orc
      tcg/optimize: Use fold_xi_to_x for mul
      tcg/optimize: Use fold_xi_to_x for div
      tcg/optimize: Use fold_xx_to_i for rem
      tcg/optimize: Optimize sign extensions
      tcg/optimize: Propagate sign info for logical operations
      tcg/optimize: Propagate sign info for setcond
      tcg/optimize: Propagate sign info for bit counting
      tcg/optimize: Propagate sign info for shifting

 include/fpu/softfloat-macros.h |   82 --
 include/hw/clock.h             |    5 +-
 include/qemu/host-utils.h      |  121 +-
 include/qemu/int128.h          |   20 +
 target/ppc/int_helper.c        |   23 +-
 tcg/optimize.c                 | 2644 ++++++++++++++++++++++++----------------
 tests/unit/test-div128.c       |  197 +++
 util/host-utils.c              |  147 ++-
 tests/unit/meson.build         |    1 +
 9 files changed, 2053 insertions(+), 1187 deletions(-)
 create mode 100644 tests/unit/test-div128.c

Re: [PULL 00/56] tcg patch queue
Posted by Richard Henderson 3 years, 5 months ago
On 10/27/21 7:40 PM, Richard Henderson wrote:
> The following changes since commit c52d69e7dbaaed0ffdef8125e79218672c30161d:
> 
>    Merge remote-tracking branch 'remotes/cschoenebeck/tags/pull-9p-20211027' into staging (2021-10-27 11:45:18 -0700)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20211027
> 
> for you to fetch changes up to 820c025f0dcacf2f3c12735b1f162893fbfa7bc6:
> 
>    tcg/optimize: Propagate sign info for shifting (2021-10-27 17:11:23 -0700)
> 
> ----------------------------------------------------------------
> Improvements to qemu/int128
> Fixes for 128/64 division.
> Cleanup tcg/optimize.c
> Optimize redundant sign extensions
> 
> ----------------------------------------------------------------
> Frédéric Pétrot (1):
>        qemu/int128: Add int128_{not,xor}
> 
> Luis Pires (4):
>        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
> 
> Richard Henderson (51):
>        tcg/optimize: Rename "mask" to "z_mask"
>        tcg/optimize: Split out OptContext
>        tcg/optimize: Remove do_default label
>        tcg/optimize: Change tcg_opt_gen_{mov,movi} interface
>        tcg/optimize: Move prev_mb into OptContext
>        tcg/optimize: Split out init_arguments
>        tcg/optimize: Split out copy_propagate
>        tcg/optimize: Split out fold_call
>        tcg/optimize: Drop nb_oargs, nb_iargs locals
>        tcg/optimize: Change fail return for do_constant_folding_cond*
>        tcg/optimize: Return true from tcg_opt_gen_{mov,movi}
>        tcg/optimize: Split out finish_folding
>        tcg/optimize: Use a boolean to avoid a mass of continues
>        tcg/optimize: Split out fold_mb, fold_qemu_{ld,st}
>        tcg/optimize: Split out fold_const{1,2}
>        tcg/optimize: Split out fold_setcond2
>        tcg/optimize: Split out fold_brcond2
>        tcg/optimize: Split out fold_brcond
>        tcg/optimize: Split out fold_setcond
>        tcg/optimize: Split out fold_mulu2_i32
>        tcg/optimize: Split out fold_addsub2_i32
>        tcg/optimize: Split out fold_movcond
>        tcg/optimize: Split out fold_extract2
>        tcg/optimize: Split out fold_extract, fold_sextract
>        tcg/optimize: Split out fold_deposit
>        tcg/optimize: Split out fold_count_zeros
>        tcg/optimize: Split out fold_bswap
>        tcg/optimize: Split out fold_dup, fold_dup2
>        tcg/optimize: Split out fold_mov
>        tcg/optimize: Split out fold_xx_to_i
>        tcg/optimize: Split out fold_xx_to_x
>        tcg/optimize: Split out fold_xi_to_i
>        tcg/optimize: Add type to OptContext
>        tcg/optimize: Split out fold_to_not
>        tcg/optimize: Split out fold_sub_to_neg
>        tcg/optimize: Split out fold_xi_to_x
>        tcg/optimize: Split out fold_ix_to_i
>        tcg/optimize: Split out fold_masks
>        tcg/optimize: Expand fold_mulu2_i32 to all 4-arg multiplies
>        tcg/optimize: Expand fold_addsub2_i32 to 64-bit ops
>        tcg/optimize: Sink commutative operand swapping into fold functions
>        tcg/optimize: Stop forcing z_mask to "garbage" for 32-bit values
>        tcg/optimize: Use fold_xx_to_i for orc
>        tcg/optimize: Use fold_xi_to_x for mul
>        tcg/optimize: Use fold_xi_to_x for div
>        tcg/optimize: Use fold_xx_to_i for rem
>        tcg/optimize: Optimize sign extensions
>        tcg/optimize: Propagate sign info for logical operations
>        tcg/optimize: Propagate sign info for setcond
>        tcg/optimize: Propagate sign info for bit counting
>        tcg/optimize: Propagate sign info for shifting
> 
>   include/fpu/softfloat-macros.h |   82 --
>   include/hw/clock.h             |    5 +-
>   include/qemu/host-utils.h      |  121 +-
>   include/qemu/int128.h          |   20 +
>   target/ppc/int_helper.c        |   23 +-
>   tcg/optimize.c                 | 2644 ++++++++++++++++++++++++----------------
>   tests/unit/test-div128.c       |  197 +++
>   util/host-utils.c              |  147 ++-
>   tests/unit/meson.build         |    1 +
>   9 files changed, 2053 insertions(+), 1187 deletions(-)
>   create mode 100644 tests/unit/test-div128.c

Failed testing on s390x host.

r~