[Bug tree-optimization/27364] [4.2 Regression] Gcc 4.2 miscompiles binutils

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Apr 30 18:17:00 GMT 2006



------- Comment #9 from pinskia at gcc dot gnu dot org  2006-04-30 18:17 -------
VRP is doing it:
 D.2691_73 = number_of_digits_to_use_32 * 3321928;
  D.2692_74 = D.2691_73 / 1000000;
  more_than_enough_bits_for_digits_75 = D.2692_74 + 1;
  D.2693_76 = more_than_enough_bits_for_digits_75 / 16;
  more_than_enough_littlenums_for_digits_77 = D.2693_76 + 2;
  size_of_digits_in_littlenums_78 = more_than_enough_littlenums_for_digits_77;
  size_of_digits_in_chars_79 = more_than_enough_littlenums_for_digits_77 * 2;

Into:
  D.2691_73 = number_of_digits_to_use_32 * 3321928;
  D.2692_74 = D.2691_73 / 1000000;
  more_than_enough_bits_for_digits_75 = D.2692_74 + 1;
  D.2693_76 = more_than_enough_bits_for_digits_75 >> 4;
  more_than_enough_littlenums_for_digits_77 = 2;
  size_of_digits_in_littlenums_78 = 2;
  size_of_digits_in_chars_79 = 4;


number_of_digits_to_use_32: [0, 1294]  EQUIVALENCES: { } (0 elements)


....

Note this should not be turned into new until someone reduces it to a smaller
testcase.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|major                       |normal
          Component|other                       |tree-optimization
  GCC build triplet|x86_64-unknown-linux-gnu    |
   GCC host triplet|x86_64-unknown-linux-gnu    |
 GCC target triplet|x86_64-unknown-linux-gnu    |
           Keywords|                            |wrong-code
            Summary|Gcc 4.2 miscompiles binutils|[4.2 Regression] Gcc 4.2
                   |                            |miscompiles binutils
   Target Milestone|---                         |4.2.0


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



More information about the Gcc-bugs mailing list