http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49423
Martin Jambor <jamborm at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bernds at codesourcery dot | |com --- Comment #8 from Martin Jambor <jamborm at gcc dot gnu.org> 2012-04-17 16:37:26 UTC --- I'm sorry I forgot about this bug but I finally remembered to have a look today. Unfortunately, on i686 host I was able to reproduce the ICE also with revisions 164134 and 164135 and so I assumed that Mikael made a mistake when he tracked the cause of the ICE to my commit in comment #3. When verifying that on an x86_64 host, I realized that the ICE indeed started happening with my commit but it re-appeared quickly with previous revisions when I added -fno-tree-sra to the command line options. Therefore I believe my patch did not cause any bug but uncovered some other issue elsewhere. In order to help at least a little, I did my own bisecting, this time with -fno-tree-sra, and to me it appears the ICE (still present on the 4.6 branch) is introduced by revision 163935: 2010-09-07 Bernd Schmidt <ber...@codesourcery.com> PR target/43137 * config/arm/iterators.md (qhs_zextenddi_cond, qhs_sextenddi_cond): New define_mode_attrs. * config/arm/arm.md (zero_extendsidi2, arm_zero_extendsidi2, arm_exxtendsidi2, arm_extendsidi2): Delete patterns. (zero_extend<mode>di2, extend<mode>di2 and related splits): New. (thumb1_zero_extendhisi2): Remove code to handle LABEL_REFs. Remove pool_range attribute. (arm_zero_extendhisi2, arm_zero_extendhisi2_v6, arm_zero_extendqisi2, arm_zero_extendqisi2_v6, thumb1_zero_extendqisi2_v6): Remove pool_range and neg_pool_range attributes. * config/arm/thumb2.md (thumb2_zero_extendsidi2, thumb2_zero_extendhidi2, thumb2_zero_extendqidi2, thumb2_extendsidi2, thumb2_extendhidi2, thumb2_extendqidi2): Delete.