binutils-gdb/sim
Faraz Shahbazker bf484e9348 sim: Allow toggling of quiet NaN-bit semantics
IEEE754-1985 specifies the top bit of the mantissa as an indicator
of signalling vs. quiet NaN, but does not define the precise semantics.
Most architectures treat this bit as indicating quiet NaN, but legacy
(pre-R6) MIPS goes the other way and treats it as signalling NaN.

This used to be controlled by a macro that was only defined for MIPS.
This patch replaces the macro with a variable to track the current
semantics of the NaN bit and allows differentiation between older
(pre-R6) and and newer MIPS cores.

2022-02-01  Faraz Shahbazker  <fshahbazker@wavecomp.com>

sim/common/ChangeLog:
	* sim-fpu.c (_sim_fpu): New.
	(pack_fpu, unpack_fpu): Allow reversal of quiet NaN semantics.
	* sim-fpu.h (sim_fpu_state): New struct.
	(_sim_fpu): New extern.
	(sim_fpu_quiet_nan_inverted): New define.

sim/mips/ChangeLog:
	* cp1.h (fcsr_NAN2008_mask, fcsr_NAN2008_shift): New.
	* mips.igen (check_fpu): Select default quiet NaN mode
	for legacy MIPS.
	* sim-main.h (SIM_QUIET_NAN_NEGATED): Remove.
2022-02-04 19:37:25 -05:00
..
aarch64 Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
arm Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
avr Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
bfin sim: bfin: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
bpf Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
common sim: Allow toggling of quiet NaN-bit semantics 2022-02-04 19:37:25 -05:00
cr16 sim: cr16: migrate to standard uintXX_t types 2022-01-06 01:17:37 -05:00
cris sim: cris: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
d10v sim: d10v: migrate to standard uintXX_t types 2022-01-06 01:17:37 -05:00
erc32 sim: erc32: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
example-synacor sim: synacor: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
frv sim: tweak copyright lines for gnulib update-copyright 2022-01-01 13:14:01 -05:00
ft32 Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
h8300 Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
igen sim: igen: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
iq2000 sim: iq2000: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
lm32 Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
m4 sim: tweak copyright lines for gnulib update-copyright 2022-01-01 13:14:01 -05:00
m32c Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
m32r Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
m68hc11 sim: m68hc11: migrate to standard uintXX_t types 2022-01-06 01:17:37 -05:00
mcore Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
microblaze Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
mips sim: Allow toggling of quiet NaN-bit semantics 2022-02-04 19:37:25 -05:00
mn10300 sim: mn10300: migrate to standard uintXX_t types 2022-01-06 01:17:37 -05:00
moxie Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
msp430 sim: msp430: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
or1k Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
ppc sim: ppc: migrate to standard uintXX_t types 2022-01-06 01:17:39 -05:00
pru Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
riscv sim: riscv: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
rl78 Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
rx sim: tweak copyright lines for gnulib update-copyright 2022-01-01 13:14:01 -05:00
sh Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
testsuite sim: testsuite: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
v850 sim: v850: migrate to standard uintXX_t types 2022-01-06 01:17:37 -05:00
.gitignore sim: drop unused gentmap & nltvals.def logic 2021-11-28 13:24:00 -05:00
aclocal.m4
arch-subdir.mk.in Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
ChangeLog-2021
config.h.in
configure sim: testsuite: setup per-port toolchain settings for multitarget build 2021-11-28 21:55:15 -05:00
configure.ac sim: testsuite: setup per-port toolchain settings for multitarget build 2021-11-28 21:55:15 -05:00
COPYING
MAINTAINERS
Makefile.am Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
Makefile.in Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
README-HACKING