http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60880
Bug ID: 60880 Summary: Wrong assert in promote_duplicated_reg Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com promote_duplicated_reg has gcc_assert (mode == SImode || mode == DImode || val == const0_rtx); But it may be called by promote_duplicated_reg_to_size with HImode: else if (size_needed > 1 || (desired_align > align && desired_align > 1)) promoted_val = promote_duplicated_reg (HImode, val);