qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] f65f3e: disas/riscv: Guard dec->cfg dereferen


From: stefanhaRH
Subject: [Qemu-commits] [qemu/qemu] f65f3e: disas/riscv: Guard dec->cfg dereference for host d...
Date: Wed, 22 Jan 2025 04:43:29 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: f65f3ebfaddbbf679c01534d55600525a3cb330c
      
https://github.com/qemu/qemu/commit/f65f3ebfaddbbf679c01534d55600525a3cb330c
  Author: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M disas/riscv.c

  Log Message:
  -----------
  disas/riscv: Guard dec->cfg dereference for host disassemble

For riscv host, it will set dec->cfg to zero. Thus we shuld guard
the dec->cfg deference for riscv host disassemble.

And in general, we should only use dec->cfg for target in three cases:

1) For not incompatible encodings, such as zcmp/zcmt/zfinx.
2) For maybe-ops encodings, they are better to be disassembled to
   the "real" extensions, such as zicfiss. The guard of dec->zimop
   and dec->zcmop is for comment and avoid check for every extension
   that encoded in maybe-ops area.
3) For custom encodings, we have to use dec->cfg to disassemble
   custom encodings using the same encoding area.

Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20241206032411.52528-1-zhiwei_liu@linux.alibaba.com>


  Commit: 125f97925d69aad22cf766aa1f7eac63707800d8
      
https://github.com/qemu/qemu/commit/125f97925d69aad22cf766aa1f7eac63707800d8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/aarch64/tcg-target.c.inc
    M tcg/aarch64/tcg-target.h
    M tcg/arm/tcg-target.c.inc
    M tcg/arm/tcg-target.h
    M tcg/i386/tcg-target.c.inc
    M tcg/i386/tcg-target.h
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.h
    M tcg/mips/tcg-target.c.inc
    M tcg/mips/tcg-target.h
    M tcg/riscv/tcg-target.c.inc
    M tcg/riscv/tcg-target.h
    M tcg/s390x/tcg-target.c.inc
    M tcg/s390x/tcg-target.h
    M tcg/sparc64/tcg-target.c.inc
    M tcg/sparc64/tcg-target.h
    M tcg/tci/tcg-target.c.inc
    M tcg/tci/tcg-target.h

  Log Message:
  -----------
  tcg: Move call abi parameters from tcg-target.h to tcg-target.c.inc

These defines are not required outside of tcg/tcg.c,
which includes tcg-target.c.inc before use.
Reduces the exported symbol set of tcg-target.h.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4d8722183932d9502e405ae86b1889e1d8a475e5
      
https://github.com/qemu/qemu/commit/4d8722183932d9502e405ae86b1889e1d8a475e5
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M docs/devel/tcg-ops.rst
    M include/tcg/tcg.h
    M tcg/optimize.c
    M tcg/tcg-internal.h
    M tcg/tcg-op-ldst.c
    M tcg/tcg-op-vec.c
    M tcg/tcg-op.c
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Replace TCGOP_VECL with TCGOP_TYPE

In the replacement, drop the TCGType - TCG_TYPE_V64 adjustment,
except for the call to tcg_out_vec_op.  Pass type to tcg_gen_op[1-6],
so that all integer opcodes gain the type.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: efefb9cb89f0db957a7b9775b89dc96c28da4a40
      
https://github.com/qemu/qemu/commit/efefb9cb89f0db957a7b9775b89dc96c28da4a40
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/tcg-internal.h

  Log Message:
  -----------
  tcg: Move tcg_op_insert_{after,before} decls to tcg-internal.h

These are not particularly useful outside of optimization passes.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: fb744ece3a782c1dbe0331f312c7ea655c14c52f
      
https://github.com/qemu/qemu/commit/fb744ece3a782c1dbe0331f312c7ea655c14c52f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Copy TCGOP_TYPE in tcg_op_insert_{after,before}

Simplify use within the optimizers by defaulting the
new opcode to the same type as the old opcode.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2ccf871ea5e2b9164123529ae788df5d1360e036
      
https://github.com/qemu/qemu/commit/2ccf871ea5e2b9164123529ae788df5d1360e036
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h

  Log Message:
  -----------
  tcg: Add TCGOP_FLAGS

To be used by some integer operations instead of,
or in addition to, a trailing constant argument.

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


  Commit: 771a5925e8142550d9469b1ed394b63bab021b15
      
https://github.com/qemu/qemu/commit/771a5925e8142550d9469b1ed394b63bab021b15
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Add type and flags arguments to tcg_op_supported

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 09246b1797a739c1982353eea5272735b411645d
      
https://github.com/qemu/qemu/commit/09246b1797a739c1982353eea5272735b411645d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M target/arm/tcg/translate-sve.c

  Log Message:
  -----------
  target/arm: Do not test TCG_TARGET_HAS_bitsel_vec

Rely on tcg-op-vec.c to expand the opcode if missing.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3a4fb570135d334af00313755addd0fc5fdf022d
      
https://github.com/qemu/qemu/commit/3a4fb570135d334af00313755addd0fc5fdf022d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  target/arm: Use tcg_op_supported

Do not reference TCG_TARGET_HAS_* directly.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 80a3a9423a86cc5dae6c6e1794328465d105d73c
      
https://github.com/qemu/qemu/commit/80a3a9423a86cc5dae6c6e1794328465d105d73c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M target/tricore/translate.c

  Log Message:
  -----------
  target/tricore: Use tcg_op_supported

Do not reference TCG_TARGET_HAS_* directly.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 0e4c6424d639b1e2e2b780a2692d47491b7260ae
      
