https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93209
--- Comment #5 from John Adriaan <John.Adriaan at BigPond dot com> --- @RichardBiener, By "it still happens", I meant that accesses to `s.i` still occur as described. Changing `s.b` to be of type `unsigned` changes its accesses to match those of `s.i` - in other words, the type mismatch is not a factor.