https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82940
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement CC| |pinskia at gcc dot gnu.org --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I have a set of patches that I am going to clean up next year for GCC 13 where on the gimple level GCC produces: _13 = v_9(D) & 127; _1 = (sizetype) _13; _2 = t_10(D) + _1; _3 = *_2; _14 = (<unnamed-unsigned:7>) _3; _12 = BIT_INSERT_EXPR <v_9(D), _14, 0 (7 bits)>; return _12; As long as nothing on the rtl level (combine) does not mess this up, it should produce the best code.