qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 1c4693: qemu/int128: Add int128_{not, xor}


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 1c4693: qemu/int128: Add int128_{not, xor}
Date: Fri, 29 Oct 2021 08:45:32 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 1c46937358fc27a9e446d08c877389ee84d6767d
      
https://github.com/qemu/qemu/commit/1c46937358fc27a9e446d08c877389ee84d6767d
  Author: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M include/qemu/int128.h

  Log Message:
  -----------
  qemu/int128: Add int128_{not,xor}

Addition of not and xor on 128-bit integers.

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Co-authored-by: Fabien Portas <fabien.portas@grenoble-inp.org>
Message-Id: <20211025122818.168890-3-frederic.petrot@univ-grenoble-alpes.fr>
[rth: Split out logical operations.]
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9276a31c3484ff236a958a1e2a38beefb0eb7ebb
      
https://github.com/qemu/qemu/commit/9276a31c3484ff236a958a1e2a38beefb0eb7ebb
  Author: Luis Pires <luis.pires@eldorado.org.br>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M include/hw/clock.h
    M include/qemu/host-utils.h
    M target/ppc/int_helper.c
    M util/host-utils.c

  Log Message:
  -----------
  host-utils: move checks out of divu128/divs128

In preparation for changing the divu128/divs128 implementations
to allow for quotients larger than 64 bits, move the div-by-zero
and overflow checks to the callers.

Signed-off-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211025191154.350831-2-luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8ac2d6c526d9ea0c89c8aa7046ca56e1b1b9d130
      
https://github.com/qemu/qemu/commit/8ac2d6c526d9ea0c89c8aa7046ca56e1b1b9d130
  Author: Luis Pires <luis.pires@eldorado.org.br>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M include/fpu/softfloat-macros.h
    M include/qemu/host-utils.h

  Log Message:
  -----------
  host-utils: move udiv_qrnnd() to host-utils

Move udiv_qrnnd() from include/fpu/softfloat-macros.h to host-utils,
so it can be reused by divu128().

Signed-off-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211025191154.350831-3-luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 40f3e79a862554553811d0681c05e00a4705e91c
      
https://github.com/qemu/qemu/commit/40f3e79a862554553811d0681c05e00a4705e91c
  Author: Luis Pires <luis.pires@eldorado.org.br>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M include/hw/clock.h
    M include/qemu/host-utils.h
    M target/ppc/int_helper.c
    M util/host-utils.c

  Log Message:
  -----------
  host-utils: add 128-bit quotient support to divu128/divs128

These will be used to implement new decimal floating point
instructions from Power ISA 3.1.

The remainder is now returned directly by divu128/divs128,
freeing up phigh to receive the high 64 bits of the quotient.

Signed-off-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211025191154.350831-4-luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 023462978a1fb7b5a3f7ea74236a05d253d0b6e6
      
https://github.com/qemu/qemu/commit/023462978a1fb7b5a3f7ea74236a05d253d0b6e6
  Author: Luis Pires <luis.pires@eldorado.org.br>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tests/unit/meson.build
    A tests/unit/test-div128.c

  Log Message:
  -----------
  host-utils: add unit tests for divu128/divs128

Signed-off-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211025191154.350831-5-luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b1fde411d0f3dd146ba9864f3a475e7100a14a3b
      
https://github.com/qemu/qemu/commit/b1fde411d0f3dd146ba9864f3a475e7100a14a3b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Rename "mask" to "z_mask"

Prepare for tracking different masks by renaming this one.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3b3f847d754d7f243b2a04775f37c1b324ca1a12
      
https://github.com/qemu/qemu/commit/3b3f847d754d7f243b2a04775f37c1b324ca1a12
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out OptContext

Provide what will become a larger context for splitting
the very large tcg_optimize function.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b10f38339bda94bd960d6936ca6047b34be8eb31
      
https://github.com/qemu/qemu/commit/b10f38339bda94bd960d6936ca6047b34be8eb31
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Remove do_default label

