aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <apinski@marvell.com>2021-07-29 19:48:46 -0700
committerAndrew Pinski <apinski@marvell.com>2021-08-02 14:47:03 +0000
commit99b520f031c0e491d7e170916df11dd645d60617 (patch)
tree537a0a3f9d8f2037e3dfc091755b5514c2542e92 /gcc
parentf48c3cd2e3f9cd9e3c329eb2d3185bd26e7c7607 (diff)
downloadgcc-99b520f031c0e491d7e170916df11dd645d60617.zip
gcc-99b520f031c0e491d7e170916df11dd645d60617.tar.gz
gcc-99b520f031c0e491d7e170916df11dd645d60617.tar.bz2
Fix PR 101683: FP exceptions for float->unsigned
Just like the old bug PR9651, unsigned_fix rtl should also be handled as a trapping instruction. OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. gcc/ChangeLog: PR rtl-optimization/101683 * rtlanal.c (may_trap_p_1): Handle UNSIGNED_FIX.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rtlanal.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 3b8d88a..f7f3acb 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -3261,6 +3261,7 @@ may_trap_p_1 (const_rtx x, unsigned flags)
break;
case FIX:
+ case UNSIGNED_FIX:
/* Conversion of floating point might trap. */
if (flag_trapping_math && HONOR_NANS (XEXP (x, 0)))
return 1;