https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84982
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 Status|UNCONFIRMED |NEW Keywords| |wrong-code Last reconfirmed| |2018-03-20 Component|c |tree-optimization CC| |jakub at gcc dot gnu.org Ever confirmed|0 |1 Summary|logically inverting bools |[8 Regression] logically |into local array results in |inverting bools into local |bitwise negation |array results in bitwise | |negation Target Milestone|--- |8.0 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. store-merging at play. @@ -8,14 +12,17 @@ _Bool _2; _Bool _3; _Bool _4; + unsigned short _11; + unsigned short _12; <bb 2> [local count: 1073741825]: _1 = t_6(D)->a; _2 = ~_1; - flags[0] = _2; _3 = t_6(D)->b; _4 = ~_3; - flags[1] = _4; + _11 = MEM[(_Bool *)t_6(D)]; + _12 = ~_11; + MEM[(_Bool *)&flags] = _12;