Tested revisions: trunk r157161 - fail (fix for pr42640 doesn't help) trunk r156598 - fail
It causes bootstrap comparison failure with BOOT_CFLAGS="-O2 -ftree-loop-distribution": Comparing stages 2 and 3 warning: gcc/cc1plus-checksum.o differs warning: gcc/cc1-checksum.o differs Bootstrap comparison failure! libiberty/sha1.o differs make[2]: *** [compare] Error 1 sha1.o has different code from stage1 and stage2 compilers For commands: $ /mnt/sdb1/build-157161/stage1-gcc/cc1 -O2 sha1.i -fdump-final-insns=s1.dump -quiet $ /mnt/sdb1/build-157161/stage2-gcc/cc1 -O2 sha1.i -fdump-final-insns=s2.dump -quiet $ diff s[12].dump 7036a7037,7042 > (insn# 0 0 /mnt/svn/gcc-trunk/libiberty/sha1.c:401 (set (mem/s:SI (plus:DI > (reg/f:DI 7 sp) > (const_int 8 [0x8])) [3 x+32 S4 A256]) > > (reg:SI 43 r14 [orig:989 D.4059 ] [989]))# {*movsi_1} (nil)) > > (insn:TI# 0 0 /mnt/svn/gcc-trunk/libiberty/sha1.c:402 (set (mem/s:SI (plus:DI > (reg/f:DI 7 sp) > (const_int 12 [0xc])) [3 x+36 S4 A32]) > > (reg:SI 42 r13 [orig:1001 D.4059 ] [1001]))# {*movsi_1} (nil)) > 7044,7049d7049 < (insn:TI# 0 0 /mnt/svn/gcc-trunk/libiberty/sha1.c:401 (set (mem/s:SI (plus:DI (reg/f:DI 7 sp) .... (long output) Diffs for gcc to assert on failure will be attached. -- Summary: -ftree-loop-distribution produces wrong code in reload1.c:delete_output_reload(), bootstrap fails Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zsojka at seznam dot cz GCC host triplet: x86_64-pc-linux-gnu GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43236