https://github.com/qemu/qemu/commit/0e4c6424d639b1e2e2b780a2692d47491b7260ae
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Add tcg_op_deposit_valid

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 20fab3c2106eafc4bb306d5d2c721fcacb5b10c6
      
https://github.com/qemu/qemu/commit/20fab3c2106eafc4bb306d5d2c721fcacb5b10c6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M target/i386/tcg/emit.c.inc

  Log Message:
  -----------
  target/i386: Remove TCG_TARGET_extract_tl_valid

This macro is unused.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 34220513bbb88bc2fc53470a83c73c828377570f
      
https://github.com/qemu/qemu/commit/34220513bbb88bc2fc53470a83c73c828377570f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M target/i386/tcg/emit.c.inc

  Log Message:
  -----------
  target/i386: Use tcg_op_deposit_valid

Avoid direct usage of TCG_TARGET_deposit_*_valid.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a4ca7f4a3e2467ce8378fbf8ff2379f29a8a0724
      
https://github.com/qemu/qemu/commit/a4ca7f4a3e2467ce8378fbf8ff2379f29a8a0724
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M target/i386/tcg/emit.c.inc

  Log Message:
  -----------
  target/i386: Use tcg_op_supported

Do not reference TCG_TARGET_HAS_* directly.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a417ef835058995d09a9d2e58c04c4bf640563e3
      
https://github.com/qemu/qemu/commit/a417ef835058995d09a9d2e58c04c4bf640563e3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/aarch64/tcg-target.c.inc
    M tcg/aarch64/tcg-target.h
    M tcg/arm/tcg-target.c.inc
    M tcg/arm/tcg-target.h
    M tcg/i386/tcg-target.c.inc
    M tcg/i386/tcg-target.h
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.h
    M tcg/mips/tcg-target.c.inc
    M tcg/mips/tcg-target.h
    M tcg/ppc/tcg-target.c.inc
    M tcg/ppc/tcg-target.h
    M tcg/riscv/tcg-target.c.inc
    M tcg/riscv/tcg-target.h
    M tcg/s390x/tcg-target.c.inc
    M tcg/s390x/tcg-target.h
    M tcg/sparc64/tcg-target.c.inc
    M tcg/sparc64/tcg-target.h
    R tcg/tcg-ldst.c.inc
    R tcg/tcg-pool.c.inc
    M tcg/tcg.c
    M tcg/tci/tcg-target.c.inc

  Log Message:
  -----------
  tcg: Remove TCG_TARGET_NEED_LDST_LABELS and TCG_TARGET_NEED_POOL_LABELS

Make these features unconditional, as they're used by most
tcg backends anyway.  Merge tcg-ldst.c.inc and tcg-pool.c.inc
into tcg.c and mark some of the functions unused, so that
when the features are not used we won't get Werrors.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 76da0a9c83e65634cb24502e642a194177a24853
      
https://github.com/qemu/qemu/commit/76da0a9c83e65634cb24502e642a194177a24853
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg-opc.h
    A tcg/aarch64/tcg-target-opc.h.inc
    R tcg/aarch64/tcg-target.opc.h
    A tcg/arm/tcg-target-opc.h.inc
    R tcg/arm/tcg-target.opc.h
    A tcg/i386/tcg-target-opc.h.inc
    R tcg/i386/tcg-target.opc.h
    A tcg/loongarch64/tcg-target-opc.h.inc
    R tcg/loongarch64/tcg-target.opc.h
    A tcg/mips/tcg-target-opc.h.inc
    A tcg/ppc/tcg-target-opc.h.inc
    R tcg/ppc/tcg-target.opc.h
    A tcg/riscv/tcg-target-opc.h.inc
    R tcg/riscv/tcg-target.opc.h
    A tcg/s390x/tcg-target-opc.h.inc
    R tcg/s390x/tcg-target.opc.h
    A tcg/sparc64/tcg-target-opc.h.inc
    A tcg/tci/tcg-target-opc.h.inc

  Log Message:
  -----------
  tcg: Rename tcg-target.opc.h to tcg-target-opc.h.inc

In addition, add empty files for mips, sparc64 and tci.
Make the include unconditional within tcg-opc.h.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 87431dd6a94e757858d131279040aec17a444eec
      
https://github.com/qemu/qemu/commit/87431dd6a94e757858d131279040aec17a444eec
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg-opc.h
    M tcg/tci/tcg-target-opc.h.inc

  Log Message:
  -----------
  tcg/tci: Move TCI specific opcodes to tcg-target-opc.h.inc

Now that tcg-target-opc.h.inc is unconditional,
we can move these out of the generic header.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7d3e705a96a980d80fed00de7ab4afa368a22f3f
      
https://github.com/qemu/qemu/commit/7d3e705a96a980d80fed00de7ab4afa368a22f3f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Move fallback tcg_can_emit_vec_op out of line

Don't reference TCG_TARGET_MAYBE_vec in a public header.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3bff1625f7a4c2be96aedc76b270a1d67e4e6dcc
      
https://github.com/qemu/qemu/commit/3bff1625f7a4c2be96aedc76b270a1d67e4e6dcc
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/ppc/tcg-target.h

  Log Message:
  -----------
  tcg/ppc: Remove TCGPowerISA enum

Left-over from commit 623d7e3551a ("util: Add cpuinfo-ppc.c").

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-2-philmd@linaro.org>


  Commit: fd4841c0433c1b433f9b3f6ddddc3e653997b26e
      
https://github.com/qemu/qemu/commit/fd4841c0433c1b433f9b3f6ddddc3e653997b26e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    A tcg/tcg-has.h

  Log Message:
  -----------
  tcg: Extract default TCG_TARGET_HAS_foo definitions to 'tcg-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-3-philmd@linaro.org>


  Commit: e03cf27df9169867b33680261eb4162232db2cba
      
