On Mon, Aug 3, 2015 at 11:14 PM, FX <fxcoud...@gmail.com> wrote:
> The attached patch extends the IEEE modules to all floating-point kinds. Last 
> time, when I added IEEE support, I restricted it to the float and double 
> types (real kinds 4 and 8), to be extra safe. After discussion with Uros 
> Bizjak and some reading, I’ve come to the conclusion that on most hardware 
> where we support IEEE at all, we do support enough IEEE features on extended 
> and quad prec (long double and __float128, on x86_64 hardware) to satisfy the 
> Fortran standard.
>
> So, this enables full IEEE support for all real kinds. Nothing changes to the 
> underlying architecture, it’s almost exclusively mechanical changes (adding 
> the necessary variants to the interfaces, etc.).
>
> Bootstrapped and regtested on x86_64-apple-darwin14 (with associated 
> libquadmath patch: https://gcc.gnu.org/ml/gcc-patches/2015-08/msg00124.html).
> OK to commit to trunk?

Can you please also introduce tests for ieee exceptions for long
double and __float128 types (as is done for real and double in
gfortran.dg/ieee/ieee_1.F90) as well as test for supported rounding
modes as done for real and double in gfortran.dg/ieee/rounding_1.f90 ?

On x86_64, these new tests will exercise exceptions and rounding modes
for __float128 soft-fp library, in addition to x87 long double tests.

Uros.

Reply via email to