unicorn/qemu
Peter Maydell edfb13f8eb
target/arm/translate-a64: Fix mishandling of size in FCMLA decode
In disas_simd_indexed(), for the case of "complex fp", each indexable
element is a complex pair, so the total size is twice that indicated
in the 'size' field in the encoding. We were trying to do this
"double the size" operation with a left shift by 1, but this is
incorrect because the 'size' field is a MO_8/MO_16/MO_32/MO_64
value, and doubling the size should be done by a simple increment.

This meant we were mishandling FCMLA (by element) of values where
the real and imaginary parts are 32-bit floats, and would incorrectly
UNDEF this encoding. (No other insns take this code path, and for
16-bit floats it happens that 1 << 1 and 1 + 1 are both the same).

Backports commit eaefb97a8b97dbf42c016fe65b68b92f99a346f6 from qemu
2019-02-03 17:55:30 -05:00
..
accel tcg: Fix LGPL version number 2019-02-03 17:55:28 -05:00
crypto
default-configs
docs docs/devel/memory.txt: Document _with_attrs accessors 2018-10-04 04:46:26 -04:00
fpu include/fpu/softfloat: Fix compilation with Clang on s390x 2019-01-24 18:37:51 -05:00
hw hw/mips/mips_r4k: Fix initialization of MIPS target CPUs 2018-09-03 17:40:08 -04:00
include Don't talk about the LGPL if the file is licensed under the GPL 2019-02-03 17:55:28 -05:00
qapi qapi: Rewrite string-input-visitor's integer and list parsing 2018-12-18 04:57:25 -05:00
qobject
qom qom/cpu: Add cluster_index to CPUState 2019-01-30 12:59:59 -05:00
scripts decodetree: re.fullmatch was added in 3.4 2019-01-25 13:47:47 -05:00
target target/arm/translate-a64: Fix mishandling of size in FCMLA decode 2019-02-03 17:55:30 -05:00
tcg tcg: Fix LGPL version number 2019-02-03 17:55:28 -05:00
util Don't talk about the LGPL if the file is licensed under the GPL 2019-02-03 17:55:28 -05:00
aarch64.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
aarch64eb.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
accel.c
arm.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
armeb.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
CODING_STYLE
configure configure: Force the C standard to gnu99 2019-01-22 20:18:58 -05:00
COPYING
COPYING.LIB
cpus.c
exec.c exec.c: Use correct attrs in cpu_memory_rw_debug() 2019-01-29 17:05:50 -05:00
gen_all_header.sh
glib_compat.c
HACKING
header_gen.py header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
ioport.c
LICENSE
m68k.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
Makefile Revert "Makefile: Rename TARGET_DIRS to TARGET_LIST" 2018-07-05 17:40:24 -04:00
Makefile.objs qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
Makefile.target configure: Remove old -fno-gcse workaround for GCC 4.6.x and 4.7.[012] 2018-12-18 03:52:36 -05:00
memory_ldst.inc.c
memory_mapping.c
memory.c memory: learn about non-volatile memory region 2018-11-11 08:50:39 -05:00
mips64.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
mips64el.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
mips.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
mipsel.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
powerpc.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
qemu-timer.c
riscv32.h target/arm: Add v8M stack checks on ADD/SUB/MOV of SP 2018-10-08 14:15:15 -04:00
riscv64.h target/arm: Add v8M stack checks on ADD/SUB/MOV of SP 2018-10-08 14:15:15 -04:00
rules.mak
sparc64.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
sparc.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00
unicorn_common.h
VERSION Open 4.0 development tree 2018-12-11 20:33:45 -05:00
vl.c
vl.h
x86_64.h header_gen: Remove deposit32/64 from the list 2019-01-30 14:05:52 -05:00