https://github.com/qemu/qemu/commit/e03cf27df9169867b33680261eb4162232db2cba
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/aarch64/tcg-target-has.h
    M tcg/aarch64/tcg-target.h

  Log Message:
  -----------
  tcg/aarch64: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-4-philmd@linaro.org>


  Commit: d3f4d0dc9cd3050f46db3e429d483cc4b3e4798d
      
https://github.com/qemu/qemu/commit/d3f4d0dc9cd3050f46db3e429d483cc4b3e4798d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/arm/tcg-target-has.h
    M tcg/arm/tcg-target.h

  Log Message:
  -----------
  tcg/arm: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-5-philmd@linaro.org>


  Commit: 8c033f243141e9b50a93308f871f7f0b53fdc379
      
https://github.com/qemu/qemu/commit/8c033f243141e9b50a93308f871f7f0b53fdc379
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/i386/tcg-target-has.h
    M tcg/i386/tcg-target.h

  Log Message:
  -----------
  tcg/i386: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-6-philmd@linaro.org>


  Commit: 0a16d036154ecafe68db336309caed3add00fd70
      
https://github.com/qemu/qemu/commit/0a16d036154ecafe68db336309caed3add00fd70
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/loongarch64/tcg-target-has.h
    M tcg/loongarch64/tcg-target.h

  Log Message:
  -----------
  tcg/loongarch64: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-7-philmd@linaro.org>


  Commit: f975a3134d67d53e6409392e07d8cc73aebfc512
      
https://github.com/qemu/qemu/commit/f975a3134d67d53e6409392e07d8cc73aebfc512
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/mips/tcg-target-has.h
    M tcg/mips/tcg-target.h

  Log Message:
  -----------
  tcg/mips: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-8-philmd@linaro.org>


  Commit: 5f593d5b16fcbadbca8929d891a2d65144156f91
      
https://github.com/qemu/qemu/commit/5f593d5b16fcbadbca8929d891a2d65144156f91
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/ppc/tcg-target-has.h
    M tcg/ppc/tcg-target.h

  Log Message:
  -----------
  tcg/ppc: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-9-philmd@linaro.org>


  Commit: 0242532b45df877ac986b57348a536c1b76088c0
      
https://github.com/qemu/qemu/commit/0242532b45df877ac986b57348a536c1b76088c0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/riscv/tcg-target-has.h
    M tcg/riscv/tcg-target.h

  Log Message:
  -----------
  tcg/riscv: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-10-philmd@linaro.org>


  Commit: 44c9e94bcccb6e4d7c3fb9a184830577c923907a
      
https://github.com/qemu/qemu/commit/44c9e94bcccb6e4d7c3fb9a184830577c923907a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/s390x/tcg-target-has.h
    M tcg/s390x/tcg-target.h

  Log Message:
  -----------
  tcg/s390x: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-11-philmd@linaro.org>


  Commit: 66ba44cfbf60cb009435777a226f7c6cf248d55f
      
https://github.com/qemu/qemu/commit/66ba44cfbf60cb009435777a226f7c6cf248d55f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/sparc64/tcg-target-has.h
    M tcg/sparc64/tcg-target.h

  Log Message:
  -----------
  tcg/sparc64: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-12-philmd@linaro.org>


  Commit: 8ae72b38b504ac450bf12025f5242cc5a4cb39b0
      
https://github.com/qemu/qemu/commit/8ae72b38b504ac450bf12025f5242cc5a4cb39b0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    A tcg/tci/tcg-target-has.h
    M tcg/tci/tcg-target.h

  Log Message:
  -----------
  tcg/tci: Extract TCG_TARGET_HAS_foo defs to 'tcg-target-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-13-philmd@linaro.org>


  Commit: f15d00a4c180ffd303dc9272f34a26a185f741f8
      
https://github.com/qemu/qemu/commit/f15d00a4c180ffd303dc9272f34a26a185f741f8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/aarch64/tcg-target.h
    M tcg/arm/tcg-target.h
    M tcg/i386/tcg-target.h
    M tcg/loongarch64/tcg-target.h
    M tcg/mips/tcg-target.h
    M tcg/ppc/tcg-target.h
    M tcg/riscv/tcg-target.h
    M tcg/s390x/tcg-target.h
    M tcg/sparc64/tcg-target.h
    M tcg/tcg-has.h
    M tcg/tci/tcg-target.h

  Log Message:
  -----------
  tcg: Include 'tcg-target-has.h' once in 'tcg-has.h'

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-14-philmd@linaro.org>


  Commit: 93280b67381148d6b8b25f54f32901f868987c84
      
https://github.com/qemu/qemu/commit/93280b67381148d6b8b25f54f32901f868987c84
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/optimize.c
    M tcg/tcg-common.c
    M tcg/tcg-op-gvec.c
    M tcg/tcg-op-ldst.c
    M tcg/tcg-op-vec.c
    M tcg/tcg-op.c
    M tcg/tcg.c
    M tcg/tci.c

  Log Message:
  -----------
  tcg: Only include 'tcg-has.h' when necessary

TCG_TARGET_HAS_* definitions don't need to be exposed
by "tcg/tcg.h". Only include 'tcg-has.h' when necessary.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250108215156.8731-15-philmd@linaro.org>


  Commit: 12f06532c86467c2efac13f6cd630fa5c6f7bda8
      
