i386: Use generic division to generate INEXACT exception
authorUros Bizjak <ubizjak@gmail.com>
Wed, 6 May 2020 21:01:32 +0000 (23:01 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Wed, 6 May 2020 21:01:32 +0000 (23:01 +0200)
commitd3a1459cd4f2d4997fb53e34ddef72e91a7855c1
tree7a23bc1474d3f382a9b8e6044e53e5ee7b335347
parentbc95e478febd35e0d1fb13c1833d2383ad0e7d18
i386: Use generic division to generate INEXACT exception

Introduce math_force_eval_div to use generic division to generate
INEXACT as well as INVALID and DIVZERO exceptions.

libgcc/ChangeLog:

* config/i386/sfp-exceptions.c (__math_force_eval): Remove.
(__math_force_eval_div): New define.
(__sfp_handle_exceptions): Use __math_force_eval_div to use
generic division to generate INVALID, DIVZERO and INEXACT
exceptions.

libatomic/ChangeLog:

* config/x86/fenv.c (__math_force_eval): Remove.
(__math_force_eval_div): New define.
(__atomic_deraiseexcept): Use __math_force_eval_div to use
generic division to generate INVALID, DIVZERO and INEXACT
exceptions.

libgfortran/ChangeLog:

* config/fpu-387.h (__math_force_eval): Remove.
(__math_force_eval_div): New define.
(local_feraiseexcept): Use __math_force_eval_div to use
generic division to generate INVALID, DIVZERO and INEXACT
exceptions.
(struct fenv): Define named struct instead of typedef.
libatomic/ChangeLog
libatomic/config/x86/fenv.c
libgcc/ChangeLog
libgcc/config/i386/sfp-exceptions.c
libgfortran/ChangeLog
libgfortran/config/fpu-387.h