https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92819

--- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 5 Dec 2019, rsandifo at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92819
> 
> --- Comment #5 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 
> ---
> Sorry for the dribble of messages, but how about just
> changing the "else" in:
> 
>             if (sel.series_p (1, 1, nelts + 1, 1))
>               {
>                 /* After canonicalizing the first elt to come from the
>                    first vector we only can insert the first elt from
>                    the first vector.  */
>                 at = 0;
>                 if ((ins = fold_read_from_vector (cop0, sel[0])))
>                   op0 = op1;
>               }
>             else
> 
> to "if (!ins)"?

Works for me, too.  I wonder how to make it clear that all this
can only happen for two-element vectors though while the later
fix applies to all inserts-at-last-lane.  Maybe it's all clearer
to single that out very explicitely.  I'll at least write a comment...

Reply via email to