https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108688
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2023-02-06 Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- From: func_6_l_2225.f1 = _2; _3 = func_6_l_2225.f2; _4 = (signed char) _3; _7 = _4 ^ _6; _8 = (<unnamed-signed:2>) _7; func_6_l_2225.f2 = _8; To: _ifc__34 = func_6_l_2225.D.2741; _ifc__35 = BIT_INSERT_EXPR <_ifc__34, _2, 0 (7 bits)>; _ifc__31 = BIT_FIELD_REF <_2, 2, 0>; _4 = (signed char) _ifc__31; _7 = _4 ^ _6; _8 = (<unnamed-signed:2>) _7; _ifc__33 = BIT_INSERT_EXPR <_ifc__35, _8, 0 (2 bits)>; func_6_l_2225.D.2742 = _ifc__33; Yes it is trying to use the type of "func_6_l_2225.f1" as the insert point rather than a full byte sized. Confirmed.