mirror of
https://github.com/libretro/parallel-dc.git
synced 2026-11-12 18:44:20 -10:00
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.