Files
libretroadmin 1d6c69573c C89: the SH4 interpreter
sh4_interpreter, sh4_opcodes and sh4_fpu are C. The opcode list, the
instruction timing (sh4_cycles_count()) and the opcode handlers are
declared for C; the interpreter's caches move to sh4_cache.cpp, behind
C functions. FMAC's sum is sh4_fmac(), rounded once without fmaf(),
which C89 has not got: exactly in double rounding towards zero, and to
nearest with the double's error kept and the last bit made odd. The
unused sh4_opcode.h and NATIVE_FSCA are gone.

tools/sh4/fmac_test.sh, in CI, holds sh4_fmac() against fmaf() both
ways the SH4 rounds, and against ARM64's own under qemu.
2026-11-13 05:30:57 +01:00
..
2026-11-13 05:30:57 +01:00