http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53104
Bug #: 53104 Summary: convert_move on MODE_PARTIAL_INT does not look for existing conversion Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: big...@acm.org convert_move has special code to handle conversion to and from MODE_PARTIAL_INT. Above this code is a comment stating that targets are expected to provide conversion insns for the MODE_PARTIAL_INT modes they use. When presented with a move from HImode to PSImode, however, this code will unconditionally convert HImode to SImode, then truncate back down to PSImode. For cases where both these operations are fairly expensive, it should instead first check to see whether the target provided the desired conversion directly.