https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106822
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Keywords| |missed-optimization Last reconfirmed| |2022-09-05 Ever confirmed|0 |1 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. The alignment consideration shouldn't apply in this case - the MyStruct object is either there or not. Note typedef struct { bool a[]; } MyStruct; bool f(const MyStruct *s) { return s->a[0] || s->a[1]; } would be a different story.