unicorn/qemu
Peter Maydell 150125de3f
softfloat: Handle default NaN mode after pickNaNMulAdd, not before
It is implementation defined whether a multiply-add of
(0,inf,qnan) or (inf,0,qnan) raises InvalidaOperation or
not, so we let the target-specific pickNaNMulAdd function
handle this. This means that we must do the "return the
default NaN in default NaN mode" check after the call,
not before. Correct the ordering, and restore the comment
from the old propagateFloat64MulAddNaN() that warned about
this corner case.

This fixes a regression from 2.11 for Arm guests where we would
incorrectly fail to set the Invalid flag for these cases.

Backports commit 1839189bbf89889076aadf0c793c1b57977b28d7 from qemu
2018-05-14 07:24:40 -04:00
..
accel translator: merge max_insns into DisasContextBase 2018-05-11 13:59:17 -04: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 softfloat: Handle default NaN mode after pickNaNMulAdd, not before 2018-05-14 07:24:40 -04:00
hw Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
include translator: merge max_insns into DisasContextBase 2018-05-11 13:59:17 -04:00
qapi qobject: Modify qobject_ref() to return obj 2018-05-04 10:24:10 -04:00
qobject qobject: Modify qobject_ref() to return obj 2018-05-04 10:24:10 -04:00
qom qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF 2018-05-04 10:16:07 -04:00
scripts qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF 2018-05-04 10:16:07 -04:00
target target/mips: convert to TranslatorOps 2018-05-12 16:42:21 -04:00
tcg tcg: Limit the number of ops in a TB 2018-05-11 11:25:01 -04:00
util qemu-thread-win32: Prevent null pointer dereference in win32_start_routine 2018-03-21 12:42:44 -04:00
aarch64.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
aarch64eb.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
armeb.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure tcg: fix 16-byte vector operations detection 2018-04-07 23:03:11 -04:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING.LIB import 2015-08-21 15:04:50 +08:00
cpus.c Include qapi/error.h exactly where needed 2018-03-07 12:26:38 -05:00
exec.c cpu: Convert cpu_index into a bitmap 2018-03-21 08:06:07 -04:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04: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: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
Makefile qapi: Don't create useless directory qapi-generated 2018-03-09 11:36:49 -05:00
Makefile.objs qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
Makefile.target tcg: move tcg backend files into accel/tcg/ 2018-03-13 11:48:15 -04:00
memory.c memory: Protect against use-after-free 2018-03-21 09:40:33 -04:00
memory_ldst.inc.c exec: Drop unnecessary code for unicorn 2018-03-12 10:11:46 -04: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: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
mips64.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
mips64el.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
mipsel.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
powerpc.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
rules.mak build-sys: silence make by default or V=0 2018-03-06 08:58:03 -05:00
sparc.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
sparc64.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
unicorn_common.h cpu: Convert cpu_index into a bitmap 2018-03-21 08:06:07 -04:00
VERSION import 2015-08-21 15:04:50 +08:00
vl.c Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00