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 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. Tested on x86_64-linux-gnu {,-m32}. OK for master? Uros.