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~