On Wed, Oct 1, 2014 at 1:38 PM, Jakub Jelinek <ja...@redhat.com> wrote:
>> That doesn't compile, will post a new version; got interrupted when >> I found that in >> GCC_TEST_RUN_EXPENSIVE=1 make check-gcc >> RUNTESTFLAGS='--target_board=unix/-mavx2 dg-torture.exp=vshuf*.c' >> one test is miscompiled even with unpatched compiler, debugging that now. > > Let's start with the bugfix. The || doesn't make any sense, and we really > want to fill in 4 bits (0, 1, 4, 5) of the immediate, not just two, anyway. > valid_perm_using_mode_p (V2TImode, d) should already guarantee that > it is possible to permutate it as V2TI, so all we care about are the > values of d->perm[0] and d->perm[nelt / 2], but we care not just which > lane it is, but also which operand (src1 or src2). > > Tested with > GCC_TEST_RUN_EXPENSIVE=1 make check-gcc > RUNTESTFLAGS='--target_board=unix/-mavx2 dg-torture.exp=vshuf*.c' > Ok for trunk/4.9/4.8? > > 2014-10-01 Jakub Jelinek <ja...@redhat.com> > > PR target/63428 > * config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0] > argument to avx2_permv2ti. > > * gcc.dg/torture/vshuf-4.inc: Move test 122 from EXPTESTS > to test 24 in TESTS. OK. Thanks, Uros.