https://github.com/qemu/qemu/commit/12f06532c86467c2efac13f6cd630fa5c6f7bda8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M accel/tcg/internal-target.h
    A tcg/aarch64/tcg-target-mo.h
    M tcg/aarch64/tcg-target.h
    A tcg/arm/tcg-target-mo.h
    M tcg/arm/tcg-target.h
    A tcg/i386/tcg-target-mo.h
    M tcg/i386/tcg-target.h
    A tcg/loongarch64/tcg-target-mo.h
    M tcg/loongarch64/tcg-target.h
    A tcg/mips/tcg-target-mo.h
    M tcg/mips/tcg-target.h
    A tcg/ppc/tcg-target-mo.h
    M tcg/ppc/tcg-target.h
    A tcg/riscv/tcg-target-mo.h
    M tcg/riscv/tcg-target.h
    A tcg/s390x/tcg-target-mo.h
    M tcg/s390x/tcg-target.h
    A tcg/sparc64/tcg-target-mo.h
    M tcg/sparc64/tcg-target.h
    M tcg/tcg-op-ldst.c
    A tcg/tci/tcg-target-mo.h
    M tcg/tci/tcg-target.h

  Log Message:
  -----------
  tcg: Split out tcg-target-mo.h

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: da43e5e6ba64fbe50d6437719470d57874939542
      
https://github.com/qemu/qemu/commit/da43e5e6ba64fbe50d6437719470d57874939542
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/aarch64/tcg-target.c.inc
    M tcg/arm/tcg-target.c.inc
    M tcg/i386/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/mips/tcg-target.c.inc
    M tcg/ppc/tcg-target.c.inc
    M tcg/riscv/tcg-target.c.inc
    M tcg/s390x/tcg-target.c.inc
    M tcg/sparc64/tcg-target.c.inc
    M tcg/tcg.c
    M tcg/tci/tcg-target.c.inc

  Log Message:
  -----------
  tcg: Use C_NotImplemented in tcg_target_op_def

Return C_NotImplemented instead of asserting for opcodes
not implemented by the backend.  For now, the assertion
moves to process_op_defs.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f44824cc4dcdc993d60639576d706ecf5996ca5a
      
https://github.com/qemu/qemu/commit/f44824cc4dcdc993d60639576d706ecf5996ca5a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Change have_vec to has_type in tcg_op_supported

Test each vector type, not just lumping them all together.
Add tests for I32 (always true) and I64 (64-bit hosts).

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3e80824e8bffef2d1dd27165a2cf48e8c034ed10
      
https://github.com/qemu/qemu/commit/3e80824e8bffef2d1dd27165a2cf48e8c034ed10
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Reorg process_op_defs

Process each TCGConstraintSetIndex first.  Allocate TCGArgConstraint
arrays based on those.  Only afterward process the TCGOpcodes and
share those TCGArgConstraint arrays.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 501fb3da3fd60538214218cfbccc1abf45a047c2
      
https://github.com/qemu/qemu/commit/501fb3da3fd60538214218cfbccc1abf45a047c2
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/tcg-common.c
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Remove args_ct from TCGOpDef

Introduce a new function, opcode_args_ct, to look up the argument
set for an opcode.  We lose the ability to assert the correctness
of the map from TCGOpcode to constraint sets at startup, but we can
still validate at runtime upon lookup.

Rename process_op_defs to process_constraint_sets, as it now does
nothing to TCGOpDef.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ed1a653bad46752c4c4ceb2ada774dff7cd79e81
      
https://github.com/qemu/qemu/commit/ed1a653bad46752c4c4ceb2ada774dff7cd79e81
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/tcg-common.c
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Constify tcg_op_defs

Now that we're no longer assigning to TCGOpDef.args_ct,
we can make the array constant.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b277cdd20baf6d8579aa5a874f713f9e19833c9f
      
https://github.com/qemu/qemu/commit/b277cdd20baf6d8579aa5a874f713f9e19833c9f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Validate op supported in opcode_args_ct

We should have checked that the op is supported before
emitting it.  The backend cannot be expected to have a
constraint set for unsupported ops.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 07ffd5b219681d9f6eb6bef9f66152bb88b23106
      
https://github.com/qemu/qemu/commit/07ffd5b219681d9f6eb6bef9f66152bb88b23106
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg-opc.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Add TCG_OPF_NOT_PRESENT to opcodes without inputs or outputs

The br, mb, goto_tb and exit_tb opcodes do not have
register operands, only constants, flags, or labels.
Remove the special case in opcode_args_ct by including
TCG_OPF_NOT_PRESENT in the flags for these opcodes.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6323b3639cfd362abcd1f29c52455ae550d5ac99
      
https://github.com/qemu/qemu/commit/6323b3639cfd362abcd1f29c52455ae550d5ac99
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/aarch64/tcg-target.c.inc
    M tcg/arm/tcg-target.c.inc
    M tcg/i386/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/mips/tcg-target.c.inc
    M tcg/ppc/tcg-target.c.inc
    M tcg/riscv/tcg-target.c.inc
    M tcg/s390x/tcg-target.c.inc
    M tcg/sparc64/tcg-target.c.inc
    M tcg/tcg.c
    M tcg/tci/tcg-target.c.inc

  Log Message:
  -----------
  tcg: Pass type and flags to tcg_target_op_def

Allow the backend to make constraint choices based on more parameters.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4e350091a2b87070967c85f9caeefeb85c4d2e8d
      
