Following my previous patch series <https://lists.gnu.org/archive/html/qemu-devel/2020-05/msg00781.html> and <https://lists.gnu.org/archive/html/qemu-devel/2020-05/msg01465.html> for problems found in the x87 floating-point emulation, this patch series fixes further miscellaneous bugs in that emulation.
There are further problems with x87 emulation that I am aware of and intend to address in future patch series. Those other problems, not addressed by the first three patch series, generally relate to exceptions, flag setting and those instructions for which the emulation currently converts to host double (so losing range and precision) and then works on host double for the rest of the emulation process before converting back to floatx80 at the end. Thus, the same comments as for the previous patch series apply about this patch series not fixing missing propagation of exceptions even when it adds code to set exceptions in the softfloat state. Joseph Myers (4): target/i386: fix floating-point load-constant rounding target/i386: fix fxam handling of invalid encodings target/i386: fix fbstp handling of negative zero target/i386: fix fbstp handling of out-of-range values target/i386/fpu_helper.c | 73 +++++++++-- tests/tcg/i386/test-i386-fbstp.c | 140 +++++++++++++++++++++ tests/tcg/i386/test-i386-fldcst.c | 199 ++++++++++++++++++++++++++++++ tests/tcg/i386/test-i386-fxam.c | 143 +++++++++++++++++++++ 4 files changed, 547 insertions(+), 8 deletions(-) create mode 100644 tests/tcg/i386/test-i386-fbstp.c create mode 100644 tests/tcg/i386/test-i386-fldcst.c create mode 100644 tests/tcg/i386/test-i386-fxam.c -- 2.17.1 -- Joseph S. Myers jos...@codesourcery.com