aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorFalk Hueffner <falk.hueffner@student.uni-tuebingen.de>2003-02-11 20:43:06 +0000
committerRichard Henderson <rth@gcc.gnu.org>2003-02-11 12:43:06 -0800
commit22fd5743d9a6c0e283a69250011685e58dcc2993 (patch)
tree96905a7451aa979ca5cde08cd5d521d3dcf2a326 /gcc
parent3462df62821b4ca26261c9dd64f4183cd4cd9fb9 (diff)
downloadgcc-22fd5743d9a6c0e283a69250011685e58dcc2993.zip
gcc-22fd5743d9a6c0e283a69250011685e58dcc2993.tar.gz
gcc-22fd5743d9a6c0e283a69250011685e58dcc2993.tar.bz2
re PR rtl-optimization/9651 ([Alpha] FPE with NAN in spite of isnan protection)
PR optimization/9651 * rtlanal.c (may_trap_p): Handle FIX. From-SVN: r62717
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/rtlanal.c12
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f6669b0..4cbfcb6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ PR optimization/9651
+ * rtlanal.c (may_trap_p): Handle FIX.
+
2003-02-11 Dave Jones <davej@codemonkey.org.uk>
* config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 5e06770..4c6024a 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -2517,6 +2517,18 @@ may_trap_p (x)
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 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. */