diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2022-09-02 13:27:38 +0200 |
---|---|---|
committer | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2023-07-20 10:54:54 +0200 |
commit | dca2874897ec58ea1c22a9c2161f112fff07cfb2 (patch) | |
tree | db755d70113cc1ce9b0664af58e3f32847437fe0 /gcc/combine.cc | |
parent | 34cf27a64e7af949538e65bc266963c24f8da458 (diff) | |
download | gcc-dca2874897ec58ea1c22a9c2161f112fff07cfb2.zip gcc-dca2874897ec58ea1c22a9c2161f112fff07cfb2.tar.gz gcc-dca2874897ec58ea1c22a9c2161f112fff07cfb2.tar.bz2 |
Fortran: add IEEE_QUIET_* and IEEE_SIGNALING_* comparisons
Those operations were added to Fortran 2018, and correspond to
well-defined IEEE comparison operations, with defined signaling
semantics for NaNs. All are implemented in terms of GCC expressions and
built-ins, with no library support needed.
gcc/fortran/
* f95-lang.cc (gfc_init_builtin_functions): Add __builtin_iseqsig.
* trans-intrinsic.cc (conv_intrinsic_ieee_comparison): New
function.
(gfc_conv_ieee_arithmetic_function): Handle IEEE comparisons.
gcc/testsuite/
* gfortran.dg/ieee/comparisons_1.f90: New test.
* gfortran.dg/ieee/comparisons_2.f90: New test.
* gfortran.dg/ieee/comparisons_3.F90: New test.
libgfortran/
* ieee/ieee_arithmetic.F90: Add IEEE_QUIET_* and
IEEE_SIGNALING_* functions.
Diffstat (limited to 'gcc/combine.cc')
0 files changed, 0 insertions, 0 deletions