https://github.com/qemu/qemu/commit/4e350091a2b87070967c85f9caeefeb85c4d2e8d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/aarch64/tcg-target.c.inc
    M tcg/arm/tcg-target.c.inc
    M tcg/i386/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/mips/tcg-target.c.inc
    M tcg/ppc/tcg-target.c.inc
    M tcg/riscv/tcg-target.c.inc
    M tcg/s390x/tcg-target.c.inc
    M tcg/sparc64/tcg-target.c.inc
    M tcg/tcg.c
    M tcg/tci/tcg-target.c.inc

  Log Message:
  -----------
  tcg: Add TCGType argument to tcg_out_op

Pass TCGOp.type to the output function.
For aarch64 and tci, use this instead of testing TCG_OPF_64BIT.
For s390x, use this instead of testing INDEX_op_deposit_i64.
For i386, use this to initialize rexw.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 931bac71fc1f877168d14e718a503c271713ed6e
      
https://github.com/qemu/qemu/commit/931bac71fc1f877168d14e718a503c271713ed6e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg-opc.h
    M include/tcg/tcg.h

  Log Message:
  -----------
  tcg: Remove TCG_OPF_64BIT

This flag is no longer used.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 76187b4f57eb3931352e7f3e1c86d8d49545e396
      
https://github.com/qemu/qemu/commit/76187b4f57eb3931352e7f3e1c86d8d49545e396
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg-opc.h

  Log Message:
  -----------
  tcg: Drop implementation checks from tcg-opc.h

Now that we use a functional interface to query whether the opcode
is supported, we can drop the TCG_OPF_NOT_PRESENT bit mapping from
TCG_TARGET_HAS_foo in tcg-opc.h

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f9af66f6dc0fb5f6c570e99df318d997d5510f7f
      
https://github.com/qemu/qemu/commit/f9af66f6dc0fb5f6c570e99df318d997d5510f7f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M include/tcg/tcg-opc.h
    M tcg/aarch64/tcg-target-opc.h.inc
    M tcg/arm/tcg-target-opc.h.inc
    M tcg/i386/tcg-target-opc.h.inc
    M tcg/ppc/tcg-target-opc.h.inc
    M tcg/s390x/tcg-target-opc.h.inc

  Log Message:
  -----------
  tcg: Replace IMPLVEC with TCG_OPF_VECTOR

This is now a direct replacement.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 72912ac7365e737d9c9755437345efb47363db26
      
https://github.com/qemu/qemu/commit/72912ac7365e737d9c9755437345efb47363db26
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/mips/tcg-target-has.h

  Log Message:
  -----------
  tcg/mips: Expand bswap unconditionally

We always provide bswap subroutines, whether they are optimized
using mips32r2 when available or not.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ad76017e51731ef84e98bd25b922fe14e656dd8d
      
https://github.com/qemu/qemu/commit/ad76017e51731ef84e98bd25b922fe14e656dd8d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/i386/tcg-target.c.inc

  Log Message:
  -----------
  tcg/i386: Handle all 8-bit extensions for i686

When we generalize {s}extract_i32, we'll lose the
specific register constraints on ext8u and ext8s.
It's just as easy to emit a couple of insns instead.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4bce752c1a4aad3bfba9b6447dd200fade242aed
      
https://github.com/qemu/qemu/commit/4bce752c1a4aad3bfba9b6447dd200fade242aed
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/i386/tcg-target-has.h
    M tcg/i386/tcg-target.c.inc
    M tcg/optimize.c
    M tcg/tcg-has.h
    M tcg/tcg-op.c

  Log Message:
  -----------
  tcg/i386: Fold the ext{8,16,32}[us] cases into {s}extract

Accept byte and word extensions with the extract opcodes.
This is preparatory to removing the specialized extracts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 42ace08607669007e47d7e73aaaeb74948b0c5f2
      
https://github.com/qemu/qemu/commit/42ace08607669007e47d7e73aaaeb74948b0c5f2
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/aarch64/tcg-target-has.h

  Log Message:
  -----------
  tcg/aarch64: Provide TCG_TARGET_{s}extract_valid

Trivially mirrors TCG_TARGET_HAS_{s}extract_*.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 936fc0a96ed02e0d996ea58b05daf983b1cb3041
      
https://github.com/qemu/qemu/commit/936fc0a96ed02e0d996ea58b05daf983b1cb3041
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/aarch64/tcg-target.c.inc

  Log Message:
  -----------
  tcg/aarch64: Expand extract with offset 0 with andi

We're about to change canonicalization of masks as extract
instead of and.  Retain the andi expansion here.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 802ef65b5f8dccbcabb7960bee9993ec65f95ab6
      
https://github.com/qemu/qemu/commit/802ef65b5f8dccbcabb7960bee9993ec65f95ab6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/arm/tcg-target-has.h
    M tcg/arm/tcg-target.c.inc

  Log Message:
  -----------
  tcg/arm: Add full [US]XT[BH] into {s}extract

The armv6 uxt and sxt opcodes have a 2-bit rotate field
which supports extractions from ofs = {0,8,16,24}.
Special case ofs = 0, len <= 8 as AND.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 0c44a4d3b647240aa9485e648fe5f63bed5e4820
      
https://github.com/qemu/qemu/commit/0c44a4d3b647240aa9485e648fe5f63bed5e4820
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/loongarch64/tcg-target-has.h
    M tcg/loongarch64/tcg-target.c.inc

  Log Message:
  -----------
  tcg/loongarch64: Fold the ext{8,16,32}[us] cases into {s}extract

Accept byte and word extensions with the extract opcodes.
This is preparatory to removing the specialized extracts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 791d03047bb814cc5f938f2b1f59115ef7f63344
      
https://github.com/qemu/qemu/commit/791d03047bb814cc5f938f2b1f59115ef7f63344
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/mips/tcg-target-has.h
    M tcg/mips/tcg-target.c.inc

  Log Message:
  -----------
  tcg/mips: Fold the ext{8,16,32}[us] cases into {s}extract

