[Bug middle-end/82319] [8 Regression] ICE in generic_simplify_148, at generic-match.c:6436

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Sep 25 10:36:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82319

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Shouldn't
        /* Optimize cases when CST is outside of ITYPE's range.  */
        (if (real_compare (LT_EXPR, cst, &imin))
         { constant_boolean_node (cmp == GT_EXPR || cmp == GE_EXPR || cmp ==
NE_EXPR,
                                  type); })
        (if (real_compare (GT_EXPR, cst, &imax))
         { constant_boolean_node (cmp == LT_EXPR || cmp == LE_EXPR || cmp ==
NE_EXPR,
                                  type); })
catch that?  Though, for those I think you really don't need
itype_fits_ftype_p,
if cst is not a NaN (for NaN and !exception_p it is the cmp == NE_EXPR, then
true, otherwise false, at least IEEE semantics, not sure if we support any
other, but if yes, we should be able to query it from the real struct), then
the above if you actually round imin and imax to the corresponding real type
away from zero at least should work always.


More information about the Gcc-bugs mailing list