This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/55108] bad compile-time evaluation of members of initialized union


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

Richard Earnshaw <rearnsha at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-10-30
     Ever Confirmed|0                           |1
      Known to fail|                            |4.6.3, 4.7.0

--- Comment #2 from Richard Earnshaw <rearnsha at gcc dot gnu.org> 2012-10-30 14:13:15 UTC ---
Confirmed.  It seems the compiler is incorrectly eliminating some zero-extend
operations.  We have

Ra:SI = Rx:SI >> 8
Rb:QI = subreg:QI (Ra:SI 0)
Rc:SI = subreg:SI (Rb:QI 0)
Rd:SI = Rc:SI & 255

cse1 pass then decides incorrectly (and presumably because of the paradoxical
subreg) that Rd == Rc and discards the mask operation.

Also seen in 4.7, haven't been able to test trunk.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]