Accept AND, ext32u, ext32s extensions with the extract opcodes.
This is preparatory to removing the specialized extracts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 94d593941b68828a42df6d7af20fc4bb0e720df5
      
https://github.com/qemu/qemu/commit/94d593941b68828a42df6d7af20fc4bb0e720df5
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/ppc/tcg-target-has.h
    M tcg/ppc/tcg-target.c.inc

  Log Message:
  -----------
  tcg/ppc: Fold the ext{8,16,32}[us] cases into {s}extract

Accept byte and word extensions with the extract opcodes.
This is preparatory to removing the specialized extracts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 841e2c5257102c738e8578eb0ce38d3de830ea4c
      
https://github.com/qemu/qemu/commit/841e2c5257102c738e8578eb0ce38d3de830ea4c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/riscv/tcg-target-has.h
    M tcg/riscv/tcg-target.c.inc

  Log Message:
  -----------
  tcg/riscv64: Fold the ext{8,16,32}[us] cases into {s}extract

Accept byte and word extensions with the extract opcodes.
This is preparatory to removing the specialized extracts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: fa65f13555e121566c9105f252c72a3b63f1ecea
      
https://github.com/qemu/qemu/commit/fa65f13555e121566c9105f252c72a3b63f1ecea
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/riscv/tcg-target-has.h
    M tcg/riscv/tcg-target.c.inc

  Log Message:
  -----------
  tcg/riscv: Use SRAIW, SRLIW for {s}extract_i64

Extracts which abut bit 32 may use 32-bit shifts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 42103c4ce73d7c26c48cc48f29e694700b09a937
      
https://github.com/qemu/qemu/commit/42103c4ce73d7c26c48cc48f29e694700b09a937
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/s390x/tcg-target-has.h
    M tcg/s390x/tcg-target.c.inc

  Log Message:
  -----------
  tcg/s390x: Fold the ext{8,16,32}[us] cases into {s}extract

Accept byte and word extensions with the extract opcodes.
This is preparatory to removing the specialized extracts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3dc7e1db22b8e2f058fca36fa1ab7c78ebf1a389
      
https://github.com/qemu/qemu/commit/3dc7e1db22b8e2f058fca36fa1ab7c78ebf1a389
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/sparc64/tcg-target-has.h
    M tcg/sparc64/tcg-target.c.inc

  Log Message:
  -----------
  tcg/sparc64: Use SRA, SRL for {s}extract_i64

Extracts which abut bit 32 may use 32-bit shifts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d9336b727ffd3430254663c8a37850242f6f07ea
      
https://github.com/qemu/qemu/commit/d9336b727ffd3430254663c8a37850242f6f07ea
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/tci/tcg-target-has.h

  Log Message:
  -----------
  tcg/tci: Provide TCG_TARGET_{s}extract_valid

Trivially mirrors TCG_TARGET_HAS_{s}extract_*.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 41736e7ce1f810594abad540c48f8390228a4d81
      
https://github.com/qemu/qemu/commit/41736e7ce1f810594abad540c48f8390228a4d81
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/tci/tcg-target.c.inc

  Log Message:
  -----------
  tcg/tci: Remove assertions for deposit and extract

We already have these assertions during opcode creation.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c334de110ea93108feeddce11bd302146d1520f8
      
https://github.com/qemu/qemu/commit/c334de110ea93108feeddce11bd302146d1520f8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/aarch64/tcg-target-has.h
    M tcg/arm/tcg-target-has.h
    M tcg/i386/tcg-target-has.h
    M tcg/loongarch64/tcg-target-has.h
    M tcg/mips/tcg-target-has.h
    M tcg/optimize.c
    M tcg/ppc/tcg-target-has.h
    M tcg/riscv/tcg-target-has.h
    M tcg/s390x/tcg-target-has.h
    M tcg/sparc64/tcg-target-has.h
    M tcg/tcg-has.h
    M tcg/tcg.c
    M tcg/tci.c
    M tcg/tci/tcg-target-has.h

  Log Message:
  -----------
  tcg: Remove TCG_TARGET_HAS_{s}extract_{i32,i64}

Make extract and sextract "unconditional" in the sense
that the opcodes are always present.  Rely instead on
TCG_TARGET_HAS_{s}extract_valid, now always defined.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6482e9d2a40101895ae73c72466ccf4bcbee51bd
      
https://github.com/qemu/qemu/commit/6482e9d2a40101895ae73c72466ccf4bcbee51bd
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/aarch64/tcg-target-has.h
    M tcg/arm/tcg-target-has.h
    M tcg/i386/tcg-target-has.h
    M tcg/loongarch64/tcg-target-has.h
    M tcg/mips/tcg-target-has.h
    M tcg/ppc/tcg-target-has.h
    M tcg/riscv/tcg-target-has.h
    M tcg/s390x/tcg-target-has.h
    M tcg/sparc64/tcg-target-has.h
    M tcg/tcg-has.h
    M tcg/tcg-op.c
    M tcg/tcg.c
    M tcg/tci.c
    M tcg/tci/tcg-target-has.h
    M tcg/tci/tcg-target.c.inc

  Log Message:
  -----------
  tcg: Remove TCG_TARGET_HAS_deposit_{i32,i64}

Make deposit "unconditional" in the sense that the opcode is
always present.  Rely instead on TCG_TARGET_deposit_valid,
now always defined.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2c4815590f9ea399bc87f727dd1c883b0d701bb8
      
