On Wed, Jul 2, 2014 at 11:16 AM, FX <fxcoud...@gmail.com> wrote: > Thanks very much for the patch. I have a few questions: > >> the patch removes -O0 from dg-additiona-options in IEEE testsuite, as this >> always override default optimization flag. > > That was my purpose: this test can fail with optimization (on x86_64, IIRC), > hence the -O0 should override the default optimization flags in the testsuite.
I did test this on x86_64-linux-gnu (with and without -m32) and there were no problems with the testrun. >> * gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add. > > If -mfp-rounding-mode=d is required on alpha for IEEE conformance, it should > be added to add-ieee-options in lib/fortran-torture.exp, shouldn’t it? Rather > than enabled on a case-by-case basis. Also, we might want to document these > target-specific options here: > https://gcc.gnu.org/onlinedocs/gfortran/IEEE-modules.html I'm not sure if this is good idea ATM, since very few testcases (one exactly ;) ) require strict rounding modes. Due to this, I don't think dynamic rounding mode should be enabled for all testcases, as it comes with a price. We can review this in future, if many testcases depend on this option. >> BTW: On alpha, it is possible to enable underflow handling: >> >> #ifdef __USE_GNU >> /* On later hardware, and later kernels for earlier hardware, we can forcibly >> underflow denormal inputs and outputs. This can speed up certain programs >> significantly, usually without affecting accuracy. */ >> enum >> { >> FE_MAP_DMZ = 1UL << 12, /* Map denorm inputs to zero */ >> #define FE_MAP_DMZ FE_MAP_DMZ >> >> FE_MAP_UMZ = 1UL << 13, /* Map underflowed outputs to zero */ >> #define FE_MAP_UMZ FE_MAP_UMZ >> }; >> #endif >> >> FX, if you care for this option, I can help test the patch and >> corresponding testcases. > > Yes, that’s interesting. What libc function do you call with those > FE_MAP_{D,U}MZ values? Hm, it looks that this functionality is handled through fesetenv, but I'm not 100% sure. > I would also like to enable FTZ for i386/x86_64 at some point, but my issue > there is that it’s not “universal”, ie it’s only for SSE math if I understand > correctly. One point of view is that it’s better than nothing (especially now > that SSE math is probably the most used mode), but another point of view is > that it wouldn’t be standard conforming. It is possible to test _SSE_MATH_ and _SSE2_MATH_ here? Uros.