https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110613
--- Comment #3 from LIU Hao <lh_mouse at 126 dot com> --- There are some more cases about loading adjacent bitfields; not sure whether I should create new PRs or paste them here. They seem highly related to the aliasing characteristics of `unsigned char`; if I inject `__atomic_signal_fence(__ATOMIC_RELAXED);` between the loads and the stores, the issue is gone.