On Mon, Feb 1, 2021 at 6:10 PM Jakub Jelinek <ja...@redhat.com> wrote:
>
> On Mon, Feb 01, 2021 at 05:57:28PM +0800, Kito Cheng wrote:
> > > >  - Check `TO` mode is not BLMmode before call store_expr, calling 
> > > > store_expr
> > > >    with BLKmode will cause ICE.
> > >
> > > How do you end up with a SUBREG_PROMOTED* of something that has bitsize 
> > > of 0
> > > (GET_MODE_BITSIZE of BLKmode is 0, right)?
> >
> > to_rtx is already having a mode other than BLKmode in this point,
> > it's SImode for riscv64*-*-*, so bitsize is 32 rather than 0.
> >
> > I guess my comment isn't clear enough, the root cause why
> > `store_expr (from, to_rtx, 0, nontemporal, false)` ICE is
> > because `from` is still BLKmode here.
>
> But mode is TYPE_MODE (TREE_TYPE (to)), that is expanded already at this
> point and got some different mode.  So, if anything, you care about
> TYPE_MODE (TREE_TYPE (from)) rather than mode, don't you?

Yeah, that's correct, let me send v2 for updating the checking and comment.

>
>         Jakub
>

Reply via email to