https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117148
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to LIU Hao from comment #2) > > However it doesn't affect the bug. (https://godbolt.org/z/fdxbbadnj) It's > because GCC fail to inline `atomic_load_iptr`. Forcing that function to be > inlined with `always_inline` seems a workaround. atomic_load_iptr/0 call is unlikely and code size would grow Because atomic_load_iptr could be called from other places. If you change it to be static, then bitfields are a problem.