https://github.com/qemu/qemu/commit/2c4815590f9ea399bc87f727dd1c883b0d701bb8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M host/include/riscv/host/cpuinfo.h
    M util/cpuinfo-riscv.c

  Log Message:
  -----------
  util/cpuinfo-riscv: Detect Zbs

Acked-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20250102181601.1421059-2-richard.henderson@linaro.org>


  Commit: ee97eef290cde22c39b8715802bb3b0ca4555be3
      
https://github.com/qemu/qemu/commit/ee97eef290cde22c39b8715802bb3b0ca4555be3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M tcg/riscv/tcg-target-has.h
    M tcg/riscv/tcg-target.c.inc

  Log Message:
  -----------
  tcg/riscv: Use BEXTI for single-bit extractions

Acked-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20250102181601.1421059-3-richard.henderson@linaro.org>


  Commit: 8095f652f237df90b7b01e025cbcebe95065541c
      
https://github.com/qemu/qemu/commit/8095f652f237df90b7b01e025cbcebe95065541c
  Author: Helge Deller <deller@kernel.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M linux-user/sparc/target_proc.h

  Log Message:
  -----------
  linux-user: Add missing /proc/cpuinfo fields for sparc

Add some missing fields which may be parsed by userspace applications.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <Z39B1wzNNpndmOxZ@p100>


  Commit: d3203d5a0cff5a7064fe52b99510835e6b7eb03b
      
https://github.com/qemu/qemu/commit/d3203d5a0cff5a7064fe52b99510835e6b7eb03b
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M include/tcg/tcg.h

  Log Message:
  -----------
  tcg: Document tb_lookup() and tcg_tb_lookup()

These similarly named functions serve different purposes; add
docstrings to highlight them.

Suggested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20250116213214.5695-1-iii@linux.ibm.com>


  Commit: 5313b1aaaccca99b2fe5a03fc6b3bfad65597b22
      
https://github.com/qemu/qemu/commit/5313b1aaaccca99b2fe5a03fc6b3bfad65597b22
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  accel/tcg: Call tcg_tb_insert() for one-insn TBs

Currently one-insn TBs created from I/O memory are not added to
region_trees. Therefore, when they generate exceptions, they are not
handled by cpu_restore_state_from_tb().

For x86 this is not a problem, because x86_restore_state_to_opc() only
restores pc and cc, which already have the correct values if the first
TB instruction causes an exception. However, on several other
architectures, restore_state_to_opc() is not stricly limited to state
restoration and affects some exception-related registers, where guests
can notice incorrect values, for example:

- arm's exception.syndrome;
- hppa's unwind_breg;
- riscv's excp_uw2;
- s390x's int_pgm_ilen.

Fix by always calling tcg_tb_insert(). This may increase the size of
region_trees, but tcg_region_reset_all() clears it once code_gen_buffer
fills up, so it will not grow uncontrollably.

Do not call tb_link_page(), which would add such TBs to the QHT, to
prevent tb_lookup() from finding them. These TBs are single-use, since
subsequent reads from I/O memory may return different values; they are
not removed from code_gen_buffer only in order to keep things simple.

Co-developed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20250116213214.5695-2-iii@linux.ibm.com>


  Commit: db1649823d4f27b924a5aa5f9e0111457accb798
      
https://github.com/qemu/qemu/commit/db1649823d4f27b924a5aa5f9e0111457accb798
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M include/fpu/softfloat-helpers.h

  Log Message:
  -----------
  softfloat: Constify helpers returning float_status field

These helpers don't alter float_status. Make it const.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20250116214359.67295-1-philmd@linaro.org>


  Commit: 32a97c5d05c5deb54a42315d48cecf86cbeadaf4
      
