aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
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/rtlanal.c
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/rtlanal.c')
-rw-r--r--gcc/rtlanal.c12
1 files changed, 12 insertions, 0 deletions
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. */