On 07/04/2016 01:18 PM, Kyrill Tkachov wrote:
That does seem like it could cause trouble but I couldn't think of how that sequence could appear or what its semantics would be. Would assigning to the SImode reg 0 in your example not touch the upper bits of the DImode value?
No, multi-word subreg accesses are per-word.
In any case, bb_ok_for_noce_convert_multiple_sets doesn't keep track of dependencies between the instructions so I think the best place to handle this case would be in noce_convert_multiple_sets where instead of the assert in this patch we'd just end_sequence () and return FALSE. Would that be preferable?
That should at least work, and I'd be ok with that. Bernd