This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: optimization/9651: [Alpha] FPE with NAN in spite of isnan protection
- From: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 11 Feb 2003 02:56:00 -0000
- Subject: Re: optimization/9651: [Alpha] FPE with NAN in spite of isnan protection
- Reply-to: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
The following reply was made to PR optimization/9651; it has been noted by GNATS.
From: Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
To: gcc-gnats@gcc.gnu.org,gcc-patches@gcc.gnu.org
Cc: Will Woods <will.woods@hp.com>
Subject: Re: optimization/9651: [Alpha] FPE with NAN in spite of isnan protection
Date: 11 Feb 2003 03:53:46 +0100
--=-=-=
Hi,
This patch marks fix expressions as trappable, preventing them from
being scheduled out of their block.
2003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
PR optimization/9651
* rtlanal.c (may_trap_p): Handle FIX.
--
Falk
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=fix-trap.patch
Index: gcc/rtlanal.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/rtlanal.c,v
retrieving revision 1.145
diff -u -r1.145 rtlanal.c
--- gcc/rtlanal.c 17 Jan 2003 03:28:09 -0000 1.145
+++ gcc/rtlanal.c 11 Feb 2003 02:50:01 -0000
@@ -2517,6 +2517,12 @@
return 1;
break;
+ case FIX:
+ /* Conversion of floating point might trap. */
+ if (flag_trapping_math && HONOR_NANS (GET_MODE (XEXP (x, 0))))
+ return 1;
+ break;
+
case NEG:
case ABS:
/* These operations don't trap even with floating point. */
--=-=-=--