On 05/31/2016 04:26 PM, Kyrill Tkachov wrote:
we're talking about (subreg:V2DI (reg/v:EI 111 [ b ]) 0).
EImode is a 24 byte arm-specific integer mode used to represent 3
D-registers.
[...]
I'm not familiar with the processes in that part of the code but my
suspicion is that we should be
rejecting that invalid subreg somewhere and this patch does that in
subreg_get_info a few lines before
the triggering assert. It rejects the subreg by setting
info->representable_p to false.

Is this the right way to go around fixing this?

I'm slightly uncertain, but I can't really see anything wrong with this approach. So, OK. There are things that could be cleaned up here, moving the duplicated !rknown tests to the outer if and maybe the declarations of regsize_[xy]mode into the if, but that's not something you have to do if you don't want to.


Bernd

Reply via email to