https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110206
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- There is a difference at the gimple level even: trunk: _3 = { 204, 204, 204, 204 } >> u_7(D); GCC 13.1: _15 = BIT_FIELD_REF <u_7(D), 8, 0>; _16 = 204 >> _15; _17 = BIT_FIELD_REF <u_7(D), 8, 8>; _18 = 204 >> _17; _19 = BIT_FIELD_REF <u_7(D), 8, 16>; _20 = 204 >> _19; _21 = BIT_FIELD_REF <u_7(D), 8, 24>; _22 = 204 >> _21; _3 = {_16, _18, _20, _22};