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);