unicorn/qemu
Peter Maydell f7d78d9e08
target/arm/translate-a64: Don't underdecode FP insns
In the encoding groups
* floating-point data-processing (1 source)
* floating-point data-processing (2 source)
* floating-point data-processing (3 source)
* floating-point immediate
* floating-point compare
* floating-ponit conditional compare
* floating-point conditional select

bit 31 is M and bit 29 is S (and bit 30 is 0, already checked at
this point in the decode). None of these groups allocate any
encoding for M=1 or S=1. We checked this in disas_fp_compare(),
disas_fp_ccomp() and disas_fp_csel(), but missed it in disas_fp_1src(),
disas_fp_2src(), disas_fp_3src() and disas_fp_imm().

We also missed that in the fp immediate encoding the imm5 field
must be all zeroes.

Correctly UNDEF the unallocated encodings here.

Backports commit c1e20801f5ee53472dbf2757df605543f3f4ce0b from qemu
2019-02-03 17:55:29 -05:00
..
accel tcg: Fix LGPL version number 2019-02-03 17:55:28 -05:00
crypto
default-configs
docs
fpu include/fpu/softfloat: Fix compilation with Clang on s390x 2019-01-24 18:37:51 -05:00
hw
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: Don't underdecode FP insns 2019-02-03 17:55:29 -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
Makefile.objs
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
riscv64.h
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