https://github.com/qemu/qemu/commit/32a97c5d05c5deb54a42315d48cecf86cbeadaf4
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/internal-target.h
    M accel/tcg/translate-all.c
    M disas/riscv.c
    M docs/devel/tcg-ops.rst
    M host/include/riscv/host/cpuinfo.h
    M include/fpu/softfloat-helpers.h
    M include/tcg/tcg-opc.h
    M include/tcg/tcg.h
    M linux-user/sparc/target_proc.h
    M target/arm/tcg/translate-a64.c
    M target/arm/tcg/translate-sve.c
    M target/arm/tcg/translate.c
    M target/i386/tcg/emit.c.inc
    M target/tricore/translate.c
    A tcg/aarch64/tcg-target-has.h
    A tcg/aarch64/tcg-target-mo.h
    A tcg/aarch64/tcg-target-opc.h.inc
    M tcg/aarch64/tcg-target.c.inc
    M tcg/aarch64/tcg-target.h
    R tcg/aarch64/tcg-target.opc.h
    A tcg/arm/tcg-target-has.h
    A tcg/arm/tcg-target-mo.h
    A tcg/arm/tcg-target-opc.h.inc
    M tcg/arm/tcg-target.c.inc
    M tcg/arm/tcg-target.h
    R tcg/arm/tcg-target.opc.h
    A tcg/i386/tcg-target-has.h
    A tcg/i386/tcg-target-mo.h
    A tcg/i386/tcg-target-opc.h.inc
    M tcg/i386/tcg-target.c.inc
    M tcg/i386/tcg-target.h
    R tcg/i386/tcg-target.opc.h
    A tcg/loongarch64/tcg-target-has.h
    A tcg/loongarch64/tcg-target-mo.h
    A tcg/loongarch64/tcg-target-opc.h.inc
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.h
    R tcg/loongarch64/tcg-target.opc.h
    A tcg/mips/tcg-target-has.h
    A tcg/mips/tcg-target-mo.h
    A tcg/mips/tcg-target-opc.h.inc
    M tcg/mips/tcg-target.c.inc
    M tcg/mips/tcg-target.h
    M tcg/optimize.c
    A tcg/ppc/tcg-target-has.h
    A tcg/ppc/tcg-target-mo.h
    A tcg/ppc/tcg-target-opc.h.inc
    M tcg/ppc/tcg-target.c.inc
    M tcg/ppc/tcg-target.h
    R tcg/ppc/tcg-target.opc.h
    A tcg/riscv/tcg-target-has.h
    A tcg/riscv/tcg-target-mo.h
    A tcg/riscv/tcg-target-opc.h.inc
    M tcg/riscv/tcg-target.c.inc
    M tcg/riscv/tcg-target.h
    R tcg/riscv/tcg-target.opc.h
    A tcg/s390x/tcg-target-has.h
    A tcg/s390x/tcg-target-mo.h
    A tcg/s390x/tcg-target-opc.h.inc
    M tcg/s390x/tcg-target.c.inc
    M tcg/s390x/tcg-target.h
    R tcg/s390x/tcg-target.opc.h
    A tcg/sparc64/tcg-target-has.h
    A tcg/sparc64/tcg-target-mo.h
    A tcg/sparc64/tcg-target-opc.h.inc
    M tcg/sparc64/tcg-target.c.inc
    M tcg/sparc64/tcg-target.h
    M tcg/tcg-common.c
    A tcg/tcg-has.h
    M tcg/tcg-internal.h
    R tcg/tcg-ldst.c.inc
    M tcg/tcg-op-gvec.c
    M tcg/tcg-op-ldst.c
    M tcg/tcg-op-vec.c
    M tcg/tcg-op.c
    R tcg/tcg-pool.c.inc
    M tcg/tcg.c
    M tcg/tci.c
    A tcg/tci/tcg-target-has.h
    A tcg/tci/tcg-target-mo.h
    A tcg/tci/tcg-target-opc.h.inc
    M tcg/tci/tcg-target.c.inc
    M tcg/tci/tcg-target.h
    M util/cpuinfo-riscv.c

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

tcg:
  - Add TCGOP_TYPE, TCGOP_FLAGS.
  - Pass type and flags to tcg_op_supported, tcg_target_op_def.
  - Split out tcg-target-has.h and unexport from tcg.h.
  - Reorg constraint processing; constify TCGOpDef.
  - Make extract, sextract, deposit opcodes mandatory.
  - Merge ext{8,16,32}{s,u} opcodes into {s}extract.
tcg/mips: Expand bswap unconditionally
tcg/riscv: Use SRAIW, SRLIW for {s}extract_i64
tcg/riscv: Use BEXTI for single-bit extractions
tcg/sparc64: Use SRA, SRL for {s}extract_i64

disas/riscv: Guard dec->cfg dereference for host disassemble
util/cpuinfo-riscv: Detect Zbs
accel/tcg: Call tcg_tb_insert() for one-insn TBs
linux-user: Add missing /proc/cpuinfo fields for sparc

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmeKnzUdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV+Kvgf+LG9UjXlWF9GK923E
# TllBL2rLf1OOdtTXWO15VcvGMoWDwB3tVBdhihdvXmnWju+WbfMk6mct5NhzsKn9
# LmuugMIZs+hMROj+bgMK8x47jRIh5N2rDYxcEgmyfIpYb2o9qvyqKecGVRlSJTCE
# bmt5UFbvPThBb8upoMfq3F6evuMx0szBP7wrOwSR/VGpmzIr20UTEWo6I1ALp4uj
# paFaysYol4em3dIhkiuV9cL7E0EIObaNa7l9RUci/BmTq+JaVxUnW1Y2i0PEwKwG
# FJSfYTJk3wBgAVxC2zC2g3ZM7uKuecSXMpiFopTiuyQLp7Q61i9kCNvEq0qY5tdb
# DaqR/g==
# =cv4O
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 17 Jan 2025 13:19:33 EST
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-tcg-20250117' of https://gitlab.com/rth7680/qemu: (68 commits)
  softfloat: Constify helpers returning float_status field
  accel/tcg: Call tcg_tb_insert() for one-insn TBs
  tcg: Document tb_lookup() and tcg_tb_lookup()
  linux-user: Add missing /proc/cpuinfo fields for sparc
  tcg/riscv: Use BEXTI for single-bit extractions
  util/cpuinfo-riscv: Detect Zbs
  tcg: Remove TCG_TARGET_HAS_deposit_{i32,i64}
  tcg: Remove TCG_TARGET_HAS_{s}extract_{i32,i64}
  tcg/tci: Remove assertions for deposit and extract
  tcg/tci: Provide TCG_TARGET_{s}extract_valid
  tcg/sparc64: Use SRA, SRL for {s}extract_i64
  tcg/s390x: Fold the ext{8,16,32}[us] cases into {s}extract
  tcg/riscv: Use SRAIW, SRLIW for {s}extract_i64
  tcg/riscv64: Fold the ext{8,16,32}[us] cases into {s}extract
  tcg/ppc: Fold the ext{8,16,32}[us] cases into {s}extract
  tcg/mips: Fold the ext{8,16,32}[us] cases into {s}extract
  tcg/loongarch64: Fold the ext{8,16,32}[us] cases into {s}extract
  tcg/arm: Add full [US]XT[BH] into {s}extract
  tcg/aarch64: Expand extract with offset 0 with andi
  tcg/aarch64: Provide TCG_TARGET_{s}extract_valid
  ...

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Compare: https://github.com/qemu/qemu/compare/d6430c17d711...32a97c5d05c5

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



reply via email to

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