Consider int foo (int a) { return a * -1 - 1; }
CSE folds a * -1 into -a; combine folds -a - 1 into ~a; Obviously, we should do both of these in tree. -- Summary: Fold a * -1 - 1 into ~a; Product: gcc Version: unknown Status: UNCONFIRMED Keywords: missed-optimization, TREE Severity: enhancement Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at cs dot umass dot edu CC: gcc-bugs at gcc dot gnu dot org OtherBugsDependingO 19721 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20130