Break the final cleanup clause out of the main switch
statement.  When fully folding an opcode to mov/movi,
use "continue" to process the next opcode, else break
to fall into the final cleanup.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: dc84988a5f4147b8c1f90ed4cdcf5c57f06749cd
      
https://github.com/qemu/qemu/commit/dc84988a5f4147b8c1f90ed4cdcf5c57f06749cd
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Change tcg_opt_gen_{mov,movi} interface

Adjust the interface to take the OptContext parameter instead
of TCGContext or both.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d0ed5151b11b12e9e2ca3c9adde2fd4444588948
      
https://github.com/qemu/qemu/commit/d0ed5151b11b12e9e2ca3c9adde2fd4444588948
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Move prev_mb into OptContext

This will expose the variable to subroutines that
will be broken out of tcg_optimize.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e2577ea24f9974ab0fb2a2b255203bad0c878f91
      
https://github.com/qemu/qemu/commit/e2577ea24f9974ab0fb2a2b255203bad0c878f91
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out init_arguments

There was no real reason for calls to have separate code here.
Unify init for calls vs non-calls using the call path, which
handles TCG_CALL_DUMMY_ARG.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8774dded029c96130aacf6e6bb71b70cf271b8df
      
https://github.com/qemu/qemu/commit/8774dded029c96130aacf6e6bb71b70cf271b8df
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out copy_propagate

Continue splitting tcg_optimize.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5cf32be7d8f385d1599655fdb9de87996243f33b
      
https://github.com/qemu/qemu/commit/5cf32be7d8f385d1599655fdb9de87996243f33b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_call

Calls are special in that they have a variable number
of arguments, and need to be able to clobber globals.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ec5d4cbeef2749c9137daeac1b7f67735510675b
      
https://github.com/qemu/qemu/commit/ec5d4cbeef2749c9137daeac1b7f67735510675b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Drop nb_oargs, nb_iargs locals

Rather than try to keep these up-to-date across folding,
re-read nb_oargs at the end, after re-reading the opcode.

A couple of asserts need dropping, but that will take care
of itself as we split the function further.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8d57bf1e82da9c1a71c16b12545a9e8d347690f3
      
https://github.com/qemu/qemu/commit/8d57bf1e82da9c1a71c16b12545a9e8d347690f3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Change fail return for do_constant_folding_cond*

Return -1 instead of 2 for failure, so that we can
use comparisons against 0 for all cases.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6b99d5bf388655b340e93412bf60f8bff90e5870
      
https://github.com/qemu/qemu/commit/6b99d5bf388655b340e93412bf60f8bff90e5870
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Return true from tcg_opt_gen_{mov,movi}

This will allow callers to tail call to these functions
and return true indicating processing complete.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 137f1f4429965d9a702fae9fc89f2604449a24d3
      
https://github.com/qemu/qemu/commit/137f1f4429965d9a702fae9fc89f2604449a24d3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out finish_folding

Copy z_mask into OptContext, for writeback to the
first output within the new function.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 404a148d891bf18fc564fa94b00970bbc2c0feec
      
https://github.com/qemu/qemu/commit/404a148d891bf18fc564fa94b00970bbc2c0feec
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use a boolean to avoid a mass of continues

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3eefdf2b5885dca36eefa200862c661654519162
      
https://github.com/qemu/qemu/commit/3eefdf2b5885dca36eefa200862c661654519162
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_mb, fold_qemu_{ld,st}

This puts the separate mb optimization into the same framework
as the others.  While fold_qemu_{ld,st} are currently identical,
that won't last as more code gets moved.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2f9f08ba43df3ea76124f66ae3fe99a96a0a072f
      
https://github.com/qemu/qemu/commit/2f9f08ba43df3ea76124f66ae3fe99a96a0a072f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_const{1,2}

Split out a whole bunch of placeholder functions, which are
currently identical.  That won't last as more code gets moved.

