------- Comment #7 from jakub at gcc dot gnu dot org 2007-12-04 19:58 ------- The problem is that we really don't have any optimization which would before expand merge all the sets to adjacent bitfield fields into one (or few) BITFIELD_REFs. If we are lucky and the RTL passes merge it together, initializing small structs containing bitfields this way will be a win, but it might be an pessimization as well. BTW, shouldn't TER try to merge several consecutive initializations of fields of one aggregate into a CONSTRUCTOR again, so that RTL expanders can do better job on it? This wouldn't be the only bug which could be helped by that.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32901