This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, libgfortran]: Fix support_fpu_rounding_mode and add -mieee flags for alpha


Hello!

Attached patch fixes some fallout from IEEE support and enables -mieee
for alpha. Also, the patch removes -O0 from dg-additiona-options in
IEEE testsuite, as this always override default optimization flag.

libgfortran/ChangeLog:

2014-07-02  Uros Bizjak  <ubizjak@gmail.com>

    * configure.host (ieee_flags): Add -mieee for alpha*.

    * config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
    GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO.
    * config/fpu-aix.h (support_fpu_rounding_mode): Ditto.

testsuite/ChangeLog:

2014-07-02  Uros Bizjak  <ubizjak@gmail.com>

    * gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Remove -O0.
    * gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add.

Patch was tested on alphaev68-linux-gnu (uses fpu-glibc.h) and
x86_64-linux-gnu.  Patch was committed to mainline SVN.

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.

Uros.

Attachment: f.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]