Use CASE_32_64_VEC for some logical operators that previously
missed the addition of vectors.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: bc47b1aa5be9f90cdbf7fbb01717e4259f717bb9
      
https://github.com/qemu/qemu/commit/bc47b1aa5be9f90cdbf7fbb01717e4259f717bb9
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_setcond2

Reduce some code duplication by folding the NE and EQ cases.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 764d2aba08c35f2462371b01c27fb032447afcd8
      
https://github.com/qemu/qemu/commit/764d2aba08c35f2462371b01c27fb032447afcd8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_brcond2

Reduce some code duplication by folding the NE and EQ cases.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 079b08040e0c4eed96b3c19fe37cf17a46294d2b
      
https://github.com/qemu/qemu/commit/079b08040e0c4eed96b3c19fe37cf17a46294d2b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_brcond

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c63ff55cc5d27b81e6a0924bd1f9abea262069a9
      
https://github.com/qemu/qemu/commit/c63ff55cc5d27b81e6a0924bd1f9abea262069a9
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_setcond

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6b8ac0d1498cf6638e3d50c33e06e5b3b0e7a2d7
      
https://github.com/qemu/qemu/commit/6b8ac0d1498cf6638e3d50c33e06e5b3b0e7a2d7
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_mulu2_i32

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e3f7dc216744aceb46fb67be1476b518bc48c5ff
      
https://github.com/qemu/qemu/commit/e3f7dc216744aceb46fb67be1476b518bc48c5ff
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_addsub2_i32

Add two additional helpers, fold_add2_i32 and fold_sub2_i32
which will not be simple wrappers forever.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 0c310a3005b59a1e3667654b9c88ddaa32eaf166
      
https://github.com/qemu/qemu/commit/0c310a3005b59a1e3667654b9c88ddaa32eaf166
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_movcond

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: dcd08996c9420a0d22399e0cc53117d2043a02bb
      
https://github.com/qemu/qemu/commit/dcd08996c9420a0d22399e0cc53117d2043a02bb
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_extract2

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b6617c8821548350a490c14894a4fe0dba07fc73
      
https://github.com/qemu/qemu/commit/b6617c8821548350a490c14894a4fe0dba07fc73
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_extract, fold_sextract

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 1b1907b8460467743fd23cef918fac9dd7858441
      
https://github.com/qemu/qemu/commit/1b1907b8460467743fd23cef918fac9dd7858441
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_deposit

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 30dd0bfeb5385342a7f216e661d9b69f6ec7182e
      
https://github.com/qemu/qemu/commit/30dd0bfeb5385342a7f216e661d9b69f6ec7182e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_count_zeros

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 09bacdc2632581cafd2878d91d62ba69dc7574f0
      
https://github.com/qemu/qemu/commit/09bacdc2632581cafd2878d91d62ba69dc7574f0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_bswap

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8cdb3fcb8e69502963ca4127fab656e5ffe2be93
      
https://github.com/qemu/qemu/commit/8cdb3fcb8e69502963ca4127fab656e5ffe2be93
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_dup, fold_dup2

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2cfac7fa482e015310968ee68b001db94789d190
      
https://github.com/qemu/qemu/commit/2cfac7fa482e015310968ee68b001db94789d190
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_mov

This is the final entry in the main switch that was in a
different form.  After this, we have the option to convert
the switch into a function dispatch table.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cbe42fb2f22b9adb8b78374f6ff4ca5f58807208
      
https://github.com/qemu/qemu/commit/cbe42fb2f22b9adb8b78374f6ff4ca5f58807208
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_xx_to_i

Pull the "op r, a, a => movi r, 0" optimization into a function,
and use it in the outer opcode fold functions.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ca7bb049a0250890afd4dd0e66f10b8a4d51715c
      
https://github.com/qemu/qemu/commit/ca7bb049a0250890afd4dd0e66f10b8a4d51715c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_xx_to_x

