testsuite: Fix gfortran.dg/ieee/signaling_?.f90 tests for x86 targets
commitae1b50e2e03aad06408b64c876f5d0511121de0d
authorUros Bizjak <ubizjak@gmail.com>
Thu, 27 Jan 2022 21:14:18 +0000 (27 22:14 +0100)
committerUros Bizjak <ubizjak@gmail.com>
Thu, 27 Jan 2022 21:15:02 +0000 (27 22:15 +0100)
tree1b7c499f2e3e453716a9fd93794f3761b41a39dc
parentb51fb28ed294cdf19087ca9d9ad107c9c52bec42
testsuite: Fix gfortran.dg/ieee/signaling_?.f90 tests for x86 targets

As stated in signaling_?.f90 tests, x86-32 ABI is not suitable to
correctly handle signaling NaNs.  However, XFAIL is not the correct choice
to disable these tests, since various optimizations can generate code
that avoids moves from registers to memory (and back), resulting
in the code that executes correctly, producing spurious XFAIL.
These tests should be disabled on x86-32 using { ! ia32 } dg-directive
which rules out x32 ilp32 ABI, where tests execute without problems.

Please note that check_effective_target_ia32 test tries to compile code that
uses __i386__ target-dependent preprocessor definition, so it is guaranteed
to fail on all non-ia32 targets.

2022-01-27  Uroš Bizjak  <ubizjak@gmail.com>

gcc/testsuite/ChangeLog:

* gfortran.dg/ieee/signaling_1.f90 (dg-do):
Run only on non-ia32 targets.
* gfortran.dg/ieee/signaling_2.f90 (dg-do): Ditto.
* gfortran.dg/ieee/signaling_3.f90 (dg-do): Ditto.
gcc/testsuite/gfortran.dg/ieee/signaling_1.f90
gcc/testsuite/gfortran.dg/ieee/signaling_2.f90
gcc/testsuite/gfortran.dg/ieee/signaling_3.f90