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.

Reply via email to