https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64853
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-01-29
CC| |jakub at gcc dot gnu.org
Target Milestone|--- |5.0
Summary|wrong code at -Os and above |[5 Regression] wrong code
|on x86_64-linux-gnu |at -Os and above on
| |x86_64-linux-gnu
Ever confirmed|0 |1
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This started with r217560, the first difference is during VRP2:
Visiting statement:
_13 = (signed char) g_68;
+Match-and-simplified (signed char) g_68 to -56(OVF)
Found new range for _13: [-56, -56]
and various others, leading to
-_10: ~[1, 254]
+_10: [255, +INF]
.MEM_11: VARYING
-g_12: [0, 255]
-_13: VARYING
+g_12: [255, 255]
+_13: [-56, -1]
etc. Haven't checked if the changes are correct or not.