http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21617
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-12-08 03:37:28 UTC --- -O1: <bb 5>: # __crc0_73 = PHI <__crc0_35(5), __crc0_54(7)> # __data_75 = PHI <__data_32(5), data_7(7)> D.1900_26 = __crc0_73 >> 56; D.1901_27 = (int) D.1900_26; D.1902_28 = MEM[base: __data_75, offset: 0B]; D.1903_29 = (int) D.1902_28; D.1904_30 = D.1903_29 ^ D.1901_27; __tab_index_31 = D.1904_30 & 255; __data_32 = __data_75 + 1; D.1905_33 = crc_table[__tab_index_31]; D.1906_34 = __crc0_73 << 8; __crc0_35 = D.1905_33 ^ D.1906_34; if (__data_32 != D.1928_55) goto <bb 5>; else goto <bb 6>; -O2: <bb 5>: # __crc0_1 = PHI <__crc0_35(5), __crc0_54(7)> # __data_67 = PHI <__data_32(5), data_7(7)> D.1900_26 = __crc0_1 >> 56; D.1901_27 = (int) D.1900_26; D.1902_28 = MEM[base: __data_67, offset: 0B]; D.1903_29 = (int) D.1902_28; D.1904_30 = D.1903_29 ^ D.1901_27; __tab_index_31 = D.1904_30 & 255; __data_32 = __data_67 + 1; D.1905_33 = crc_table[__tab_index_31]; D.1906_34 = __crc0_1 << 8; __crc0_35 = D.1905_33 ^ D.1906_34; if (__data_32 != D.1955_86) goto <bb 5>; else goto <bb 6>; Aka nothing on the tree level causes the issue.