MOVE_BY_PIECES_P is used by rtl optimizers to determine if a chunk of memory is being moved by pieces. This is wrong when MOVE_BY_PIECES_P returns false in order to allow a movmem expander emit an efficient move sequence. There should be a separate optional target macro to tell if a move will be done in piece, be that via a movmem or via move_by_pieces. can_move_by_pieces should have an extra argument to specify what is actually meant. expand_constructor should use can_move_by_pieces instead of CAN_MOVE_BY_PIECES.
-- Summary: MOVE_BY_PIECES_P is used by rtl optimizers Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org BugsThisDependsOn: 39302 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39350