aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-fold.cc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2022-09-06 06:52:14 +0200
committerMartin Liska <mliska@suse.cz>2022-09-06 06:52:14 +0200
commit918bc838c2803f08e4d7ccd179396d48cb8ec804 (patch)
tree2496c039b51fd33ee4309d910f0f6ce44cd5f749 /gcc/gimple-range-fold.cc
parent8de5354e2cf4e6ea750ea92c7162d61b1b796f76 (diff)
parent47d2dcd1397bf02b79515c39438e0ea9898f9056 (diff)
downloadgcc-918bc838c2803f08e4d7ccd179396d48cb8ec804.zip
gcc-918bc838c2803f08e4d7ccd179396d48cb8ec804.tar.gz
gcc-918bc838c2803f08e4d7ccd179396d48cb8ec804.tar.bz2
Merge branch 'master' into devel/sphinx
Diffstat (limited to 'gcc/gimple-range-fold.cc')
-rw-r--r--gcc/gimple-range-fold.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/gimple-range-fold.cc b/gcc/gimple-range-fold.cc
index d8497fc..c9c7a2c 100644
--- a/gcc/gimple-range-fold.cc
+++ b/gcc/gimple-range-fold.cc
@@ -1029,13 +1029,12 @@ fold_using_range::range_of_builtin_int_call (irange &r, gcall *call,
frange tmp;
if (src.get_operand (tmp, arg))
{
- if (tmp.get_signbit ().varying_p ())
+ if (tmp.get_signbit ().varying_p ()
+ // FIXME: We don't support signed NANs yet.
+ || !tmp.get_nan ().no_p ())
return false;
if (tmp.get_signbit ().yes_p ())
- {
- tree one = build_one_cst (type);
- r.set (one, one);
- }
+ r.set_nonzero (type);
else
r.set_zero (type);
return true;