http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48696

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86_64-*-*, i?86-*-*
             Status|UNCONFIRMED                 |NEW
      Known to work|                            |3.3.3, 4.0.3
            Version|unknown                     |4.5.2
           Keywords|                            |missed-optimization
   Last reconfirmed|                            |2011.04.20 09:43:28
          Component|other                       |rtl-optimization
                 CC|                            |rguenth at gcc dot gnu.org
     Ever Confirmed|0                           |1
      Known to fail|                            |4.0.4, 4.1.2, 4.3.5, 4.5.2,
                   |                            |4.6.0, 4.7.0

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-04-20 
09:43:28 UTC ---
First of all, confirmed.

We already expand to a byte read-modify-write and later do not realize
that with a word one we could combine the later read.  Thus, we optimize
the bitfield store on its own, not looking at surroundings.

I'm not sure where to best address this, rather than throwing in again
the idea of lowering bitfield accesses early on trees.

Eventually simply always doing whole-bitfield read-modify-write at expansion
time will be beneficial, at least when not optimizing for size.

Reply via email to