On Fri, Feb 21, 2014 at 08:30:39AM +0100, Uros Bizjak wrote:
> Attached is the complete backport of the patch to 4.7 branch. Jakub,
> there is a slight churn in expand_vec_parm_interleave2 (there is no
> dfinal.one_operand_p), can you please check if everything is OK there?
Yeah, one_operand_p has
On Thu, Feb 20, 2014 at 7:39 PM, Jakub Jelinek wrote:
> As discussed in the PR, gen_reg_rtx from when init_emit has not been
> initialized is highly undesirable. The following patch makes sure that
> for d->testing_p we never call gen_reg_rtx (i.e. from within
> ix86_vectorize_vec_perm_const_ok)
On 02/20/2014 02:59 PM, Jakub Jelinek wrote:
> ... so all we care about is that
> target/op0/op1 have the right modes and that target is a different register
> from op0 and op0 either the same as op1 or yet another register.
That's my point: yet another register. Thus the creation of a brand new
On Thu, Feb 20, 2014 at 02:41:06PM -0600, Richard Henderson wrote:
> On 02/20/2014 12:39 PM, Jakub Jelinek wrote:
> > + if (!d->testing_p)
> > +{
> > + dremap.target = gen_reg_rtx (dremap.vmode);
> > + dfinal.op0 = gen_lowpart (dfinal.vmode, dremap.target);
> > +}
> ...
> > +
On 02/20/2014 12:39 PM, Jakub Jelinek wrote:
> + if (!d->testing_p)
> +{
> + dremap.target = gen_reg_rtx (dremap.vmode);
> + dfinal.op0 = gen_lowpart (dfinal.vmode, dremap.target);
> +}
...
> + if (d->testing_p)
> + d_copy.target = gen_lowpart (V4DFmode, d->target);
On Thu, Feb 20, 2014 at 9:08 PM, Jakub Jelinek wrote:
>> active) with RTL checking, further tested with
>> GCC_TEST_RUN_EXPENSIVE=1 make -j16 -k check
>> RUNTESTFLAGS='--target_board=unix\{-msse2,-msse3,-mssse3,-msse4,-mavx,-mavx2,-mavx512f\}
>> dg-torture.exp=*vshuf*'
>> (on AVX HW, so -mavx2
On Thu, Feb 20, 2014 at 07:39:33PM +0100, Jakub Jelinek wrote:
> active) with RTL checking, further tested with
> GCC_TEST_RUN_EXPENSIVE=1 make -j16 -k check
> RUNTESTFLAGS='--target_board=unix\{-msse2,-msse3,-mssse3,-msse4,-mavx,-mavx2,-mavx512f\}
> dg-torture.exp=*vshuf*'
> (on AVX HW, so -mavx
Hi!
As discussed in the PR, gen_reg_rtx from when init_emit has not been
initialized is highly undesirable. The following patch makes sure that
for d->testing_p we never call gen_reg_rtx (i.e. from within
ix86_vectorize_vec_perm_const_ok) and never try to emit insns.
Bootstrapped/regtested on x8