[PATCH][RTL ifcvt] PR rtl-optimization/71594: ICE in noce_emit_cmove due to mismatched source modes

Bernd Schmidt bschmidt@redhat.com
Mon Jul 4 11:19:00 GMT 2016


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



More information about the Gcc-patches mailing list