Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 0ccbac336b74c3006d4234bb6b5c4b3c32c61171
      
https://github.com/qemu/qemu/commit/0ccbac336b74c3006d4234bb6b5c4b3c32c61171
  Author: Ilya Leoshkevich <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tests/tcg/multiarch/system/memory.c

  Log Message:
  -----------
  tests/tcg: Do not use inttypes.h in multiarch/system/memory.c

make check-tcg fails on Fedora with the following error message:

    alpha-linux-gnu-gcc [...] qemu/tests/tcg/multiarch/system/memory.c -o 
memory [...]
    qemu/tests/tcg/multiarch/system/memory.c:17:10: fatal error: inttypes.h: No 
such file or directory
       17 | #include <inttypes.h>
          |          ^~~~~~~~~~~~
    compilation terminated.

The reason is that Fedora has cross-compilers, but no cross-glibc
headers. Fix by hardcoding the format specifiers and dropping the
include.

An alternative fix would be to introduce a configure check for
inttypes.h. But this would make it impossible to use Fedora
cross-compilers for softmmu tests, which used to work so far.

Fixes: ecbcc9ead2f8 ("tests/tcg: add a system test to check memory 
instrumentation")
Signed-off-by: Ilya Leoshkevich <[email protected]>
Reviewed-by: Paolo Bonzini <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: dbf408b6678a6076bd2412159d0ce665dce6acd0
      
https://github.com/qemu/qemu/commit/dbf408b6678a6076bd2412159d0ce665dce6acd0
  Author: Pierrick Bouvier <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c

  Log Message:
  -----------
  plugins: optimize cpu_index code generation

When running with a single vcpu, we can return a constant instead of a
load when accessing cpu_index.
A side effect is that all tcg operations using it are optimized, most
notably scoreboard access.
When running a simple loop in user-mode, the speedup is around 20%.

Signed-off-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>


  Commit: 1526855c012a7f1314278e4f8fbb0741ec74a372
      
https://github.com/qemu/qemu/commit/1526855c012a7f1314278e4f8fbb0741ec74a372
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Split out finish_bb, finish_ebb

Call them directly from the opcode switch statement in tcg_optimize,
rather than in finish_folding based on opcode flags.  Adjust folding
of conditional branches to match.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 045ace35a8587f9552b528595f2d67a76b77f1b5
      
https://github.com/qemu/qemu/commit/045ace35a8587f9552b528595f2d67a76b77f1b5
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

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

There are only a few logical operations which can compute
an "affected" mask.  Split out handling of this optimization
to a separate function, only to be called when applicable.

Remove the a_mask field from OptContext, as the mask is
no longer stored anywhere.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 56e06ecfa5f13816b68b850f4ce46d8756e2c32b
      
https://github.com/qemu/qemu/commit/56e06ecfa5f13816b68b850f4ce46d8756e2c32b
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Copy mask writeback to fold_masks

Use of fold_masks should be restricted to those opcodes that
can reliably make use of it -- those with a single output,
and from higher-level folders that set up the masks.
Prepare for conversion of each folder in turn.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: d582b14d808ee9b9c624140a1d253b6381406a9e
      
https://github.com/qemu/qemu/commit/d582b14d808ee9b9c624140a1d253b6381406a9e
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

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

Add a routine to which masks can be passed directly, rather than
storing them into OptContext.  To be used in upcoming patches.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 75c3bf324d21f8f57be1349007b0252ae64b4c51
      
https://github.com/qemu/qemu/commit/75c3bf324d21f8f57be1349007b0252ae64b4c51
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Augment s_mask from z_mask in fold_masks_zs

Consider the passed s_mask to be a minimum deduced from
either existing s_mask or from a sign-extension operation.
We may be able to deduce more from the set of known zeros.
Remove identical logic from several opcode folders.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 6d70ddc6350361c38e7720d1ffc594e5cc648900
      
https://github.com/qemu/qemu/commit/6d70ddc6350361c38e7720d1ffc594e5cc648900
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Change representation of s_mask

Change the representation from sign bit repetitions to all bits equal
to the sign bit, including the sign bit itself.

The previous format has a problem in that it is difficult to recreate
a valid sign mask after a shift operation: the "repetitions" part of
the previous format meant that applying the same shift as for the value
lead to an off-by-one value.

The new format, including the sign bit itself, means that the sign mask
can be manipulated in exactly the same way as the value, canonicalization
is easier.

Canonicalize the s_mask in fold_masks_zs, rather than requiring callers
to do so.  Treat 0 as a non-canonical but typeless input for no sign
information, which will be reset as appropriate for the data type.
We can easily fold in the data from z_mask while canonicalizing.

Temporarily disable optimizations using s_mask while each operation is
converted to use fold_masks_zs and to the new form.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: f3ed3cffb96f96875755ac4b057a15fd50ed0f32
      
https://github.com/qemu/qemu/commit/f3ed3cffb96f96875755ac4b057a15fd50ed0f32
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_add, fold_add_vec, fold_addsub2

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: e1b6c141e98034d44d7e9004dc35545b87ebcade
      
https://github.com/qemu/qemu/commit/e1b6c141e98034d44d7e9004dc35545b87ebcade
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Introduce const value accessors for TempOptInfo

Introduce ti_is_const, ti_const_val, ti_is_const_val.

Signed-off-by: Richard Henderson <[email protected]>


  Commit: 1ca7372c033d8d958add8f4f4c7d8e37c06e6ef7
      
https://github.com/qemu/qemu/commit/1ca7372c033d8d958add8f4f4c7d8e37c06e6ef7
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_and

Avoid the use of the OptContext slots.  Find TempOptInfo once.
Sink mask computation below fold_affected_mask early exit.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 21e2b5f9fa79eb122cb7240436b84a56263547aa
      
https://github.com/qemu/qemu/commit/21e2b5f9fa79eb122cb7240436b84a56263547aa
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_andc

Avoid the use of the OptContext slots.  Find TempOptInfo once.
Avoid double inversion of the value of second const operand.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: c1e7b989c8f05a4e78896a8856530492d87b51b4
      
https://github.com/qemu/qemu/commit/c1e7b989c8f05a4e78896a8856530492d87b51b4
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_bswap

Avoid the use of the OptContext slots.  Find TempOptInfo once.
Always set s_mask along the BSWAP_OS path, since the result is
being explicitly sign-extended.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: ce1d663ff8a4535e4c72471cab3e52cb24fb7eb1
      
https://github.com/qemu/qemu/commit/ce1d663ff8a4535e4c72471cab3e52cb24fb7eb1
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_count_zeros

Avoid the use of the OptContext slots. Find TempOptInfo once.
Compute s_mask from the union of the maximum count and the
op2 fallback for op1 being zero.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 81be07f905b187743b69adeb2877e5a9efc00d8e
      
https://github.com/qemu/qemu/commit/81be07f905b187743b69adeb2877e5a9efc00d8e
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_z in fold_ctpop

Add fold_masks_z as a trivial wrapper around fold_masks_zs.
Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: c7739ab83e02b93cb15f54984c3f66ba3c5bd8d2
      
https://github.com/qemu/qemu/commit/c7739ab83e02b93cb15f54984c3f66ba3c5bd8d2
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_and and fold_masks_z in fold_deposit

Avoid the use of the OptContext slots.  Find TempOptInfo once.
When we fold to and, use fold_and.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: edb832cb51dd98d955dc33973063853bd333752e
      
https://github.com/qemu/qemu/commit/edb832cb51dd98d955dc33973063853bd333752e
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Compute sign mask in fold_deposit

The input which overlaps the sign bit of the output can
have its input s_mask propagated to the output s_mask.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 3d5ec804da6e119ad16632675f4ffbbc880ea291
      
https://github.com/qemu/qemu/commit/3d5ec804da6e119ad16632675f4ffbbc880ea291
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_divide

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: e089d694e1d3a7b4406535b748a324fa28bfaf0f
      
https://github.com/qemu/qemu/commit/e089d694e1d3a7b4406535b748a324fa28bfaf0f
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_dup, fold_dup2

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: ef6be624f6bfc655bbc2dd7c86f50a46ab90a414
      
https://github.com/qemu/qemu/commit/ef6be624f6bfc655bbc2dd7c86f50a46ab90a414
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_s in fold_eqv

Add fold_masks_s as a trivial wrapper around fold_masks_zs.
Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: b6cd00f1ef6d7d0b789094559f8d8a4537356515
      
https://github.com/qemu/qemu/commit/b6cd00f1ef6d7d0b789094559f8d8a4537356515
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_z in fold_extract

Avoid the use of the OptContext slots.  Find TempOptInfo once.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: c9df99ee8d549875cd274db10c072dc0b373a168
      
https://github.com/qemu/qemu/commit/c9df99ee8d549875cd274db10c072dc0b373a168
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_extract2

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: a96219204f6944def14bdb3a6b2a0bbba172f88a
      
https://github.com/qemu/qemu/commit/a96219204f6944def14bdb3a6b2a0bbba172f88a
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_exts

Avoid the use of the OptContext slots.  Find TempOptInfo once.
Explicitly sign-extend z_mask instead of doing that manually.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 08abe2908fa597fb3af298408c261e17378c54d6
      
https://github.com/qemu/qemu/commit/08abe2908fa597fb3af298408c261e17378c54d6
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_z in fold_extu

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 322027841f2e35adef592e28ee1288d90232185f
      
https://github.com/qemu/qemu/commit/322027841f2e35adef592e28ee1288d90232185f
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_movcond

Avoid the use of the OptContext slots.  Find TempOptInfo once.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: cd9c5834d83ccde38268a52d3201659a6286428b
      
https://github.com/qemu/qemu/commit/cd9c5834d83ccde38268a52d3201659a6286428b
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_mul*

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: fa3168ee93e4a9cabe31824f7918bfe4b7a56369
      
https://github.com/qemu/qemu/commit/fa3168ee93e4a9cabe31824f7918bfe4b7a56369
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_s in fold_nand

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: d151fd34b090ddb40b073f1bd2ac4c893a67d1eb
      
https://github.com/qemu/qemu/commit/d151fd34b090ddb40b073f1bd2ac4c893a67d1eb
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_z in fold_neg_no_const

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 2b7b69575733d5568e86d850a1c17e3414be974b
      
https://github.com/qemu/qemu/commit/2b7b69575733d5568e86d850a1c17e3414be974b
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_s in fold_nor

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 608e75fc0c957e6d07cb65d8203c2646a6723dc9
      
https://github.com/qemu/qemu/commit/608e75fc0c957e6d07cb65d8203c2646a6723dc9
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_s in fold_not

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 83b1ba3696a4c647d500705cdd11e79b69462cd9
      
https://github.com/qemu/qemu/commit/83b1ba3696a4c647d500705cdd11e79b69462cd9
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_or

Avoid the use of the OptContext slots.  Find TempOptInfo once.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 54e26b292bbf9602f49a66c0c022a623d0beec4b
      
https://github.com/qemu/qemu/commit/54e26b292bbf9602f49a66c0c022a623d0beec4b
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_orc

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 6813be9b9bb962865eb6770555f34d4b0d6066f3
      
https://github.com/qemu/qemu/commit/6813be9b9bb962865eb6770555f34d4b0d6066f3
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_qemu_ld

Avoid the use of the OptContext slots.

Be careful not to call fold_masks_zs when the memory operation
is wide enough to require multiple outputs, so split into two
functions: fold_qemu_ld_1reg and fold_qemu_ld_2reg.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 082b3ef9195571d543c32ab4afe5fc516153a9e5
      
https://github.com/qemu/qemu/commit/082b3ef9195571d543c32ab4afe5fc516153a9e5
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Return true from fold_qemu_st, fold_tcg_st

Stores have no output operands, and so need no further work.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: f9e3934903a8e388559c373f93544e3f9e6a9fc0
      
https://github.com/qemu/qemu/commit/f9e3934903a8e388559c373f93544e3f9e6a9fc0
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_remainder

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 95eb229363f28aaacf506974cdb3047d816345fe
      
https://github.com/qemu/qemu/commit/95eb229363f28aaacf506974cdb3047d816345fe
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Distinguish simplification in fold_setcond_zmask

Change return from bool to int; distinguish between
complete folding, simplification, and no change.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 2c8a28398d65e2e4ff31061533873ed09b894543
      
https://github.com/qemu/qemu/commit/2c8a28398d65e2e4ff31061533873ed09b894543
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_z in fold_setcond

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 081cf08b09edf0bea704126b607220150c9b5630
      
https://github.com/qemu/qemu/commit/081cf08b09edf0bea704126b607220150c9b5630
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_s in fold_negsetcond

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: a53502c0b4b63bc6dd5bf891231e145cf7a637ff
      
https://github.com/qemu/qemu/commit/a53502c0b4b63bc6dd5bf891231e145cf7a637ff
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_z in fold_setcond2

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 4d20104f9f2deef6d30109f0bba5725c0dcc08da
      
https://github.com/qemu/qemu/commit/4d20104f9f2deef6d30109f0bba5725c0dcc08da
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_cmp_vec

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 210c70b7ac449f2eabc55893eca15fe36d36391f
      
https://github.com/qemu/qemu/commit/210c70b7ac449f2eabc55893eca15fe36d36391f
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_cmpsel_vec

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: baff507e50fbcb270a1a7b448c2cc37cc7f9ec05
      
https://github.com/qemu/qemu/commit/baff507e50fbcb270a1a7b448c2cc37cc7f9ec05
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_sextract

Avoid the use of the OptContext slots.  Find TempOptInfo once.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 4e9ce6a2ec73d42e12aedf21b255dc00b378fc8d
      
https://github.com/qemu/qemu/commit/4e9ce6a2ec73d42e12aedf21b255dc00b378fc8d
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs, fold_masks_s in fold_shift

Avoid the use of the OptContext slots.  Find TempOptInfo once.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 4ed2ba3f4abe6b3c03a905d44cdd18b3a3c1ce33
      
https://github.com/qemu/qemu/commit/4ed2ba3f4abe6b3c03a905d44cdd18b3a3c1ce33
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Simplify sign bit test in fold_shift

Merge the two conditions, sign != 0 && !(z_mask & sign),
by testing ~z_mask & sign.   If sign == 0, the logical and
will produce false.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: fe1d0074b5cc64e0a548dfba8ab322bd8710c7e5
      
https://github.com/qemu/qemu/commit/fe1d0074b5cc64e0a548dfba8ab322bd8710c7e5
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_sub, fold_sub_vec

Duplicate fold_sub_vec into fold_sub instead of calling it,
now that fold_sub_vec always returns true.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: d33e0f01db0f75c890a8ed1f1116d45080ca1c3c
      
https://github.com/qemu/qemu/commit/d33e0f01db0f75c890a8ed1f1116d45080ca1c3c
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_tcg_ld

Avoid the use of the OptContext slots.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 0fb5b757c344cb57d7c81922262bc8546c3ab504
      
https://github.com/qemu/qemu/commit/0fb5b757c344cb57d7c81922262bc8546c3ab504
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_tcg_ld_memcopy

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: c890fd71794601431694ce0650055fbe927a1d8e
      
https://github.com/qemu/qemu/commit/c890fd71794601431694ce0650055fbe927a1d8e
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use fold_masks_zs in fold_xor

Avoid the use of the OptContext slots.  Find TempOptInfo once.
Remove fold_masks as the function becomes unused.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 4fcd14ca64aaaed88a8b6a5a22b517397a7053b1
      
https://github.com/qemu/qemu/commit/4fcd14ca64aaaed88a8b6a5a22b517397a7053b1
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding in fold_bitsel_vec

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 0ae564288947d3670aaa75c931e838d5265d2a64
      
https://github.com/qemu/qemu/commit/0ae564288947d3670aaa75c931e838d5265d2a64
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Use finish_folding as default in tcg_optimize

All non-default cases now finish folding within each function.
Do the same with the default case and assert it is done after.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: a3a88b17c2b2f682554a113e87e764c516e93e08
      
https://github.com/qemu/qemu/commit/a3a88b17c2b2f682554a113e87e764c516e93e08
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Remove z_mask, s_mask from OptContext

All mask setting is now done with parameters via fold_masks_*.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: aa9e0501a445d1897b960f5014050497e8e70105
      
https://github.com/qemu/qemu/commit/aa9e0501a445d1897b960f5014050497e8e70105
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Re-enable sign-mask optimizations

All instances of s_mask have been converted to the new
representation.  We can now re-enable usage.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 7d3c63aca11ee365b36524c95d2d75d70516c6bd
      
https://github.com/qemu/qemu/commit/7d3c63aca11ee365b36524c95d2d75d70516c6bd
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Move fold_bitsel_vec into alphabetic sort

The big comment just above says functions should be sorted.
Add forward declarations as needed.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 29f6586f6167a0ef6c8eaeb8c3cbdf4ff4c9d762
      
https://github.com/qemu/qemu/commit/29f6586f6167a0ef6c8eaeb8c3cbdf4ff4c9d762
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: Move fold_cmp_vec, fold_cmpsel_vec into alphabetic sort

The big comment just above says functions should be sorted.

Reviewed-by: Pierrick Bouvier <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 910556bbf4ffe41c9de5cf7f2c3a269ac2de5324
      
https://github.com/qemu/qemu/commit/910556bbf4ffe41c9de5cf7f2c3a269ac2de5324
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c
    M include/fpu/softfloat.h

  Log Message:
  -----------
  softfloat: Add float{16,32,64}_muladd_scalbn

We currently have a flag, float_muladd_halve_result, to scale
the result by 2**-1.  Extend this to handle arbitrary scaling.

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 912400a362e6d25a137e8314fa78ca0429d908aa
      
https://github.com/qemu/qemu/commit/912400a362e6d25a137e8314fa78ca0429d908aa
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/arm/tcg/helper-a64.c

  Log Message:
  -----------
  target/arm: Use float*_muladd_scalbn

Use the scalbn interface instead of float_muladd_halve_result.

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 88d5f550bd570cd2837c0316bea6bae8cb4b745a
      
https://github.com/qemu/qemu/commit/88d5f550bd570cd2837c0316bea6bae8cb4b745a
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/sparc/fop_helper.c
    M target/sparc/helper.h
    M target/sparc/translate.c

  Log Message:
  -----------
  target/sparc: Use float*_muladd_scalbn

Use the scalbn interface instead of float_muladd_halve_result.

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 6a243913aa46f3d60ce36c7a826562c6e40b64d7
      
https://github.com/qemu/qemu/commit/6a243913aa46f3d60ce36c7a826562c6e40b64d7
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c
    M include/fpu/softfloat.h

  Log Message:
  -----------
  softfloat: Remove float_muladd_halve_result

All uses have been convered to float*_muladd_scalbn.

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 72330260cdb42015ae72096bae37e6fdaf361737
      
https://github.com/qemu/qemu/commit/72330260cdb42015ae72096bae37e6fdaf361737
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M include/fpu/softfloat-types.h

  Log Message:
  -----------
  softfloat: Add float_round_nearest_even_max

This rounding mode is used by Hexagon.

Signed-off-by: Richard Henderson <[email protected]>


  Commit: 82f898f3b660fb11e601ee5ea1cab4b2fdafacc8
      
https://github.com/qemu/qemu/commit/82f898f3b660fb11e601ee5ea1cab4b2fdafacc8
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c
    M include/fpu/softfloat.h

  Log Message:
  -----------
  softfloat: Add float_muladd_suppress_add_product_zero

Certain Hexagon instructions suppress changes to the result
when the product of fma() is a true zero.

Signed-off-by: Richard Henderson <[email protected]>


  Commit: 6e7422dc22fd2a3bd581e6a496470f6edecc6357
      
https://github.com/qemu/qemu/commit/6e7422dc22fd2a3bd581e6a496470f6edecc6357
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/fma_emu.c
    M target/hexagon/fma_emu.h
    M target/hexagon/op_helper.c

  Log Message:
  -----------
  target/hexagon: Use float32_mul in helper_sfmpy

There are no special cases for this instruction.
Remove internal_mpyf as unused.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 655a83cac128574c7ea386042f8eefa5be5708e5
      
https://github.com/qemu/qemu/commit/655a83cac128574c7ea386042f8eefa5be5708e5
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/op_helper.c

  Log Message:
  -----------
  target/hexagon: Use float32_muladd for helper_sffma

There are no special cases for this instruction.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 2eca1928f9afb7cbc8e72a59dffb964c8319469a
      
https://github.com/qemu/qemu/commit/2eca1928f9afb7cbc8e72a59dffb964c8319469a
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/op_helper.c

  Log Message:
  -----------
  target/hexagon: Use float32_muladd for helper_sffms

There are no special cases for this instruction.  Since hexagon
always uses default-nan mode, explicitly negating the first
input is unnecessary.  Use float_muladd_negate_product instead.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 904624ab8e1f41dd97bb6e2e524605f4c61bc795
      
https://github.com/qemu/qemu/commit/904624ab8e1f41dd97bb6e2e524605f4c61bc795
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/op_helper.c

  Log Message:
  -----------
  target/hexagon: Use float32_muladd_scalbn for helper_sffma_sc

This instruction has a special case that 0 * x + c returns c
without the normal sign folding that comes with 0 + -0.
Use the new float_muladd_suppress_add_product_zero to
describe this.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 316dca398579f2de2f433db02685e6799159c498
      
https://github.com/qemu/qemu/commit/316dca398579f2de2f433db02685e6799159c498
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/op_helper.c

  Log Message:
  -----------
  target/hexagon: Use float32_muladd for helper_sffm[as]_lib

There are multiple special cases for this instruction.
(1) The saturate to normal maximum instead of overflow to infinity is
    handled by the new float_round_nearest_even_max rounding mode.
(2) The 0 * n + c special case is handled by the new
    float_muladd_suppress_add_product_zero flag.
(3) The Inf - Inf -> 0 special case can be detected after the fact
    by examining float_flag_invalid_isi.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 813437e5002b0726535df4c77527986acac5de3b
      
https://github.com/qemu/qemu/commit/813437e5002b0726535df4c77527986acac5de3b
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/fma_emu.c
    M target/hexagon/fma_emu.h

  Log Message:
  -----------
  target/hexagon: Remove internal_fmafx

The function is now unused.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 795d6a2c4960325c514323147e13a22d5fe21ddf
      
https://github.com/qemu/qemu/commit/795d6a2c4960325c514323147e13a22d5fe21ddf
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/fma_emu.c

  Log Message:
  -----------
  target/hexagon: Expand GEN_XF_ROUND

This massive macro is now only used once.
Expand it for use only by float64.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: fefc9702e618cef00d199e6ddd43f4b2d4c2fad6
      
https://github.com/qemu/qemu/commit/fefc9702e618cef00d199e6ddd43f4b2d4c2fad6
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/fma_emu.c

  Log Message:
  -----------
  target/hexagon: Remove Float

This structure, with bitfields, is incorrect for big-endian.
Use the existing float32_getexp_raw which uses extract32.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 8429306c327e59786d96497bd6c36c42ccf58a06
      
https://github.com/qemu/qemu/commit/8429306c327e59786d96497bd6c36c42ccf58a06
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/fma_emu.c

  Log Message:
  -----------
  target/hexagon: Remove Double

This structure, with bitfields, is incorrect for big-endian.
Use extract64 and deposit64 instead.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 65b4dce393cddb5fb0295bf6666f7db8512b8cff
      
https://github.com/qemu/qemu/commit/65b4dce393cddb5fb0295bf6666f7db8512b8cff
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/fma_emu.c

  Log Message:
  -----------
  target/hexagon: Use mulu64 for int128_mul_6464

No need to open-code 64x64->128-bit multiplication.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: 59abfb444e1d9654e15f85c50d09a3366e4c1c1e
      
https://github.com/qemu/qemu/commit/59abfb444e1d9654e15f85c50d09a3366e4c1c1e
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M target/hexagon/fma_emu.c

  Log Message:
  -----------
  target/hexagon: Simplify internal_mpyhh setup

Initialize x with accumulated via direct assignment,
rather than multiplying by 1.

Reviewed-by: Brian Cain <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: e4a8e093dc74be049f4829831dce76e5edab0003
      
https://github.com/qemu/qemu/commit/e4a8e093dc74be049f4829831dce76e5edab0003
  Author: Richard Henderson <[email protected]>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/translate-all.c
    M include/exec/translator.h
    M include/hw/core/tcg-cpu-ops.h
    M target/alpha/cpu.c
    M target/alpha/cpu.h
    M target/alpha/translate.c
    M target/arm/cpu.c
    M target/arm/internals.h
    M target/arm/tcg/cpu-v7m.c
    M target/arm/tcg/translate.c
    M target/avr/cpu.c
    M target/avr/cpu.h
    M target/avr/translate.c
    M target/hexagon/cpu.c
    M target/hexagon/cpu.h
    M target/hexagon/translate.c
    M target/hppa/cpu.c
    M target/hppa/cpu.h
    M target/hppa/translate.c
    M target/i386/tcg/helper-tcg.h
    M target/i386/tcg/tcg-cpu.c
    M target/i386/tcg/translate.c
    M target/loongarch/cpu.c
    M target/loongarch/internals.h
    M target/loongarch/tcg/translate.c
    M target/m68k/cpu.c
    M target/m68k/cpu.h
    M target/m68k/translate.c
    M target/microblaze/cpu.c
    M target/microblaze/cpu.h
    M target/microblaze/translate.c
    M target/mips/cpu.c
    M target/mips/tcg/tcg-internal.h
    M target/mips/tcg/translate.c
    M target/openrisc/cpu.c
    M target/openrisc/cpu.h
    M target/openrisc/translate.c
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/translate.c
    M target/riscv/cpu.h
    M target/riscv/tcg/tcg-cpu.c
    M target/riscv/translate.c
    M target/rx/cpu.c
    M target/rx/cpu.h
    M target/rx/translate.c
    M target/s390x/cpu.c
    M target/s390x/s390x-internal.h
    M target/s390x/tcg/translate.c
    M target/sh4/cpu.c
    M target/sh4/cpu.h
    M target/sh4/translate.c
    M target/sparc/cpu.c
    M target/sparc/cpu.h
    M target/sparc/translate.c
    M target/tricore/cpu.c
    M target/tricore/cpu.h
    M target/tricore/translate.c
    M target/xtensa/cpu.c
    M target/xtensa/cpu.h
    M target/xtensa/translate.c

  Log Message:
  -----------
  accel/tcg: Move gen_intermediate_code to TCGCPUOps.translate_core

Convert all targets simultaneously, as the gen_intermediate_code
function disappears from the target.  While there are possible
workarounds, they're larger than simply performing the conversion.

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Richard Henderson <[email protected]>


  Commit: a7f77545d401266a6415e6e03c7738c95314f0e6
      
https://github.com/qemu/qemu/commit/a7f77545d401266a6415e6e03c7738c95314f0e6
  Author: Stefan Hajnoczi <[email protected]>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/plugin-gen.c
    M accel/tcg/translate-all.c
    M fpu/softfloat-parts.c.inc
    M fpu/softfloat.c
    M include/exec/translator.h
    M include/fpu/softfloat-types.h
    M include/fpu/softfloat.h
    M include/hw/core/tcg-cpu-ops.h
    M target/alpha/cpu.c
    M target/alpha/cpu.h
    M target/alpha/translate.c
    M target/arm/cpu.c
    M target/arm/internals.h
    M target/arm/tcg/cpu-v7m.c
    M target/arm/tcg/helper-a64.c
    M target/arm/tcg/translate.c
    M target/avr/cpu.c
    M target/avr/cpu.h
    M target/avr/translate.c
    M target/hexagon/cpu.c
    M target/hexagon/cpu.h
    M target/hexagon/fma_emu.c
    M target/hexagon/fma_emu.h
    M target/hexagon/op_helper.c
    M target/hexagon/translate.c
    M target/hppa/cpu.c
    M target/hppa/cpu.h
    M target/hppa/translate.c
    M target/i386/tcg/helper-tcg.h
    M target/i386/tcg/tcg-cpu.c
    M target/i386/tcg/translate.c
    M target/loongarch/cpu.c
    M target/loongarch/internals.h
    M target/loongarch/tcg/translate.c
    M target/m68k/cpu.c
    M target/m68k/cpu.h
    M target/m68k/translate.c
    M target/microblaze/cpu.c
    M target/microblaze/cpu.h
    M target/microblaze/translate.c
    M target/mips/cpu.c
    M target/mips/tcg/tcg-internal.h
    M target/mips/tcg/translate.c
    M target/openrisc/cpu.c
    M target/openrisc/cpu.h
    M target/openrisc/translate.c
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/translate.c
    M target/riscv/cpu.h
    M target/riscv/tcg/tcg-cpu.c
    M target/riscv/translate.c
    M target/rx/cpu.c
    M target/rx/cpu.h
    M target/rx/translate.c
    M target/s390x/cpu.c
    M target/s390x/s390x-internal.h
    M target/s390x/tcg/translate.c
    M target/sh4/cpu.c
    M target/sh4/cpu.h
    M target/sh4/translate.c
    M target/sparc/cpu.c
    M target/sparc/cpu.h
    M target/sparc/fop_helper.c
    M target/sparc/helper.h
    M target/sparc/translate.c
    M target/tricore/cpu.c
    M target/tricore/cpu.h
    M target/tricore/translate.c
    M target/xtensa/cpu.c
    M target/xtensa/cpu.h
    M target/xtensa/translate.c
    M tcg/optimize.c
    M tests/tcg/multiarch/system/memory.c

  Log Message:
  -----------
  Merge tag 'pull-tcg-20241224' of https://gitlab.com/rth7680/qemu into staging

tcg/optimize: Remove in-flight mask data from OptContext
fpu: Add float*_muladd_scalbn
fpu: Remove float_muladd_halve_result
fpu: Add float_round_nearest_even_max
fpu: Add float_muladd_suppress_add_product_zero
target/hexagon: Use float32_muladd
accel/tcg: Move gen_intermediate_code to TCGCPUOps.translate_core

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmdrE7QdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV+l2Qf/aECUfMn07wns7WjX
# ebWxzIRKp//ktsIJg9InL8zrCStyRqrBj0VQE9LUfO2Vhvqf8faUdh+uh2ek/Ewa
# f1hfo0kDK7e7oWnCicSbHmdC0FQIrKpg2i+YXIsbd4XWOkmFAhkNenISuQfCrL3k
# 3UYAA12seK9uCls+fljvhK6iid3h+4ReDFW7DPg7mumFCCz6CwzYYW/4cnhcAmOn
# qVehtts8W+6SFMjTE04S8NV8OBaMisf8AbCcZf2PedRl1cHGSumLOjvjOxcQU8Hw
# nGUjL8/hYWkEetzU4YzJyfHOe6F9lPJBMnDattwIswwYrTOD/Sq7VbBWFbW0EwUy
# 7XIZ8Q==
# =DZgo
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 24 Dec 2024 15:04:04 EST
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "[email protected]"
# gpg: Good signature from "Richard Henderson <[email protected]>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-tcg-20241224' of https://gitlab.com/rth7680/qemu: (72 commits)
  accel/tcg: Move gen_intermediate_code to TCGCPUOps.translate_core
  target/hexagon: Simplify internal_mpyhh setup
  target/hexagon: Use mulu64 for int128_mul_6464
  target/hexagon: Remove Double
  target/hexagon: Remove Float
  target/hexagon: Expand GEN_XF_ROUND
  target/hexagon: Remove internal_fmafx
  target/hexagon: Use float32_muladd for helper_sffm[as]_lib
  target/hexagon: Use float32_muladd_scalbn for helper_sffma_sc
  target/hexagon: Use float32_muladd for helper_sffms
  target/hexagon: Use float32_muladd for helper_sffma
  target/hexagon: Use float32_mul in helper_sfmpy
  softfloat: Add float_muladd_suppress_add_product_zero
  softfloat: Add float_round_nearest_even_max
  softfloat: Remove float_muladd_halve_result
  target/sparc: Use float*_muladd_scalbn
  target/arm: Use float*_muladd_scalbn
  softfloat: Add float{16,32,64}_muladd_scalbn
  tcg/optimize: Move fold_cmp_vec, fold_cmpsel_vec into alphabetic sort
  tcg/optimize: Move fold_bitsel_vec into alphabetic sort
  ...

Signed-off-by: Stefan Hajnoczi <[email protected]>


Compare: https://github.com/qemu/qemu/compare/aa3a285b5bc5...a7f77545d401

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications

Reply via email to