Pull the "op r, a, a => mov r, a" optimization into a function,
and use it in the outer opcode fold functions.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e8679955ec0791122a6c22d48ae760a215204f6a
      
https://github.com/qemu/qemu/commit/e8679955ec0791122a6c22d48ae760a215204f6a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_xi_to_i

Pull the "op r, a, 0 => movi r, 0" optimization into a function,
and use it in the outer opcode fold functions.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 67f84c962166093f26a1f2c66034a44cf294e809
      
https://github.com/qemu/qemu/commit/67f84c962166093f26a1f2c66034a44cf294e809
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Add type to OptContext

Compute the type of the operation early.

There are at least 4 places that used a def->flags ladder
to determine the type of the operation being optimized.

There were two places that assumed !TCG_OPF_64BIT means
TCG_TYPE_I32, and so could potentially compute incorrect
results for vector operations.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 0e0a32bacb29c4313ef195d2ea18809fd25cf5e2
      
https://github.com/qemu/qemu/commit/0e0a32bacb29c4313ef195d2ea18809fd25cf5e2
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_to_not

Split out the conditional conversion from a more complex logical
operation to a simple NOT.  Create a couple more helpers to make
this easy for the outer-most logical operations.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9caca88a76a6b1e5203dd2470800941c2670a9cd
      
https://github.com/qemu/qemu/commit/9caca88a76a6b1e5203dd2470800941c2670a9cd
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_sub_to_neg

Even though there is only one user, place this more complex
conversion into its own helper.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a63ce0e9cb860439d4277bd6dca696bce1f1bb6b
      
https://github.com/qemu/qemu/commit/a63ce0e9cb860439d4277bd6dca696bce1f1bb6b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_xi_to_x

Pull the "op r, a, i => mov r, a" optimization into a function,
and use them in the outer-most logical operations.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: da48e2720227473041b7a14dd9f838577d36833a
      
https://github.com/qemu/qemu/commit/da48e2720227473041b7a14dd9f838577d36833a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_ix_to_i

Pull the "op r, 0, b => movi r, 0" optimization into a function,
and use it in fold_shift.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: fae450ba4764dcf8c7a131131639ac0969a8eae8
      
https://github.com/qemu/qemu/commit/fae450ba4764dcf8c7a131131639ac0969a8eae8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out fold_masks

Move all of the known-zero optimizations into the per-opcode
functions.  Use fold_masks when there is a possibility of the
result being determined, and simply set ctx->z_mask otherwise.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 407112b03d7665a3cb7b3a21105e721a8a0c5fd8
      
https://github.com/qemu/qemu/commit/407112b03d7665a3cb7b3a21105e721a8a0c5fd8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Expand fold_mulu2_i32 to all 4-arg multiplies

Rename to fold_multiply2, and handle muls2_i32, mulu2_i64,
and muls2_i64.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9531c078ff63783f2a21ba302827123e7b073304
      
https://github.com/qemu/qemu/commit/9531c078ff63783f2a21ba302827123e7b073304
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Expand fold_addsub2_i32 to 64-bit ops

Rename to fold_addsub2.
Use Int128 to implement the wider operation.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7a2f70845255bd6a2ad6399d159c58a7e7b64b51
      
https://github.com/qemu/qemu/commit/7a2f70845255bd6a2ad6399d159c58a7e7b64b51
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Sink commutative operand swapping into fold functions

Most of these are handled by creating a fold_const2_commutative
to handle all of the binary operators.  The rest were already
handled on a case-by-case basis in the switch, and have their
own fold function in which to place the call.

We now have only one major switch on TCGOpcode.

Introduce NO_DEST and a block comment for swap_commutative in
order to make the handling of brcond and movcond opcodes cleaner.

Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 18cf3d07a2556700895c626754937e90f8e972cf
      
https://github.com/qemu/qemu/commit/18cf3d07a2556700895c626754937e90f8e972cf
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Extend call args using the correct opcodes

