unicorn/qemu
Joseph Myers 7ff441826c
tcg: correct 32-bit tcg_gen_ld8s_i64 sign-extension
The version of tcg_gen_ld8s_i64 for 32-bit systems does a load into
the low part of the return value - then attempts a sign extension into
the high part, but wrongly sets the high part to a sign extension of
itself rather than of the low part. This results in TCG internal
errors from the use of the uninitialized high part (in some GCC tests
of AArch64 NEON shift intrinsics, in particular). This patch corrects
the sign-extension logic, making it match other functions such as
tcg_gen_ld16s_i64.

Backports commit 3ff91d7e85176f8b4b131163d7fd801757a2c949 from qemu
2018-03-01 08:41:23 -05:00
..
crypto crypto: Clean up includes 2018-02-19 00:47:40 -05:00
default-configs arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
docs docs: clarify memory region lifecycle 2018-02-12 15:11:21 -05:00
fpu fpu: add mechanism to check for invalid long double formats 2018-02-26 02:27:40 -05:00
hw qdev: Fix object reference leak in case device.realize() fails 2018-02-25 21:00:26 -05:00
include tcg: comment on which functions have to be called with tb_lock held 2018-02-28 10:26:28 -05:00
qapi qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2018-02-27 08:05:33 -05:00
qobject qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2018-02-27 08:05:33 -05:00
qom qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2018-02-27 08:05:33 -05:00
scripts qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2018-02-27 08:05:33 -05:00
target-arm arm: Add an option to turn on/off vPMU support 2018-02-28 08:49:23 -05:00
target-i386 target-i386: remove helper_lock() 2018-02-27 23:43:22 -05:00
target-m68k target-m68k: immediate ops manage word and byte operands 2018-02-28 08:42:22 -05:00
target-mips softmmu: Add probe_write() 2018-02-27 12:20:50 -05:00
target-sparc target-sparc: Use tcg_gen_atomic_cmpxchg_tl 2018-03-01 08:34:35 -05:00
tcg tcg: correct 32-bit tcg_gen_ld8s_i64 sign-extension 2018-03-01 08:41:23 -05:00
util qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2018-02-27 08:05:33 -05:00
aarch64.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
aarch64eb.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
armeb.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
atomic_template.h tcg: Add atomic128 helpers 2018-02-27 21:43:48 -05:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure tcg: Add CONFIG_ATOMIC64 2018-02-27 22:25:36 -05:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING.LIB import 2015-08-21 15:04:50 +08:00
cpu-exec-common.c tcg: Add EXCP_ATOMIC 2018-02-27 11:57:58 -05:00
cpu-exec.c tcg: Add EXCP_ATOMIC 2018-02-27 11:57:58 -05:00
cpus.c tcg: Add EXCP_ATOMIC 2018-02-27 11:57:58 -05:00
cputlb.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
exec.c tcg: move locking for tb_invalidate_phys_page_range up 2018-02-28 10:35:41 -05:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c qapi: Fix memleak in string visitors on int lists 2018-02-25 00:20:34 -05:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
Makefile Makefile: Add a FORCE target 2018-02-24 17:03:51 -05:00
Makefile.objs tcg: Add atomic helpers 2018-02-27 15:57:47 -05:00
Makefile.target tcg: Add atomic helpers 2018-02-27 15:57:47 -05:00
memory.c exec.c: Remove static allocation of sub_section of sub_page 2018-02-26 10:50:04 -05:00
memory_mapping.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
mips.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
mips64.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
mips64el.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
mipsel.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
powerpc.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
qapi-schema.json qapi: Lazy creation of array types 2018-02-19 18:55:35 -05:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
rules.mak rules.mak: Don't extract libs from .mo-libs in link command 2018-02-26 02:08:03 -05:00
softmmu_template.h cputlb: Remove includes from softmmu_template.h 2018-02-27 12:40:43 -05:00
sparc.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
sparc64.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00
tcg-runtime.c tcg: Add CONFIG_ATOMIC64 2018-02-27 22:25:36 -05:00
translate-all.c tcg: move locking for tb_invalidate_phys_page_range up 2018-02-28 10:35:41 -05:00
translate-all.h translate-all.c: Compute L1 page table properties at runtime 2018-02-26 11:46:58 -05:00
translate-common.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
unicorn_common.h qom/cpu: Add MemoryRegion property 2018-02-18 21:54:50 -05:00
VERSION import 2015-08-21 15:04:50 +08:00
vl.c cpu: Support a target CPU having a variable page size 2018-02-26 12:29:08 -05:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h tcg: Add tcg_gen_mulsu2_{i32,i64,tl} 2018-03-01 08:39:37 -05:00