https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78684
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to amker from comment #4) > (In reply to Jakub Jelinek from comment #3) > > neg_step is true, because DR_STEP (dr_a.dr) is (ssizetype) -8. > > But idx_step is 0xffffffffffffffffUL. > > Note > > tree_int_cst_compare (idx_step, size_zero_node) < 0 > > is just weird, why don't you use tree_int_cst_sgn? > > Hi Jakub, do you mean tree_int_cst_sign_bit? Thanks. No, I mean what I wrote, i.e. /* Return an indication of the sign of the integer constant T. The return value is -1 if T < 0, 0 if T == 0, and 1 if T > 0. Note that -1 will never be returned if T's type is unsigned. */ int tree_int_cst_sgn (const_tree t) ... defined in tree.c.