[Bug tree-optimization/58984] [4.8/4.9 Regression] wrong code at -Os and above on x86_64-linux-gnu in 64-bit mode

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 4 08:10:00 GMT 2013


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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, before IPA-CP, foo had:
  _10 = BIT_FIELD_REF <p, 32, 0>;
  _11 = _10 & 507904;
Now, IPA-CP does:
Modification phase of node foo.constprop.0/3
     Aggregate replacements: 0[14]=1, 0[8]=0, 0[0]=1
  _4 = 1;
  _5 = _4 & 507904;
which is of course wrong, because 32 bits at offset 0 in the structure should
contain value 16385 ((1 << 0) | (1 << 14)), rather than 1.



More information about the Gcc-bugs mailing list