aa42255b5b
- Include upstream patches targeted for the next stable release (bug fixes only) spapr-Fix-failure-path-for-attempting-to.patch target-i386-do-not-set-unsupported-VMX-s.patch target-xtensa-fix-pasto-in-pfwait.r-opco.patch tcg-i386-Fix-INDEX_op_dup2_vec.patch tcg-mips-mips-sync-encode-error.patch vhost-user-gpu-Release-memory-returned-b.patch vpc-Don-t-round-up-already-aligned-BAT-s.patch xen-block-Fix-double-qlist-remove-and-re.patch - Fix bug causing weak encryption in PAuth for ARM (CVE-2020-10702 bsc#1168681) target-arm-Fix-PAuth-sbox-functions.patch - Fix OOB in tulip NIC emulation (CVE-2020-11102 bsc#1168713 net-tulip-check-frame-size-and-r-w-data-.patch - Note that previously included patch addresses CVE-2020-1711 and bsc#1166240 iscsi-Cap-block-count-from-GET-LBA-STATU.patch - Include performance improvement (and related?) patch aio-wait-delegate-polling-of-main-AioCon.patch async-use-explicit-memory-barriers.patch - Rework previous patch at Olaf H.'s direction hw-i386-disable-smbus-migration-for-xenf.patch - Eliminate is_opensuse usage in producing seabios version string what we are doing here is just replacing the upstream string with one indicating that the openSUSE build service built it, and so just leave it as "-rebuilt.opensuse.org" - Alter algorithm used to produce "unique" symbol for coordinating qemu with the optional modules it may load. This is a reasonable relaxation for broader compatibility configure-remove-pkgversion-from-CONFIG_.patch - Tweak supported.*.txt for latest deprecations, and other fixes - Tweak update_git.sh, config.sh - One more fix is needed for: s390x Protected Virtualization support - start and control guest in secure mode (bsc#1167075 jsc#SLE-7407) s390x-s390-virtio-ccw-Fix-build-on-syste.patch OBS-URL: https://build.opensuse.org/request/show/795118 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=542
38 lines
1.4 KiB
Diff
38 lines
1.4 KiB
Diff
From: Richard Henderson <richard.henderson@linaro.org>
|
|
Date: Sat, 28 Mar 2020 18:16:10 -0700
|
|
Subject: tcg/i386: Fix INDEX_op_dup2_vec
|
|
|
|
Git-commit: e20cb81d9c5a3d0f9c08f3642728a210a1c162c9
|
|
|
|
We were only constructing the 64-bit element, and not
|
|
replicating the 64-bit element across the rest of the vector.
|
|
|
|
Cc: qemu-stable@nongnu.org
|
|
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
|
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
|
---
|
|
tcg/i386/tcg-target.inc.c | 10 +++++++---
|
|
1 file changed, 7 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c
|
|
index 9d8ed974e011152d2df4cba613ad..77b78c941c5afcd065a8e153dca7 100644
|
|
--- a/tcg/i386/tcg-target.inc.c
|
|
+++ b/tcg/i386/tcg-target.inc.c
|
|
@@ -2855,9 +2855,13 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
|
goto gen_simd;
|
|
#if TCG_TARGET_REG_BITS == 32
|
|
case INDEX_op_dup2_vec:
|
|
- /* Constraints have already placed both 32-bit inputs in xmm regs. */
|
|
- insn = OPC_PUNPCKLDQ;
|
|
- goto gen_simd;
|
|
+ /* First merge the two 32-bit inputs to a single 64-bit element. */
|
|
+ tcg_out_vex_modrm(s, OPC_PUNPCKLDQ, a0, a1, a2);
|
|
+ /* Then replicate the 64-bit elements across the rest of the vector. */
|
|
+ if (type != TCG_TYPE_V64) {
|
|
+ tcg_out_dup_vec(s, type, MO_64, a0, a0);
|
|
+ }
|
|
+ break;
|
|
#endif
|
|
case INDEX_op_abs_vec:
|
|
insn = abs_insn[vece];
|