On Mon, 3 Apr 2006, Richard Guenther wrote:
>
>              || (TREE_CODE (type) == INTEGER_TYPE
>                && (TREE_CODE (arg1) == INTEGER_CST
>                    || TYPE_UNSIGNED (type)
>                    || (flag_wrapv && !flag_trapv)))
>
> Does this sound reasonable?

Yes, this sounds reasonable.  It was not the negate_expr_p call
that's causing your problems but the overly restrictive guard
on this transformation.  Let me know the results of a bootstrap
and regression test in case that points out something I've missed.

Roger
--

Reply via email to