qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 16d323: tcg/optimize: only read val after con


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 16d323: tcg/optimize: only read val after const check
Date: Fri, 04 Mar 2022 05:24:57 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 16d323233f563c86bf7f444ec4dd0e490905c8a0
      
https://github.com/qemu/qemu/commit/16d323233f563c86bf7f444ec4dd0e490905c8a0
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: only read val after const check

valgrind pointed out that arg_info()->val can be undefined which will
be the case if the arguments are not constant. The ordering of the
checks will have ensured we never relied on an undefined value but for
the sake of completeness re-order the code to be clear.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20220209112142.3367525-1-alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7980fe3efccc2b361f14abb0f2a15e50d1eb876c
      
https://github.com/qemu/qemu/commit/7980fe3efccc2b361f14abb0f2a15e50d1eb876c
  Author: Ziqiao Kong <ziqiaokong@gmail.com>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg: Set MAX_OPC_PARAM_IARGS to 7

The last entry of DEF_HELPERS_FLAGS_n is DEF_HELPER_FLAGS_7 and
thus the MAX_OPC_PARAM_IARGS should be 7.

Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Signed-off-by: Ziqiao Kong <ziqiaokong@gmail.com>
Message-Id: <20220227113127.414533-2-ziqiaokong@gmail.com>
Fixes: e6cadf49c3d ("tcg: Add support for a helper with 7 arguments")
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4928095aaf6e87e19317a85552526759c5786a73
      
https://github.com/qemu/qemu/commit/4928095aaf6e87e19317a85552526759c5786a73
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M include/tcg/tcg-opc.h
    M include/tcg/tcg.h
    M tcg/aarch64/tcg-target.h
    M tcg/arm/tcg-target.h
    M tcg/i386/tcg-target.h
    M tcg/optimize.c
    M tcg/ppc/tcg-target.h
    M tcg/s390x/tcg-target.h
    M tcg/tcg-op-vec.c
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Add opcodes for vector nand, nor, eqv

We've had placeholders for these opcodes for a while,
and should have support on ppc, s390x and avx512 hosts.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8ba743dcac47316fed79c210eb4670a5f0e78c73
      
https://github.com/qemu/qemu/commit/8ba743dcac47316fed79c210eb4670a5f0e78c73
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/ppc: Implement vector NAND, NOR, EQV

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a4f72de89e0397851e266e9bda86b6b96c793c95
      
https://github.com/qemu/qemu/commit/a4f72de89e0397851e266e9bda86b6b96c793c95
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/s390x: Implement vector NAND, NOR, EQV

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 32c6033539734c6741a8e8085997358522d95516
      
https://github.com/qemu/qemu/commit/32c6033539734c6741a8e8085997358522d95516
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M include/qemu/cpuid.h
    M tcg/i386/tcg-target.c.inc
    M tcg/i386/tcg-target.h

  Log Message:
  -----------
  tcg/i386: Detect AVX512

There are some operation sizes in some subsets of AVX512 that
are missing from previous iterations of AVX.  Detect them.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e7ae60e6dfb0a77dcbcb89df296f9eaf134e05a4
      
https://github.com/qemu/qemu/commit/e7ae60e6dfb0a77dcbcb89df296f9eaf134e05a4
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Add tcg_out_evex_opc

The evex encoding is added here, for use in a subsequent patch.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4c758caed09a5654884127d7fc5856626095e87b
      
https://github.com/qemu/qemu/commit/4c758caed09a5654884127d7fc5856626095e87b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Use tcg_can_emit_vec_op in expand_vec_cmp_noinv

The condition for UMIN/UMAX availability is about to change;
use the canonical version.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5b4ab567295f90c2084d4fd4d80b74642332645e
      
https://github.com/qemu/qemu/commit/5b4ab567295f90c2084d4fd4d80b74642332645e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Implement avx512 variable shifts

AVX512VL has VPSRAVQ, and
AVX512BW has VPSLLVW, VPSRAVW, VPSRLVW.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2a3c03189162d270e7b703872444a96441f730bc
      
https://github.com/qemu/qemu/commit/2a3c03189162d270e7b703872444a96441f730bc
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Implement avx512 scalar shift

AVX512VL has VPSRAQ.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a0e3d1f8dc73eb478d347d5303c31aa8bfa17fb7
      
