------- Comment #10 from dje at gcc dot gnu dot org 2006-08-24 02:03 ------- Created an attachment (id=12118) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12118&action=view) patch to add 0->y alternative to movcc_internal1
Zdenek's patch does not change anything in GCC RTL generation that would cause this bug -- presumably the patch exposes a latent bug. This apparently is a bug in reload: it should not blindly try to apply the REG_EQUIV without checking the pattern predicates, but reload generally ignores predicates. One workaround is this patch to materialize zero in a CR. Zero luckily is easy to materialize and I doubt that other constants would appear. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28753