https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69845
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org Target Milestone|5.4 |4.9.4 Summary|[5/6 Regression] Expression |[4.9/5/6 Regression] |getting incorrectly |Expression getting |optimized after being |incorrectly optimized after |rewritten by compiler |being rewritten by compiler --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- int main () { #if __SIZEOF_INT__ * __CHAR_BIT__ == 32 struct S { char s; } v; v.s = 47; int a = (int) v.s; int b = (27005061 + (a + 680455)); int c = ((1207142401 * (((8 * b) + 9483541) - 230968044)) + 469069442); if (c != 1676211843) __builtin_abort (); #endif return 0; } regressed at -O2 with r204454.