https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58497
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org Status|NEW |ASSIGNED --- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Mine for GCC 13, I have patches which turn: W_6 = BIT_INSERT_EXPR <W_5(D), _2, 96 (32 bits)>; W_7 = BIT_INSERT_EXPR <W_6, _2, 64 (32 bits)>; W_8 = BIT_INSERT_EXPR <W_7, _2, 32 (32 bits)>; W_9 = BIT_INSERT_EXPR <W_8, _2, 0 (32 bits)>; Into: W_9 = {_2,_2,_2,_2}; This improvement deals with bitfields but vectors have a similar issue with Bit_inserts so I deal with it there.