https://github.com/qemu/qemu/commit/a0e3d1f8dc73eb478d347d5303c31aa8bfa17fb7
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Implement avx512 immediate sari shift

AVX512 has VPSRAQ with immediate operand, in the same form as
with AVX, but requires EVEX encoding and W1.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6d3f946d48ce9888556b5b815ae6352eb7812bab
      
https://github.com/qemu/qemu/commit/6d3f946d48ce9888556b5b815ae6352eb7812bab
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Implement avx512 immediate rotate

AVX512VL has VPROLD and VPROLQ, layered onto the same
opcode as PSHIFTD, but requires EVEX encoding and W1.

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


  Commit: dd83c68c83535231d2c26ee5ed77a2a865795aa0
      
https://github.com/qemu/qemu/commit/dd83c68c83535231d2c26ee5ed77a2a865795aa0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Implement avx512 variable rotate

AVX512VL has VPROLVD and VPRORVQ.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e39196f1933b5159dd5f191175c2ae9ad97ce763
      
https://github.com/qemu/qemu/commit/e39196f1933b5159dd5f191175c2ae9ad97ce763
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M tcg/i386/tcg-target-con-set.h
    M tcg/i386/tcg-target.c.inc
    M tcg/i386/tcg-target.opc.h

  Log Message:
  -----------
  tcg/i386: Support avx512vbmi2 vector shift-double instructions

We will use VPSHLD, VPSHLDV and VPSHRDV for 16-bit rotates.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d35777a186ecb9af48691dcb2b524b7488aa41cc
      
https://github.com/qemu/qemu/commit/d35777a186ecb9af48691dcb2b524b7488aa41cc
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Expand vector word rotate as avx512vbmi2 shift-double

While there are no specific 16-bit rotate instructions, there
are double-word shifts, which can perform the same operation.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 15bc722be9f5eaee1fb153a6004f8c0d69d1b902
      
https://github.com/qemu/qemu/commit/15bc722be9f5eaee1fb153a6004f8c0d69d1b902
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Remove rotls_vec from tcg_target_op_def

There is no such instruction on x86, so we should
not be pretending it has arguments.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 31e438cdf740523f467f9102bad67e847fc53ce6
      
https://github.com/qemu/qemu/commit/31e438cdf740523f467f9102bad67e847fc53ce6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Expand scalar rotate with avx512 insns

Expand 32-bit and 64-bit scalar rotate with VPRO[LR]V;
expand 16-bit scalar rotate with VPSHLDV.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 237ca0d1271a3fd78cf58f5508f8a4e863a59934
      
https://github.com/qemu/qemu/commit/237ca0d1271a3fd78cf58f5508f8a4e863a59934
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Implement avx512 min/max/abs

AVX512VL has VPABSQ, VPMAXSQ, VPMAXUQ, VPMINSQ, VPMINUQ.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6687cba21cf8de468ab101021e04db3b6766cec1
      
https://github.com/qemu/qemu/commit/6687cba21cf8de468ab101021e04db3b6766cec1
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Implement avx512 multiply

AVX512DQ has VPMULLQ.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: fdf20be5762c1ed2075a1539cd97c84c8311054d
      
https://github.com/qemu/qemu/commit/fdf20be5762c1ed2075a1539cd97c84c8311054d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Implement more logical operations for avx512

AVX512VL has a general ternary logic operation, VPTERNLOGQ,
which can implement NOT, ORC, NAND, NOR, EQV.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 277be99feae3d7cbd489b99965878a763071f191
      
https://github.com/qemu/qemu/commit/277be99feae3d7cbd489b99965878a763071f191
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/i386: Implement bitsel for avx512

The general ternary logic operation can implement BITSEL.
Funnel the 4-operand operation into three variants of the
3-operand instruction, depending on input operand overlap.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4d750b3af01844b826b155c7f3b72526fed7e652
      
https://github.com/qemu/qemu/commit/4d750b3af01844b826b155c7f3b72526fed7e652
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    A tcg/aarch64/tcg-target-sa32.h
    A tcg/arm/tcg-target-sa32.h
    A tcg/i386/tcg-target-sa32.h
    A tcg/loongarch64/tcg-target-sa32.h
    A tcg/mips/tcg-target-sa32.h
    A tcg/ppc/tcg-target-sa32.h
    A tcg/riscv/tcg-target-sa32.h
    A tcg/s390x/tcg-target-sa32.h
    A tcg/sparc/tcg-target-sa32.h
    M tcg/tcg.c
    A tcg/tci/tcg-target-sa32.h

  Log Message:
  -----------
  tcg: Add TCG_TARGET_SIGNED_ADDR32

