On Thu, Jul 3, 2014 at 3:02 PM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Thu, Jul 3, 2014 at 2:43 PM, FX <fxcoud...@gmail.com> wrote: >> Here’s an updated patch, providing support for underflow control in the >> IEEE_ARITHMETIC module, for x86/x86_64 targets and alpha-glibc. >> >> Bootstrapped and regtested on x86_64-apple-darwin13, tested by Uros on alpha. > > The testcase still needs: > > ! { dg-do run } > ! { dg-require-effective-target sse2_runtime { target { i?86-*-* > x86_64-*-* } } } > ! { dg-additional-options "-msse2 -mfpmath=sse" { target { i?86-*-* > x86_64-*-* } } }
I think that: + x = x / 2000._kx + if (x <= 0) call abort + call ieee_get_underflow_mode(l) + if (.not. l) call abort + + x = tiny(x) + call ieee_set_underflow_mode(.false.) + x = x / 2000._kx + if (x > 0) call abort you want to test for == 0 above and != 0 below, and in the same way for DFmode. The x86 part of the patch is OK. Uros.