https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127383
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- If it was just ~s.f, the right behavior would be to promote s.f to unsigned _BitInt(65) type as required by C23 6.3.1.1/2: The value from a bit-field of a bit-precise integer type is converted to the corresponding bit-precise integer type. But with the explicit cast it needs to be converted to that type and guess that cast is at some point optimized away because it is the type of s.f before the integral promotions.
