[PATCH v3 0/4] sim: Add support for MIPS32/64 revision 6

Dragan Mladjenovic
2022-01-11T21:24:44Z

This is a refresh of the previous series by Faraz excluding GDB support.
Patches should be Werror clean now. The original summary is below:

We introduce partial support for IEEE 754-2008 in the common code including
NaN semantics for MIN/MAX/ABS/NEG operations and a CLASSIFY operation.
This can enabled by invoking sim_fpu_set_mode().

The multi-simulator model supports R6 in addition to previous
revisions and the engine picks the appropriate revision based on flags
in the ELF header where possible.

Faraz Shahbazker (4):
sim: Allow toggling of quiet NaN-bit semantics
sim: Factor out NaN handling in floating point operations
sim: Add partial support for IEEE 754-2008
sim: mips: Add simulator support for mips32r6/mips64r6

sim/common/sim-bits.h | 5 +
sim/common/sim-fpu.c | 343 ++++----
sim/common/sim-fpu.h | 28 +-
sim/mips/Makefile.in | 1 +
sim/mips/configure | 22 +-
sim/mips/configure.ac | 20 +-
sim/mips/cp1.c | 409 +++++++++-
sim/mips/cp1.h | 6 +
sim/mips/interp.c | 6 +-
sim/mips/micromips.igen | 4 +-
sim/mips/mips.igen | 381 ++++++++-
sim/mips/mips3264r2.igen | 30 +
sim/mips/mips3264r6.igen | 1226 ++++++++++++++++++++++++++++
sim/mips/sim-main.h | 97 ++-
sim/testsuite/mips/basic.exp | 72 +-
sim/testsuite/mips/hilo-hazard-3.s | 2 +-
sim/testsuite/mips/r2-fpu.s | 31 +
sim/testsuite/mips/r6-64.s | 157 ++++
sim/testsuite/mips/r6-branch.s | 291 +++++++
sim/testsuite/mips/r6-forbidden.s | 51 ++
sim/testsuite/mips/r6-fpu.s | 446 ++++++++++
sim/testsuite/mips/r6-llsc-dp.s | 57 ++
sim/testsuite/mips/r6-llsc-wp.s | 41 +
sim/testsuite/mips/r6-removed.csv | 68 ++
sim/testsuite/mips/r6-removed.s | 18 +
sim/testsuite/mips/r6.s | 163 ++++
sim/testsuite/mips/testutils.inc | 55 ++
sim/testsuite/mips/utils-r6.inc | 150 ++++
28 files changed, 3950 insertions(+), 230 deletions(-)
create mode 100644 sim/mips/mips3264r6.igen
create mode 100644 sim/testsuite/mips/r2-fpu.s
create mode 100644 sim/testsuite/mips/r6-64.s
create mode 100644 sim/testsuite/mips/r6-branch.s
create mode 100644 sim/testsuite/mips/r6-forbidden.s
create mode 100644 sim/testsuite/mips/r6-fpu.s
create mode 100644 sim/testsuite/mips/r6-llsc-dp.s
create mode 100644 sim/testsuite/mips/r6-llsc-wp.s
create mode 100644 sim/testsuite/mips/r6-removed.csv
create mode 100644 sim/testsuite/mips/r6-removed.s
create mode 100644 sim/testsuite/mips/r6.s
create mode 100644 sim/testsuite/mips/utils-r6.inc

--
2.17.1