Define as 0 for all tcg hosts.  Put this in a separate header,
because we'll want this in places that do not ordinarily have
access to all of tcg/tcg.h.

Reviewed-by: WANG Xuerui <git@xen0n.name>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 466c5e1439ae5b93cf370931d982e561dfb86aa4
      
https://github.com/qemu/qemu/commit/466c5e1439ae5b93cf370931d982e561dfb86aa4
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  accel/tcg: Split out g2h_tlbe

Create a new function to combine a CPUTLBEntry addend
with the guest address to form a host address.

Reviewed-by: WANG Xuerui <git@xen0n.name>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: deb70f945bf309186a8287903351920d6841b643
      
https://github.com/qemu/qemu/commit/deb70f945bf309186a8287903351920d6841b643
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  accel/tcg: Support TCG_TARGET_SIGNED_ADDR32 for softmmu

When TCG_TARGET_SIGNED_ADDR32 is set, adjust the tlb addend to
allow the 32-bit guest address to be sign extended within the
64-bit host register instead of zero extended.

This will simplify tcg hosts like MIPS, RISC-V, and LoongArch,
which naturally sign-extend 32-bit values, in contrast to x86_64
and AArch64 which zero-extend them.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ee490b3f61f4337290309bb050300f0cf8c21689
      
https://github.com/qemu/qemu/commit/ee490b3f61f4337290309bb050300f0cf8c21689
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M bsd-user/main.c
    M include/exec/cpu-all.h
    M include/exec/cpu_ldst.h
    M linux-user/main.c

  Log Message:
  -----------
  accel/tcg: Add guest_base_signed_addr32 for user-only

While the host may prefer to treat 32-bit addresses as signed,
there are edge cases of guests that cannot be implemented with
addresses 0x7fff_ffff and 0x8000_0000 being non-consecutive.

Therefore, default to guest_base_signed_addr32 false, and allow
probe_guest_base to determine whether it is possible to set it
to true.  A tcg backend which sets TCG_TARGET_SIGNED_ADDR32 will
have to cope with either setting for user-only.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 372462f8e935ce4ba63fa9126e78e6b51ee077c6
      
https://github.com/qemu/qemu/commit/372462f8e935ce4ba63fa9126e78e6b51ee077c6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M include/exec/cpu-all.h
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Support TCG_TARGET_SIGNED_ADDR32

When using reserved_va, which is the default for a 64-bit host
and a 32-bit guest, set guest_base_signed_addr32 if requested
by TCG_TARGET_SIGNED_ADDR32, and the executable layout allows.

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


  Commit: ef827487a61677d91b92f8575b9bf14fd88e2205
      
https://github.com/qemu/qemu/commit/ef827487a61677d91b92f8575b9bf14fd88e2205
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/aarch64: Support TCG_TARGET_SIGNED_ADDR32

AArch64 has both sign and zero-extending addressing modes, which
means that either treatment of guest addresses is equally efficient.
Enabling this for AArch64 gives us testing of the feature in CI.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 43559e068025c635b52d8e30e38f30bb8afae861
      
https://github.com/qemu/qemu/commit/43559e068025c635b52d8e30e38f30bb8afae861
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/mips: Support TCG_TARGET_SIGNED_ADDR32

All 32-bit mips operations sign-extend the output, so we are easily
able to keep TCG_TYPE_I32 values sign-extended in host registers.

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


  Commit: bbe823a306a0e74cf8ba16b2e8beeea0b19a52d8
      
https://github.com/qemu/qemu/commit/bbe823a306a0e74cf8ba16b2e8beeea0b19a52d8
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/riscv: Support TCG_TARGET_SIGNED_ADDR32

All RV64 32-bit operations sign-extend the output, so we are easily
able to keep TCG_TYPE_I32 values sign-extended in host registers.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f23e6de25c31cadd9a3b7122f9384e6b259ce37f
      
