------- Comment #4 from rguenth at gcc dot gnu dot org 2009-07-21 09:30 ------- rite = rite + D.2003;
is a POINTER_PLUS_EXPR, there is no POINTER_MINUS_EXPR so the separate negation is expected at the tree level. We can fix this as early as during expansion (D.2003 should be marked as eligible for TER, so expand could look up the defining expression and expand a MINUS_EXPR instead of a PLUS_EXPR). -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |missed-optimization Last reconfirmed|0000-00-00 00:00:00 |2009-07-21 09:30:31 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40815