On Sat, Aug 11, 2018 at 11:54 AM, Allan Sandfeld Jensen <li...@carewolf.com> wrote: > On Samstag, 11. August 2018 11:18:39 CEST Jakub Jelinek wrote: >> On Sat, Aug 11, 2018 at 10:59:26AM +0200, Allan Sandfeld Jensen wrote: >> > +/* A subroutine of ix86_expand_vec_perm_builtin_1. Try to implement D >> > + using movss or movsd. */ >> > +static bool >> > +expand_vec_perm_movs (struct expand_vec_perm_d *d) >> > +{ >> > + machine_mode vmode = d->vmode; >> > + unsigned i, nelt = d->nelt; >> > + rtx x; >> > + >> > + if (d->one_operand_p) >> > + return false; >> > + >> > + if (TARGET_SSE2 && (vmode == V2DFmode || vmode == V4SFmode)) >> > + ; >> > + else >> > + return false; >> > + >> > + /* Only the first element is changed. */ >> >> Two spaces after . >> >> > + if (d->perm[0] != nelt && d->perm[0] != 0) >> > + return false; >> > + for (i = 1; i < nelt; ++i) { >> > + { >> > + if (d->perm[i] != i + nelt - d->perm[0]) >> > + return false; >> > + } >> > + } >> >> Extraneous {}s (both pairs, the outer ones even badly indented). >> >> Otherwise LGTM. >> > Updated: > > Note as an infrequent contributor don't have commit access, so I need someone > reviewing to also commit.
+ if (TARGET_SSE2 && (vmode == V2DFmode || vmode == V4SFmode)) + ; + else + return false; V4SFmode can be used with TARGET_SSE only. Uros.