https://github.com/qemu/qemu/commit/f23e6de25c31cadd9a3b7122f9384e6b259ce37f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

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

  Log Message:
  -----------
  tcg/loongarch64: Support TCG_TARGET_SIGNED_ADDR32

All 32-bit LoongArch operations sign-extend the output, so we are easily
able to keep TCG_TYPE_I32 values sign-extended in host registers.

Cc: WANG Xuerui <git@xen0n.name>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 110929300ee3eb0f7b0a8d30eb571af29f5b14f8
      
https://github.com/qemu/qemu/commit/110929300ee3eb0f7b0a8d30eb571af29f5b14f8
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-03-04 (Fri, 04 Mar 2022)

  Changed paths:
    M accel/tcg/cputlb.c
    M bsd-user/main.c
    M include/exec/cpu-all.h
    M include/exec/cpu_ldst.h
    M include/qemu/cpuid.h
    M include/tcg/tcg-opc.h
    M include/tcg/tcg.h
    M linux-user/elfload.c
    M linux-user/main.c
    A tcg/aarch64/tcg-target-sa32.h
    M tcg/aarch64/tcg-target.c.inc
    M tcg/aarch64/tcg-target.h
    A tcg/arm/tcg-target-sa32.h
    M tcg/arm/tcg-target.h
    M tcg/i386/tcg-target-con-set.h
    A tcg/i386/tcg-target-sa32.h
    M tcg/i386/tcg-target.c.inc
    M tcg/i386/tcg-target.h
    M tcg/i386/tcg-target.opc.h
    A tcg/loongarch64/tcg-target-sa32.h
    M tcg/loongarch64/tcg-target.c.inc
    A tcg/mips/tcg-target-sa32.h
    M tcg/mips/tcg-target.c.inc
    M tcg/optimize.c
    A tcg/ppc/tcg-target-sa32.h
    M tcg/ppc/tcg-target.c.inc
    M tcg/ppc/tcg-target.h
    A tcg/riscv/tcg-target-sa32.h
    M tcg/riscv/tcg-target.c.inc
    A tcg/s390x/tcg-target-sa32.h
    M tcg/s390x/tcg-target.c.inc
    M tcg/s390x/tcg-target.h
    A tcg/sparc/tcg-target-sa32.h
    M tcg/tcg-op-vec.c
    M tcg/tcg.c
    A tcg/tci/tcg-target-sa32.h
    M tcg/tci/tcg-target.c.inc

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

Reorder do_constant_folding_cond test to satisfy valgrind.
Fix value of MAX_OPC_PARAM_IARGS.
Add opcodes for vector nand, nor, eqv.
Support vector nand, nor, eqv on PPC and S390X hosts.
Support AVX512VL, AVX512BW, AVX512DQ, and AVX512VBMI2.
Support 32-bit guest addresses as signed values.

# gpg: Signature made Thu 03 Mar 2022 20:58:00 GMT
# 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

* remotes/rth-gitlab/tags/pull-tcg-20220303: (30 commits)
  tcg/loongarch64: Support TCG_TARGET_SIGNED_ADDR32
  tcg/riscv: Support TCG_TARGET_SIGNED_ADDR32
  tcg/mips: Support TCG_TARGET_SIGNED_ADDR32
  tcg/aarch64: Support TCG_TARGET_SIGNED_ADDR32
  linux-user: Support TCG_TARGET_SIGNED_ADDR32
  accel/tcg: Add guest_base_signed_addr32 for user-only
  accel/tcg: Support TCG_TARGET_SIGNED_ADDR32 for softmmu
  accel/tcg: Split out g2h_tlbe
  tcg: Add TCG_TARGET_SIGNED_ADDR32
  tcg/i386: Implement bitsel for avx512
  tcg/i386: Implement more logical operations for avx512
  tcg/i386: Implement avx512 multiply
  tcg/i386: Implement avx512 min/max/abs
  tcg/i386: Expand scalar rotate with avx512 insns
  tcg/i386: Remove rotls_vec from tcg_target_op_def
  tcg/i386: Expand vector word rotate as avx512vbmi2 shift-double
  tcg/i386: Support avx512vbmi2 vector shift-double instructions
  tcg/i386: Implement avx512 variable rotate
  tcg/i386: Implement avx512 immediate rotate
  tcg/i386: Implement avx512 immediate sari shift
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/4c1d764d586f...110929300ee3



reply via email to

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