https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69097
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-01-04 CC| |mpolacek at gcc dot gnu.org Target Milestone|--- |6.0 Summary|wrong code at -O1 and above |[6 Regression] wrong code |on x86_64-linux-gnu |at -O1 and above on | |x86_64-linux-gnu Ever confirmed|0 |1 --- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> --- commit 98b69bccadeae2fb64adde8ff008f79ec5963381 Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue Jun 30 11:58:48 2015 +0000 2015-06-30 Richard Biener <rguent...@suse.de> * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x), ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ... * match.pd: ... here. Add a few cases of A - B -> A + (-B) when B "easily" negates. Move (x & y) | x -> x and friends before (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225178 138bc75d-0d04-0410-961f-82ee72b054a4