Pretending that the source is i64 when it is in fact i32 is
incorrect; we have type-changing opcodes that must be used.
This bug trips up the subsequent change to the optimizer.

Fixes: 4f2331e5b67a
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: faa2e10045ef82f4a1a24a7f69e285736143b469
      
https://github.com/qemu/qemu/commit/faa2e10045ef82f4a1a24a7f69e285736143b469
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Stop forcing z_mask to "garbage" for 32-bit values

This "garbage" setting pre-dates the addition of the type
changing opcodes INDEX_op_ext_i32_i64, INDEX_op_extu_i32_i64,
and INDEX_op_extr{l,h}_i64_i32.

So now we have a definitive points at which to adjust z_mask
to eliminate such bits from the 32-bit operands.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4e858d96aa3997113014a31afabcf95fb36d2860
      
https://github.com/qemu/qemu/commit/4e858d96aa3997113014a31afabcf95fb36d2860
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_xx_to_i for orc

Recognize the constant function for or-complement.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5b5cf47983c37d4c49eb2b8449bc62a7d3d76dbc
      
https://github.com/qemu/qemu/commit/5b5cf47983c37d4c49eb2b8449bc62a7d3d76dbc
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_xi_to_x for mul

Recognize the identity function for low-part multiply.

Suggested-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2f9d9a34221feb80d5b1fc6b584f910f8cee317a
      
https://github.com/qemu/qemu/commit/2f9d9a34221feb80d5b1fc6b584f910f8cee317a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_xi_to_x for div

Recognize the identity function for division.

Suggested-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 267c17e8252fd70b311871f3e936eb7cdf4abb51
      
https://github.com/qemu/qemu/commit/267c17e8252fd70b311871f3e936eb7cdf4abb51
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_xx_to_i for rem

Recognize the constant function for remainder.

Suggested-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 57fe5c6df21c05af11435b2ed426a42ee3345298
      
https://github.com/qemu/qemu/commit/57fe5c6df21c05af11435b2ed426a42ee3345298
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Optimize sign extensions

Certain targets, like riscv, produce signed 32-bit results.
This can lead to lots of redundant extensions as values are
manipulated.

Begin by tracking only the obvious sign-extensions, and
converting them to simple copies when possible.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3f2b1f8376c11327ca2ea54cdc1085d4d4c1d97c
      
https://github.com/qemu/qemu/commit/3f2b1f8376c11327ca2ea54cdc1085d4d4c1d97c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Propagate sign info for logical operations

Sign repetitions are perforce all identical, whether they are 1 or 0.
Bitwise operations preserve the relative quantity of the repetitions.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 275d7d8e70ef8679e241ce78c83548067f403394
      
https://github.com/qemu/qemu/commit/275d7d8e70ef8679e241ce78c83548067f403394
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Propagate sign info for setcond

The result is either 0 or 1, which means that we have
a 2 bit signed result, and thus 62 bits of sign.
For clarity, use the smask_from_zmask function.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2b9d0c59edec097c72ce9b917d3c08dc5d59cdda
      
https://github.com/qemu/qemu/commit/2b9d0c59edec097c72ce9b917d3c08dc5d59cdda
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Propagate sign info for bit counting

The results are generally 6 bit unsigned values, though
the count leading and trailing bits may produce any value
for a zero input.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 93a967fbb571ae34857c769dbf0bcc08f2286328
      
https://github.com/qemu/qemu/commit/93a967fbb571ae34857c769dbf0bcc08f2286328
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Propagate sign info for shifting

For constant shifts, we can simply shift the s_mask.

For variable shifts, we know that sar does not reduce
the s_mask, which helps for sequences like

    ext32s_i64  t, in
    sar_i64     t, t, v
    ext32s_i64  out, t

allowing the final extend to be eliminated.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9f660c077b53f58792b6fa6a45b2c3eb1e25b716
      
https://github.com/qemu/qemu/commit/9f660c077b53f58792b6fa6a45b2c3eb1e25b716
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M softmmu/physmem.c

  Log Message:
  -----------
  softmmu: fix watchpoint processing in icount mode

