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
arm
avr
bfin sim: bfin: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
bpf
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
ft32
h8300
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
m4
m32c
m32r
m68hc11 sim: m68hc11: migrate to standard uintXX_t types 2022-01-06 01:17:37 -05:00
mcore
microblaze
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
msp430 sim: msp430: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
or1k
ppc sim: ppc: migrate to standard uintXX_t types 2022-01-06 01:17:39 -05:00
pru
riscv sim: riscv: migrate to standard uintXX_t types 2022-01-06 01:17:38 -05:00
rl78
rx
sh
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
aclocal.m4
arch-subdir.mk.in
ChangeLog-2021
config.h.in
configure
configure.ac
COPYING
MAINTAINERS
Makefile.am
Makefile.in
README-HACKING