------- Comment #1 from rguenth at gcc dot gnu dot org 2010-07-28 14:43 ------- This seems fixed, just the optimizations in question are already performed partly by FRE but one,
test2 (struct foo2 * x) { ... <bb 2>: D.2745_3 = BIT_FIELD_REF <*x_2(D), 8, 0>; D.2746_4 = D.2745_3 & 1; if (D.2746_4 == 0) goto <bb 5>; else goto <bb 3>; <bb 3>: D.2750_6 = x_2(D)->i; where for some reason our strange aggregate-bit-field-ref folding triggers only for one load. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2010-07-28 14:43:02 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37541