Watchpoint processing code restores vCPU state twice:
in tb_check_watchpoint and in cpu_loop_exit_restore/cpu_restore_state.
Normally it does not affect anything, but in icount mode instruction
counter is incremented twice and becomes incorrect.
This patch eliminates unneeded CPU state restore.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <163542168516.2127597.8781375223437124644.stgit@pasha-ThinkPad-X280>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 1ab0ba8ab525046f4727c6e1b146e779db8b0489
      
https://github.com/qemu/qemu/commit/1ab0ba8ab525046f4727c6e1b146e779db8b0489
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M softmmu/physmem.c

  Log Message:
  -----------
  softmmu: remove useless condition in watchpoint check

cpu_check_watchpoint function checks cpu->watchpoint_hit at the entry.
But then it also does the same in the middle of the function,
while this field can't change.
That is why this patch removes this useless condition.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <163542169094.2127597.8801843697434113110.stgit@pasha-ThinkPad-X280>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: efd629fb21e2ff6a8f62642d9ed7a23dfee4d320
      
https://github.com/qemu/qemu/commit/efd629fb21e2ff6a8f62642d9ed7a23dfee4d320
  Author: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M softmmu/physmem.c

  Log Message:
  -----------
  softmmu: fix for "after access" watchpoints

Watchpoints that should fire after the memory access
break an execution of the current block, try to
translate current instruction into the separate block,
which then causes debug interrupt.
But cpu_interrupt can't be called in such block when
icount is enabled, because interrupts muse be allowed
explicitly.
This patch sets CF_LAST_IO flag for retranslated block,
allowing interrupt request for the last instruction.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <163542169727.2127597.8141772572696627329.stgit@pasha-ThinkPad-X280>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a92cecba2791cd408d2bca04ce181dc2abaf9695
      
https://github.com/qemu/qemu/commit/a92cecba2791cd408d2bca04ce181dc2abaf9695
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-29 (Fri, 29 Oct 2021)

  Changed paths:
    M include/fpu/softfloat-macros.h
    M include/hw/clock.h
    M include/qemu/host-utils.h
    M include/qemu/int128.h
    M softmmu/physmem.c
    M target/ppc/int_helper.c
    M tcg/optimize.c
    M tcg/tcg.c
    M tests/unit/meson.build
    A tests/unit/test-div128.c
    M util/host-utils.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20211028' into staging

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

# gpg: Signature made Thu 28 Oct 2021 09:06:00 PM PDT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[ultimate]

* remotes/rth/tags/pull-tcg-20211028: (60 commits)
  softmmu: fix for "after access" watchpoints
  softmmu: remove useless condition in watchpoint check
  softmmu: fix watchpoint processing in icount mode
  tcg/optimize: Propagate sign info for shifting
  tcg/optimize: Propagate sign info for bit counting
  tcg/optimize: Propagate sign info for setcond
  tcg/optimize: Propagate sign info for logical operations
  tcg/optimize: Optimize sign extensions
  tcg/optimize: Use fold_xx_to_i for rem
  tcg/optimize: Use fold_xi_to_x for div
  tcg/optimize: Use fold_xi_to_x for mul
  tcg/optimize: Use fold_xx_to_i for orc
  tcg/optimize: Stop forcing z_mask to "garbage" for 32-bit values
  tcg: Extend call args using the correct opcodes
  tcg/optimize: Sink commutative operand swapping into fold functions
  tcg/optimize: Expand fold_addsub2_i32 to 64-bit ops
  tcg/optimize: Expand fold_mulu2_i32 to all 4-arg multiplies
  tcg/optimize: Split out fold_masks
  tcg/optimize: Split out fold_ix_to_i
  tcg/optimize: Split out fold_xi_to_x
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/edf044c558ac...a92cecba2791



reply via email to

[Prev in Thread] Current Thread [Next in Thread]