Second part of patches submitted in the v3. This series adds a subset of single precision and double precision instructions using set_floatx80_rounding_precision() to round the result.
For some other instructions, we introduce a new function, floatx80_round(), to round them manually. It also adds instructions fsglmul, fsgldiv, fmovecr and fscc (since v3, use tcg_gen_setcond()) fmovem manages static and dynamic register list, all the code has been moved to an helper. v2: Fix gen_fcc_cond(): g[12] mark global variables, not variables to free. use floatx80_round() to compute fsglmul and fsgldiv split fmovem helper into 6 helpers Laurent Vivier (7): target/m68k: add fscc. target/m68k: add fmovecr target/m68k: add explicit single and double precision operations softfloat: define floatx80_round() target/m68k: add fsglmul and fsgldiv target/m68k: add explicit single and double precision operations (part 2) target/m68k: add fmovem fpu/softfloat.c | 15 ++ include/fpu/softfloat.h | 1 + target/m68k/fpu_helper.c | 300 +++++++++++++++++++++++++++++++++++- target/m68k/helper.h | 27 +++- target/m68k/translate.c | 391 ++++++++++++++++++++++++++++++++--------------- 5 files changed, 611 insertions(+), 123 deletions(-) -- 2.9.4